2015-02-26 3 views
0

Я пытаюсь контролировать, будут ли пакеты, пересекающие мост, который я установил в моем контейнере Docker, отправляются в iptables для обработки с использованием следующая команда:Не удается установить net.bridge.bridge-nf-call-iptables в контейнере Docker

sysctl -w net.bridge.bridge-nf-call-iptables="1" 

к сожалению, это не работает:

sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-iptables: No such file or directory 

оказывается, что нет/Proc/SYS/сеть/каталог мост в моем контейнере Докер, несмотря на каталог существующий на моей главной машине. Эта же команда работает при запуске на главной машине. Я проверил, и насколько мне известно, все правильные модули установлены на главной машине и появляются в контейнере Docker.

Google был бесполезен, поэтому мне интересно, видел ли кто-нибудь еще эту проблему и/или имеет решение?

ответ

0

Когда вы запускаете докер, попробуйте сопоставить каталог через. Если только проблема хосты каталога нужен в контейнере Docker, попробуйте:

docker run -v /proc/sys/net/bridge:/proc/sys/net/bridge ... 

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

2

Нет смысла запускать команду внутри контейнера. Он активирует фильтрацию трафика моста с помощью iptables. Это полезно, если вы хотите отфильтровать трафик между контейнерами докеров с помощью iptables. Поэтому он должен быть запущен на хосте.

Также вы пытаетесь изменить конфигурацию ядра, но контейнеры не имеют собственного ядра. Таким образом, в любом случае, sysctl ничего не изменит.

Смежные вопросы