Невозможно установить net.bridge.bridge-nf-call-iptables в контейнере Docker

Я пытаюсь контролировать, будут ли пакеты, проходящие через мост, которые я настроил в моем контейнере Docker, отправляться в iptables для обработки с помощью следующей команды:

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

Похоже, что в моем контейнере Docker нет каталога /proc/sys/net/bridge, несмотря на то, что каталог существует на моем хост-компьютере. Эта же команда работает при запуске на хост-машине. Я проверил, и, насколько мне известно, все правильные модули установлены на хост-машине и отображаются в контейнере Docker.

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

3 ответа

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

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

В "/proc/sys/net/" нет каталога "мост"

Вы должны включить br_netfilter, чтобы получить этот каталог:

    modprobe br_netfilter

команда создает каталог br_netfilter.

Затем включите параметр net.bridge.bridge-nf-call-iptables:

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

Вы пытались запустить свой контейнер как привилегированный?

docker run --privileged -device=/proc/sys/net/bridge:/proc/sys/net/bridge

См. http://docs-stage.docker.com/v1.11/engine/reference/run/

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

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

Для iptables может потребоваться сопоставить больше вещей, но это поможет пройти через этот каталог!

Другие вопросы по тегам