在iptables中配置NAT(網絡地址轉換)主要涉及兩種類型的NAT:源地址NAT(SNAT)和目的地址NAT(DNAT)。以下是配置NAT的基本步驟:
SNAT用于將內部網絡的私有IP地址轉換為公共IP地址,以便內部主機可以訪問外部網絡。
假設內部網絡為192.168.1.0/24
,公共IP地址為202.100.100.100
。
# 清除現有的SNAT規則
iptables -t nat -D POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source 202.100.100.100
# 添加新的SNAT規則
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source 202.100.100.100
DNAT用于將外部網絡的流量重定向到內部網絡的特定主機。
假設外部IP地址為202.100.100.100
,內部IP地址為192.168.1.10
,端口為80
。
# 清除現有的DNAT規則
iptables -t nat -D PREROUTING -d 202.100.100.100 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.10:80
# 添加新的DNAT規則
iptables -t nat -A PREROUTING -d 202.100.100.100 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.10:80
為了使NAT生效,需要在系統上啟用IP轉發。
# 編輯sysctl配置文件
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
# 應用配置
sysctl -p
為了確保重啟后規則仍然有效,需要保存iptables規則。
iptables-save > /etc/iptables/rules.v4
service iptables save
通過以上步驟,你可以在iptables中配置基本的NAT規則。根據具體需求,可能需要進一步調整和優化規則。