Redhat Firewall


firewalld 是之前 iptables 的前端。命令更好用

FirewallD 将配置储存在 /usr/lib/firewalld/ 和 /etc/firewalld/ 中的各种 XML 文件

Zone
firewall-cmd --get-active-zones

firewall-cmd --zone=internal --list-all
firewall-cmd --zone public --add-port 90/tcp


Service:
sudo firewall-cmd --get-services

端口转发 

将 IP 地址为 :123.456.78.9 的远程服务器上 80 端口的流量转发到 8080 上。
sudo firewall-cmd --zone="public" --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=123.456.78.9

要将端口转发到另外一台服务器上,在需要的区域中激活 masquerade。

sudo firewall-cmd --zone=public --add-masquerade

 Direct (高级应用)

底层就是iptables, 是一种另加灵活,细粒度的规则,比rich 规则还rich.

重要提醒:direct规则优于rich规则执行,二者不建议混用

要查看添加到 FirewallD 的所有自定义链或规则:

firewall-cmd --direct --get-all-chains
firewall-cmd --direct --get-all-rules



iptables原理图

 

ref:

https://blog.csdn.net/weixin_40228200/article/details/121761845

https://www.computernetworkingnotes.com/linux-tutorials/firewalld-rich-rules-explained-with-examples.html

https://blog.csdn.net/hakula007/article/details/106892609

https://www.linuxprobe.com/centos-firewalld.html

https://blog.csdn.net/daocaokafei/article/details/115091313, iptables

https://www.zsythink.net/archives/1199

理解 Docker 网络(一) -- Docker 对宿主机网络环境的影响