YggdrasillNetwork Blog

A blogging framework for hackers.

Iptables を利用した NAT Router

NAT 設定追加

内部から外部への通信を NAT する設定

例: 内部 IP アドレスレンジ ( 10.1.0.0/24 ) から外部への通信を NAT する

1
2
# iptables -t nat -F
# iptables -t nat -A POSTROUTING -s 10.1.0.0/24 -j MASQUERADE

外部から内部への通信を NAT する設定

1
2
3
4
5
6
# iptables -t nat -I PREROUTING -d 172.16.1.36 -p tcp -m tcp --dport 1022 -j DNAT --to-destination "10.1.0.10:2442"
# iptables -t nat -I PREROUTING -d 172.16.1.36 -p tcp -m tcp --dport 1122 -j DNAT --to-destination "10.1.0.11:2442"
# iptables -t nat -I PREROUTING -d 172.16.1.36 -p tcp -m tcp --dport 1222 -j DNAT --to-destination "10.1.0.12:2442"
# iptables -t nat -I PREROUTING -d 172.16.1.36 -p tcp -m tcp --dport 1322 -j DNAT --to-destination "10.1.0.13:2442"
# iptables -t nat -I PREROUTING -d 172.16.1.36 -p tcp -m tcp --dport 1422 -j DNAT --to-destination "10.1.0.14:2442"
# iptables -t nat -I PREROUTING -d 172.16.1.36 -p tcp -m tcp --dport 1080 -j DNAT --to-destination "10.1.0.10:80"

NAT 設定削除方法

1. 行番号確認

1
# iptables -t nat -L --line-numbers

2. 行数を指定して削除

1
# iptables -t nat -D PREROUTING 3

iptable 設定保存

1
# service iptables save

/etc/sysconfig/iptables に保存される

パケットフォワード設定

net.ipv4.ip_forward の設定

1
# sysctl -w net.ipv4.ip_forward=1

設定の保存

/etc/sysctl.conf に下記の記述を追加

1
net.ipv4.ip_forward=1

参照 URL