FirewallD, iptables, Docker

 

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:

  1. https://blog.csdn.net/weixin_40228200/article/details/121761845
  2. https://www.computernetworkingnotes.com/linux-tutorials/firewalld-rich-rules-explained-with-examples.html
  3. https://blog.csdn.net/hakula007/article/details/106892609
  4. https://www.linuxprobe.com/centos-firewalld.html
  5. https://blog.csdn.net/daocaokafei/article/details/115091313, iptables
  6. https://www.zsythink.net/archives/1199
  7. 理解 Docker 网络(一) -- Docker 对宿主机网络环境的影响, 重点参考
  8. 终于有人讲明白iptable和docker网络了, 这个讲的没有走forward链,应该是讲错了
  9. https://forums.docker.com/t/understanding-iptables-rules-added-by-docker/77210
  10. 容器网络(二)docker容器访问外部网络及对外提供服务
  11. docker-proxy存在合理性分析
  12.  https://www.cnblogs.com/double12gzh/p/13347866.html, Docker eth0 和host 上 veth 的对应关系
     
posted @ 2022-04-20 16:51  mashuai_191  阅读(253)  评论(0编辑  收藏  举报