1、启用IP转发
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p #命令生效
2、修改网卡的zone
firewall-cmd --permanent --zone=external --change-interface=ens33(出口网卡)
3、设置IP地址伪装(SNAT)
firewall-cmd --zone=external --add-masquerade --permanent
firewall-cmd --permanent --zone=external --add-rich-rule=‘rule family=ipv4 source address=192.168.2.0/24 masquerade’ 将source为192.168.2.0网段来的数据包伪装成external(即ens33)的地址
firewall-cmd --zone=drop --add-rich-rule="rule family=ipv4 source address=192.168.2.0/24 forward-port port=80 protocol=tcp to-port=22 to-addr=192.168.2.208"将来自192.168.2.0/24网段访问本地80端口的流量转发到192.168.2.208主机的22端口
4、重载Firewall使配置生效
firewall-cmd --reload
5、端口映射(DNAT
将访问本机1122端口映射到192.168.2.3上
firewall-cmd --zone=external --add-forward-port=port=1122:proto=tcp:toport=22:toaddr=192.168.2.3 --permanent
firewall-cmd --reload
注:或者设置NAT规则也可实现
firewall-cmd --permanent --direct --passthrough ipv4 -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 192.168.1.10
firewall-cmd --permanent --direct --passthrough ipv4 -t nat -I POSTROUTING -o enoxxxxxx -j MASQUERADE -s 192.168.1.0/24
注意enoxxxxxx对应外网网口名称。