B
B
BannedOnStackoverflow2017-01-19 20:45:07
MongoDB
BannedOnStackoverflow, 2017-01-19 20:45:07

How to allow access to MongoDB, which is in Docker'e, only to certain ip addresses?

Good evening everyone.
The essence of my problem: mongo in a docker container is on a separate server. I need to allow only certain IPs to connect to the mongi port 27017. It’s very difficult for me to set up Iptables, I tried to set up mongi from the off site guide, but it didn’t work, the connection was available from any IP, apparently I couldn’t override the docker settings, which by default open ports to the “whole world”.
Thanks in advance.

Answer the question

In order to leave comments, you need to log in

3 answer(s)
T
Tyranron, 2017-01-19
@Tyranron

Через iptables и делается. Все правильно пробовали.
Осталось только чуть больше исследовать тему. Вам нужно использовать FORWARD chain, а не INPUT, а INPUT только если Вы делаете --network=host.
Эта статья должна прояснить ситуацию:
tomasre.com/2016/03/07/securing-coreos-with-iptables

T
Taki Lazy, 2017-01-20
@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

Только это нужно выполнять после старта сервиса докера иначе эти правила окажутся внизу. Ну и после рестарта сервиса тоже нужно их обновлять, эту часть пока не победил.

Анатолий Евладов, 2017-01-19
@Visteras

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

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question