Comments 18
Интересно было бы почитать про современные CNI-реализации (calico, cilium, flannel, weave).
В планах еще есть статья про работу overlay сети в Swarm
Спасибо за хорошую статью. Отлично, overlay — логичное продолжение.
А нет желания описать что-то, что не влияет на производительность сети (пропускную способность, задержку), что-то типа macvlan или ipvlan? В проде оно всё-таки посимпатичнее смотрится.
Имеете ввиду по сравнению с bridge? Разница не фатальна (стр. 22).
Было бы интересно услышать про недокументированный INPUT в таблице nat, и его особенности
Могу ошибаться т.к. давно не проверял, но по памяти:
После установки докера на хост появлялась цепочка INPUT в nat (до этого не было). Соотв, так как у нее дефолт в ACCEPT, то все правила в INPUT у filter тупо не работают и их приходилось «дублировать». При чем я не говорю о фильтрации чего-то «в контейнерах/namespace-ах». На хосте стоит nginx на 80м порту и надо было отфильтровать что-то.
После установки докера на хост появлялась цепочка INPUT в nat (до этого не было). Соотв, так как у нее дефолт в ACCEPT, то все правила в INPUT у filter тупо не работают и их приходилось «дублировать». При чем я не говорю о фильтрации чего-то «в контейнерах/namespace-ах». На хосте стоит nginx на 80м порту и надо было отфильтровать что-то.
Ну, docker с высокой вероятностью не имеет к этому отношения. INPUT в nat появился как раз после того самого обновления.
Ваша правда. Только что проверил на чистой обесдокеренной виртуалке, в nat присутствует INPUT. Видать упомянутый эффект встречался в более старых ядрах/дистрибутивах. Просто я достаточно сильно уверен что в iptables -t nat -nL -v появлялся INPUT после установки докера.
На самом деле более раздражает описанный эффект с фильтрацией… Но я не готов повторять сейчас эксперимент чтобы проверить…
На самом деле более раздражает описанный эффект с фильтрацией… Но я не готов повторять сейчас эксперимент чтобы проверить…
У себя на продакшен серверах отключаю iptables докера. (--iptables=false)
Иначе — ломало, правила.
А на сервере парой правил — прописываю nat для контейнеров.
Иначе — ломало, правила.
А на сервере парой правил — прописываю nat для контейнеров.
Аналогично, правда связано это было в первую очередь с использованием firewalld
с которым docker
овское управление iptables
дружит не очень. Например, тот же fail2ban
прекрасно умеет работать и с firewalld
и с iptables-rules
(вариант статического файервола, использующего iptables-save
/iptables-restore
).
Можно ли в docker сделать изолированную виртуальную сеть между группой контейнеров как в VirtualBox?
Т.е. чтобы можно было запустить две и более таких групп контейнеров с одинаковыми ip, и соответственно
эти сети друг-другу бы не мешали.
Т.е. чтобы можно было запустить две и более таких групп контейнеров с одинаковыми ip, и соответственно
эти сети друг-другу бы не мешали.
Можно всё, кроме, боюсь, одинаковых ip. Пространство адресов на хосте одно, изоляция происходит на уровне iptables. Но дело в том, что по Docker-way вам и не нужно знать ip адреса контейнеров, ибо есть алиасы.
Проблема как раз в том, что для моего сценария нужно чтобы была возможно иметь одинаковые ip.
Есть разрабатываемая (встраиваемая) система из нескольких узлов, у неё внутри относительно жёстко вшитые ip. Хотелось иметь возможность запускать для тестирования несколько таких систем на одном тестовом стенде.
Сейчас для этого используется vagrant+virtualbox. Хотелось двинуть в сторону docker со всеми его плюшками.
Но вот застряли. И не совсем ясно куда «копать». Возможно ли это принципиально с docker или нет.
Может ли тут помочь Open vSwitch + vlan-ы?
Есть разрабатываемая (встраиваемая) система из нескольких узлов, у неё внутри относительно жёстко вшитые ip. Хотелось иметь возможность запускать для тестирования несколько таких систем на одном тестовом стенде.
Сейчас для этого используется vagrant+virtualbox. Хотелось двинуть в сторону docker со всеми его плюшками.
Но вот застряли. И не совсем ясно куда «копать». Возможно ли это принципиально с docker или нет.
Может ли тут помочь Open vSwitch + vlan-ы?
Sign up to leave a comment.
Сети Docker изнутри: как Docker использует iptables и интерфейсы Linux