Ubuntu

Ubuntu の ufw で NAT サーバを作る

More than 1 year has passed since last update.

Ubuntu では ufw という「簡単に iptables を扱えるようにラップしたツール」が入っていて、iptables を使ってよくやることはおよそ ufw で設定することができる。

今回は ufw を使って Ubuntu が NAT1 サーバとして動くように設定したのでその手順をメモしておく。

NAT の設定

OS は Ubuntu 16.04 でやった。

SSH を許可する

ufw を有効にした際に SSH が拒否されるとログインできなくなってしまうので許可しておく。

# ufw allow ssh

フォワーディングを許可する

/etc/default/ufw
DEFAULT_FORWARD_POLICY="ACCEPT"
/etc/ufw/sysctl.conf
net/ipv4/ip_forward=1

ルーティングの方法を定義する

/etc/ufw/before.rules
*nat
:POSTROUTING ACCEPT [0:0]
:PREROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.0.0.0/16 -j MASQUERADE
COMMIT

NIC が複数ある場合は -o eth0 のように指定する。

ufw を有効にする

# ufw enable

Amazon VPC の場合にやること

  • プライベートサブネットのルートテーブルを設定する
    • デフォルトルート 0.0.0.0/0 が NAT インスタンスに飛ぶようにする
  • NAT インスタンスの設定で「送信元/送信先の変更チェック」を無効にする

  1. 正確には NAPT (IP マスカレード)