iptables を使った IP Masquerade の設定例です。
OS | VineLinux 2.5 |
kernel | Linux 2.5.15 |
以下のオプションを有効にしてカーネルの再構築をした。
/etc/sysctl.conf の中の net.ipv4.ip_forward を 1 にした。
---- /etc/sysctl.conf ----
net.ipv4.ip_forward = 1
eth0 がインターネット側のインターフェースで eth1 が LAN 側。LAN 内のネットワークは 192.168.0.0/24 とした。IP Masquerade をするための iptables の設定。
# iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
さらに外部 (eth0, eth1) からの 5680 番ポート (canna) への接続を禁止するためにポートを閉じる。
# iptables -A INPUT -i eth -p tcp --dport 5680 -j DROP
IM のために特定のポート (6891-6900) を内部のマシンにポートフォワーディングする。
# iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 6891:6900 -j DNAT --to 192.168.0.2
特定のホスト(www.redout.net)に出て行くパケットをフィルタリングする。
# iptables -t nat -A PREROUTING -d www.redout.net -j DROP
特定のポート(TCP 8080)に出て行くパケットをフィルタリングする。
# iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DROP
LAN 内の特定のマシン(192.168.0.100)から外部の特定のポートへのパケットをフィルタリングする。
# iptables -t nat -A PREROUTING -p tcp -s 192.168.0.100 --dport 3128 -j DROP
LAN 内のマシン(192.168.0.100)からの HTTP サーバへのパケットを 8080 番ポートへリダイレクトする(透過プロキシ)。
# iptables -t nat -A PREROUTING -p tcp -s 192.168.0.100 --dport 80 -j REDIRECT --to-port 8080
iptables の設定を保存する。このコマンドを実行すると現在の iptables の設定が /etc/sysconfig/iptables に書き込まれる。
# /sbin/service iptables save