Как разрешить доступ к MongoDB, которая находится в Docker'е, только определенным ip адресам?

Всем доброго вечера.
Суть моей проблемы: монго в докер контейнере стоит на отдельном сервере. Мне нужно разрешить только определенным айпи коннектиться к 27017-му порту монги. С настройкой Iptables у меня совсем туго, пытался настроить по гайду с офф сайта монги, но ничего не вышло, соединение было доступно с любого айпи, видимо мне не удалось переопределить установки докера, которые по дефолту раскрывают порты "всему миру".
Заранее спасибо.
  • Вопрос задан
  • 772 просмотра
Пригласить эксперта
Ответы на вопрос 3
Tyranron
@Tyranron
Через iptables и делается. Все правильно пробовали.
Осталось только чуть больше исследовать тему. Вам нужно использовать FORWARD chain, а не INPUT, а INPUT только если Вы делаете --network=host.
Эта статья должна прояснить ситуацию:
tomasre.com/2016/03/07/securing-coreos-with-iptables
Ответ написан
Комментировать
@TakiLazy
Попробуй так:
/sbin/iptables -I FORWARD 1 -s xxx.xxx.xxx.xxx -p tcp --dport 27017 -j ACCEPT
/sbin/iptables -I FORWARD 2 ! -s 172.16.0.0/12 -p tcp --dport 27017 -j DROP

Только это нужно выполнять после старта сервиса докера иначе эти правила окажутся внизу. Ну и после рестарта сервиса тоже нужно их обновлять, эту часть пока не победил.
Ответ написан
Комментировать
@Visteras
Любознателен, интересуюсь новым и старым :)
Вам "не удалось" перебороть настройки не докера, а того же iptables, только таблицы не filter а nat.
Соответственно и копать нужно туда. Докер просто использует те же самые правила что и вы.
Но - я не знаю что будет если вы их поменяете а потом перезапустите контейнер например. Вполне возможно что ничего хорошего.
Сам подобным вопросом недавно интересовался, но не доразбирался можно ли так сделать. Так что если решите данную проблему - отпишитесь пожалуйста как вы это сделали. Тоже интересно :)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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