Назад | Перейти на главную страницу

Правильно управлять правилами iptables на хосте Docker

Я использую Gentoo и Docker. У меня есть несколько собственных правил iptables, и я храню их в / var / lib / iptables / rules-save. Докер при запуске добавляет кучу собственных правил. Кажется, что iptables автоматически сохраняет каждый раз при сохранении правил, однако я думал, что этот файл действует как /etc/iptables/rules.v4 из пакета iptables-persistent ubuntu.

У меня вопрос, как правильно управлять всеми правилами? Безопасно ли загружать ранее сохраненные правила докера перед запуском докера? Если докер решил изменить какие-то правила, этого не произойдет при такой настройке?

Когда я добавляю новое правило, я делаю это вручную с помощью iptables -I, затем редактирую / var / lib / iptables / rules-save и тоже добавляю туда. Я думаю, что просто добавить правило и перезагрузить все правила из этого файла небезопасно из-за докера. Мне нужно добавить правило в цепочку DOCKER-ISOLATION и убедиться, что это правило существует ПЕРЕД любыми правилами DOCKER-ISOLATION, добавленными докером, даже если докер перезапускается.

Пожалуйста, посоветуйте, как безопасно управлять правилами iptables с помощью docker.

По моему опыту, вам следует полностью игнорировать докер в большинстве ситуаций.

Он с радостью настроит ваши правила iptables в соответствии со своими потребностями, и вам не нужно никоим образом подстраиваться под них.

Я использую докер в системах, где брандмауэр управляется:

  • Shorewall
  • Firewalld
  • я, вручную

И во всех случаях у меня нет ничего для docker, даже цепочки DOCKER-ISOLATION - docker обычно ставит это на место при запуске.

Если вам действительно нужно вносить изменения в брандмауэр на лету, я согласен с тем, что перезагрузка из вашего сохраненного файла правил может быть не лучшим способом.

Вероятно, вам следует вручную добавить правило (например, iptables -A) и отредактировать файл правил, но не выполнять восстановление из этого файла правила.

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