iptablesでMASQUERADEやDNATを設定する例

IPマスカレード

セキュリティなど細かいことを気にしない環境なら、以下の例のようにシンプルにLinuxマシンをNAT機能付きのルータにできる。
次の例は、192.168.118.0/24からのパケットをマスカレード(パケットのソースIPをこのマシンのように見せかけて転送)する。これは、プライベートアドレスをもつマシンから外部へ通信する場合に役立つことが多い。以下のコマンドを図のRouter machineで実行する。
# iptables -t nat -A POSTROUTING -s 192.168.118.0/24 -j MASQUERADE 


外部からのアクセス

逆に外部から192.168.118.0/24にあるマシンにアクセスしたい場合は、DNATを利用する。 以下はRouter machineの8022ポートへのパケットを192.168.118.10の22ポートに転送する例。
# iptables -t nat -A PREROUTING -p tcp --dport 8022 -j DNAT --to-destination 192.168.118.10:22


注意事項

ただし、上記の他にも、そもそもIPのルーティングが許可されていなければならない。 必要に応じて、下記の設定も行う。
# echo 1 > /proc/sys/net/ipv4/ip_forward

0 件のコメント: