类似于端口转发等复杂的规则,不能使用指令去规划管理,那么只能更改配置文件
场景:将192.168.1.1.01:80的流量转移到192.168.1.102:80
内核启用转发
sysctl -w net.ipv4.ip_forward=1
然后在文件/etc/sysctl.conf里面修改参数,以保持永久开启
net.ipv4.ip_forward = 1
ufw修改默认转发政策
vim /etc/default/ufw
DEFAULT_FORWARD_POLICY="ACCEPT"
在ufw规则配置文件增加规则
vim /etc/ufw/before.rules
*nat
-F
-A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.102:80
-A POSTROUTING -p tcp --dport 80 -d 192.168.1.102 -j SNAT --to-source 192.168.1.101
COMMIT
注意:先-F清除表规则的原因是ufw reload重载配置的时候,不会自动清除iptables原有的规则 ,这样会引起其他服务本来在nat表上面的规则清除,需要注意,更为保险的方式是手动使用iptables清除重复规则
重载ufw配置
ufw reload