LoginSignup
12
18

More than 3 years have passed since last update.

Ubuntu の ufw で NAT サーバを作る

Last updated at Posted at 2017-10-31

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

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

NAT の設定

OS は Ubuntu 18.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]
-F
-A POSTROUTING -s 10.0.0.0/16 -j MASQUERADE
COMMIT

-F があると ufw reload を複数回やっても NAT 設定が重複しなくなる。

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

ufw を有効にする

# ufw enable

ちゃんと設定されているか確認する

# iptables -t nat -nL

AWS の場合

  • プライベートサブネットのルートテーブルを設定する
    • デフォルトルート 0.0.0.0/0 が NAT インスタンスに飛ぶようにする
  • NAT インスタンスはパブリックサブネットに立てる
  • NAT インスタンスは t2.nano でも問題ない
  • NAT インスタンスの設定で「送信元/送信先の変更チェック」を無効にする

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

12
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
18