首先需要开启伪装IP的功能。
firewall-cmd --query-masquerade # 检查是否允许伪装IP firewall-cmd --add-masquerade # 允许防火墙伪装IP firewall-cmd --remove-masquerade# 禁止防火墙伪装IP
这是在网上找到的。实际使用中,我采用的命令是:
firewall-cmd --zone=public --add-masquerade --permanent
增加了–permanent参数,才不会重启失效。
端口转发可以将指定地址访问指定的端口时,将流量转发至指定地址的指定端口。转发的目的如果不指定 ip 的话就默认为本机,如果指定了 ip 却没指定端口,则默认使用来源端口。
firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080 # 将80端口的流量转发至8080 firewall-cmd --add-forward-port=port=80:proto=tcp:toaddr=192.168.1.0.1 # 将80端口的流量转发至192.168.0.1 firewall-cmd --add-forward-port=port=80:proto=tcp:toaddr=192.168.0.1:toport=8080 # 将80端口的流量转发至192.168.0.1的8080端口
可以看到转发参数分别是port(端口)、proto(协议)、toaddr(目的IP)、toport(目的端口),每个参数之间用英文冒号分隔。
要删除之前设置的转发规则,把以上命令中的–add-forward-port改为–remove-forward-port运行一次即可。
因为我目前没有多IP的服务器,没办法测试是否有addr这个参数。
同样,如果要使转发规则永久有效,要在命令最后面加上–permanent参数。
最新评论