RHEL7/Centos7端口转发

firewall-cmd对于大多数开发运维人员还是相对陌生,对于特殊端口映射的问题,相信大家还是比较迷茫,特别是对于rich-rule网上也没有几个好例子参考,只有官网给出来几个Example。

先说说需求吧:我们要做对于特定的IP(192.168.1.1)访问本机80端口时,转发到另一台主机(192.168.1.1)的特定端口80,看了很多文章也没有用的上的,最后只能直接看firewall的文档。。。查到映射的规则如下:

firewall-cmd --permanent --add-rich-rule 'rule family=ipv4 source address=192.168.1.1 forward-port port=80 protocol=tcp to-port=80 to-addr=192.168.1.2'


但是只是这个规则完全没有起作用,牵扯到 to-addr时必须得有双网卡,如果没有必须开启masquerade,

firewall-cmd --permanent --add-masquerade
firewall-cmd --permanent --add-rich-rule 'rule family=ipv4 source address=192.168.1.1 forward-port port=80 protocol=tcp to-port=80 to-addr=192.168.1.2'

两步之后大功告成。


最后,还有对于特定IP访问本地特定端口时,转到另一个端口命令如下,这个命令则无需开masquerade。

firewall-cmd --permanent --add-rich-rule 'rule family=ipv4 source address=192.168.1.1 forward-port port=80 protocol=tcp to-port=90'


删除富规则相信大家都知道,上面命令中add改为remove即可

你可能感兴趣的:(Linux)