У меня есть сервер CentOS 7, который успешно работал более 600 дней, пока не был недавно перезагружен, после чего входящие веб-запросы получали коды ошибок HTTP523 (Origin Is Unreachable) (через 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
на форуме CentOSfirewall-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