IP Masquerade (iptables)

iptables を使った IP Masquerade の設定例です。


環境

OS VineLinux 2.5
kernel Linux 2.5.15

設定例

カーネルの再構築

以下のオプションを有効にしてカーネルの再構築をした。

sysctl.conf の設定

/etc/sysctl.conf の中の net.ipv4.ip_forward を 1 にした。

---- /etc/sysctl.conf ----
net.ipv4.ip_forward = 1

iptables の設定

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

Valid XHTML 1.0 Strict Valid XHTML 1.0 Strict

戻る