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:
- 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 对宿主机网络环境的影响, 重点参考
- 终于有人讲明白iptable和docker网络了, 这个讲的没有走forward链,应该是讲错了
- https://forums.docker.com/t/understanding-iptables-rules-added-by-docker/77210
- 容器网络(二)docker容器访问外部网络及对外提供服务
- docker-proxy存在合理性分析
-
https://www.cnblogs.com/double12gzh/p/13347866.html, Docker eth0 和host 上 veth 的对应关系
转载请注明出处 http://www.cnblogs.com/mashuai-191/