Edited at

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 マスカレード)