NAT не работает в контейнере

Следуя инструкциям, я установил docker на Ubuntu 13.04 (и ядро ​​12.04 + 3.8), вытащил базовый контейнер и запустил внутри него оболочку. Он получил частный IP-адрес и может пропинговать свой шлюз по умолчанию, но не может подключиться ни к какому внешнему хосту, поэтому apt-get для меня не подходит.

У меня есть "net.ipv4.conf.all.forwarding = 1" в моем sysctl и у меня есть правила POSTROUTING в таблице iptables / nat.

Установщик докера забыл добавить некоторые правила или я что-то упустил?

2
задан 29 May 2013 в 10:45

1 ответ

Есть ли у вас правило MASQUERADE?

Можете ли вы попробовать запустить демон с docker -d -b testbr0 и повторить попытку?

Это создаст новый мост и настроит для него все правила iptables. .

Если это работает, это, вероятно, означает, что в какой-то момент произошло iptables -t nat -F и правила nat для докера были потеряны. Вы можете либо воссоздать их вручную, либо, что проще, удалить Docker Bridge и перезапустить Docker:)

0
ответ дан 29 May 2013 в 10:45

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

Похожие вопросы: