環境說明:Cloud1中的GE0/0/1、GE0/0/3、GE0/0/5接口,分別與Centos7中的eth1、eth2、eth3接口橋接到同一虛擬網卡,R1,R2,R3均配置一條靜態默認路由指向Centos7,R1配置環回接口lo2(ip為12.12.12.12)、lo3(ip為13.13.13.13),Centos7配置到lo2、lo3的靜態路由
1.實現SNAT
需求:收到源IP為20.20.20.20且從接口eth1出的數據包,修改數據包中的源IP為eth1出口的IP地址10.10.10.1
iptables -t nat -I POSTROUTING -s 20.20.20.0/24 -o eth1 -j SNAT --to-source 10.10.10.1
2.實現DNAT
需求:訪問目的IP為30.30.30.1且從接口eth3進的數據包,修改數據包中的目的IP為10.10.10.10
iptables -t nat -I PREROUTING -d 30.30.30.1 -i eth3 -j DNAT --to-destination 10.10.10.10
3.實現端口映射
需求1:訪問目的IP為30.30.30.1,目的端口為8022,且從接口eth3進的數據包,修改數據包中的目的IP為12.12.12.12,目的端口為22
iptables -t nat -I PREROUTING -d 30.30.30.1 -p tcp --dport 8022 -i eth3 -j DNAT --to-destination 12.12.12.12:22
需求2:訪問目的IP為30.30.30.1,目的端口為8023,且從接口eth3進的數據包,修改數據包中的目的IP為13.13.13.13,目的端口為23
iptables -t nat -I PREROUTING -d 30.30.30.1 -p tcp --dport 8023 -i eth3 -j DNAT --to-destination 13.13.13.13:23