我有一个 CentOS 7 服务器,它运行了 600 多天,直到它最近重新启动,之后传入的 Web 请求收到 HTTP523(源不可访问)错误代码(通过 Cloudflare,如果这有什么不同?)除非我停止firewalld
服务。没有 ,事情运行良好firewalld
,但我宁愿不要让它禁用!
我尝试以各种顺序停止docker
和重新启动它们,但除非我停止,否则会发生相同的错误。firewalld
523
firewalld
/var/log/firewalld
包含一些可能有帮助的警告:
WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -D FORWARD -i br-8acb606a3b50 -o br-8acb606a3b50 -j DROP' failed: iptables: Bad rule (does a matching rule exist in that chain?).
WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -D FORWARD -i docker0 -o docker0 -j DROP' failed: iptables: Bad rule (does a matching rule exist in that chain?).
WARNING: AllowZoneDrifting is enabled. This is considered a n insecure configuration option. It will be removed in a future release. Please consider disabling it now.
WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t nat -D PREROUTING -m addrtype --dst-type LOCAL -j DOCKER' failed: iptables v1.4.21: Couldn't load target 'DOCKER':No such file or directory
WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t nat -D PREROUTING' failed: iptables: Bad rule (does a matching rule exist in that chain?).
WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t nat -D OUTPUT' failed: iptables: Bad rule (does a matching rule exist in that chain?)
WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t nat -F DOCKER' failed: iptables: No chain/target/match by that name.
关于所需的任何手动配置/命令,我在该地方发现了看似相互矛盾的建议:
firewall-cmd --permanent --zone=trusted --add-interface=docker0
在 CentOS 论坛上firewall-cmd --zone=trusted --remove-interface=docker0 --permanent
在官方的 Docker 文档上——这肯定与上述相反吗?- 一堆
firewall-cmd
关于 Docker github 问题的手动命令——当然所有这些都不是必需的? - 这个看起来很有希望-
nmcli
和NetworkManager
firewall-cmd --permanent --zone=trusted --change-interface=docker0
我不完全了解br-8acb606a3b50
接口的来源,或者我是否需要做任何事情来配置它以及docker0
是否使用上述解决方案4.
?在重新启动之前,它多年来一直自动运行良好!
现在是否需要一些魔法firewalld
咒语(为什么?!)或者有什么方法可以让系统恢复到重新启动之前的正确自动/默认配置?
$ docker -v
Docker version 20.10.5, build 55c4c88
$ firewall-cmd --version
0.6.3
$ firewall-cmd --get-zones
block dmz docker drop external home internal public trusted work