Рейтинг:1

Проблемы между докером и firewalld/iptables

флаг co
dan

Пользователь OpenSUSE 15.3 здесь. Я нарушил правила по умолчанию, созданные докером в iptables, и не могу понять, как это исправить. Я уже пытался переустановить докер. Вот что происходит:

vm-dev:~ # systemctl запустить докер

vm-dev:~ # tail /var/log/messages | grep firewalld
2022-04-21T00:53:25.607359-04:00 vm-dev firewalld[19494]: ПРЕДУПРЕЖДЕНИЕ: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t nat -D ВЫВОД -m addrtype --dst-type ЛОКАЛЬНЫЙ - j DOCKER' не удалось: iptables: Нет цепочки/цели/совпадения по этому имени.
2022-04-21T00:53:25.610567-04:00 vm-dev firewalld[19494]: ПРЕДУПРЕЖДЕНИЕ: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t nat -D PREROUTING' не удалось: iptables: неверное правило (делает правило сопоставления существует в этой цепочке?).
2022-04-21T00:53:25.614009-04:00 vm-dev firewalld[19494]: ПРЕДУПРЕЖДЕНИЕ: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t nat -D OUTPUT' не удалось: iptables: неверное правило (делает правило сопоставления существует в этой цепочке?).
2022-04-21T00:53:25.646315-04:00 vm-dev firewalld[19494]: ПРЕДУПРЕЖДЕНИЕ: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t filter -F DOCKER-ISOLATION' не удалось: iptables: нет цепочки/ target/match по этому имени.
2022-04-21T00:53:25.649905-04:00 vm-dev firewalld[19494]: ПРЕДУПРЕЖДЕНИЕ: COMMAND_FAILED: '/usr/sbin/iptables -w10 -t filter -X DOCKER-ISOLATION' не удалось: iptables: нет цепи/ target/match по этому имени.
2022-04-21T00:53:25.705446-04:00 vm-dev firewalld[19494]: ПРЕДУПРЕЖДЕНИЕ: COMMAND_FAILED: '/usr/sbin/iptables -w10 -D FORWARD -i docker0 -o docker0 -j DROP' не удалось: iptables : Плохое правило (существует ли в этой цепочке соответствующее правило?).
2022-04-21T00:53:25.890988-04:00 vm-dev firewalld[19494]: ПРЕДУПРЕЖДЕНИЕ: COMMAND_FAILED: '/usr/sbin/iptables -w10 -D FORWARD -i docker0 -o docker0 -j DROP' не удалось: iptables : Плохое правило (существует ли в этой цепочке соответствующее правило?).

Затем, каждый раз, когда я делаю брандмауэр-cmd --перезагрузить, Я получил:

2022-04-21T00:53:35.536326-04:00 vm-dev firewalld[19494]: ПРЕДУПРЕЖДЕНИЕ: COMMAND_FAILED: '/usr/sbin/iptables -w10 -D FORWARD -i docker0 -o docker0 -j DROP' не удалось: iptables : Плохое правило (существует ли в этой цепочке соответствующее правило?).

Вот дополнительная информация из комментариев:

vm-dev:~ # iptables -t nat --list
Цепь PREROUTING (политика ПРИНЯТЬ)
целевая защита выбор источника назначения
DOCKER all -- везде где ADDRTYPE соответствует dst-type LOCAL

Сеть INPUT (политика ACCEPT)
целевая защита выбор источника назначения

Цепочка OUTPUT (политика ACCEPT)
целевая защита выбор источника назначения
DOCKER all -- везде !127.0.0.0/8 ADDRTYPE соответствует dst-type LOCAL

Сеть POSTROUTING (правило ACCEPT)
целевая защита выбор источника назначения
MASQUERADE all -- 172.17.0.0/16 где угодно

Сеть DOCKER (2 ссылки)
целевая защита выбор источника назначения
RETURN all -- в любом месте в любом месте

Некоторая дополнительная информация, запрошенная @4snok:

vm-dev:~ # найти /etc/firewalld/ -name "*.xml"
/etc/firewalld/lockdown-whitelist.xml
/etc/firewalld/зоны/public.xml
/etc/firewalld/zones/trusted.xml
/etc/firewalld/зоны/docker.xml

vm-dev:~ # cat /etc/firewalld/zones/docker.xml
<?xml версия="1.0" кодировка="utf-8"?>
<версия зоны="1.0" цель="ПРИНЯТЬ">
  <short>докер</short>
  <description>зона для сетевых интерфейсов docker bridge</description>
  <имя интерфейса="docker0"/>
</зона>

В настоящее время у меня нет докера. На самом деле я удалил докер, удалил /var/библиотека/докер полностью, потом переустановил и ошибки все равно присутствуют. докер0 интерфейс находится в докер зона в брандмауэр. Я не вижу там ничего особенного. Что мне нужно сделать, чтобы исправить эти ошибки? Любая помощь будет оценена по достоинству.

Stephan Pieterse avatar
флаг ca
Из первой ошибки у вас цепочка в iptables называется DOCKER? `iptables -t nat --list` должен показывать его при запуске с `sudo`. Если его там нет, вы можете попробовать добавить его с помощью `iptables -t nat -N DOCKER` и повторить попытку.
dan avatar
флаг co
dan
@StephanPieterse `DOCKER` есть, я добавил вывод в основной пост.
флаг co
Какие неудачи вы испытываете? Это предупреждения, и я задаюсь вопросом, не является ли предупреждение слишком чрезмерным для этого сообщения журнала. Информация, вероятно, будет более подходящей.
dan avatar
флаг co
dan
Предупреждений не было после новой установки. Однако я не испытываю никаких сбоев, просто предупреждения в журналах, которые отслеживаются Nagios...
4snok avatar
флаг es
Флаги D F и X удаляют правила. По сути, докер пытается удалить несуществующие правила :)
dan avatar
флаг co
dan
@ 4snok это когда запускается служба докера или всякий раз, когда перезагружается брандмауэр. Что мне нужно отредактировать в firewalld, чтобы он не пытался удалить правило при перезагрузке?
4snok avatar
флаг es
проверьте этот файл /etc/firewalld/direct.xml, он должен содержать правила вашей проблемы.
4snok avatar
флаг es
если это сервер разработки, вы можете удалить этот файл и переустановить докер
dan avatar
флаг co
dan
@4snok Я отредактировал исходное сообщение, указав содержимое /etc/firewalld/, direct.xml отсутствует. Я также пытался удалить docker.xml, но это тоже не помогло.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.