@Scorpiored88

Как разрешить соединения к Mongo DB с опредеоенных IP?

Всем доброго!
Пытаюсь разрешить уделенное подключения к MongoDB, через iptables на debian 9, но как то без успешно :(
Делаю это в первый раз, и не могу понять что не так, помогите пожалуйста.
Mongo работает на порту 27017, сначало я разрешил соединения в обе стороны:

iptables -A INPUT -s MYIP_RANGE.0/24 -p tcp --destination-port 27017 -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT -d MYIP_RANGE.0/24 -p tcp --source-port 27017 -m state --state ESTABLISHED -j ACCEPT

И запретил на вход для всех остальных:

iptables -A INPUT -p tcp --destination-port 27017 -j DROP


Вот вывод команды
iptables -L


Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  MYIP_RANGE.0/24     anywhere             tcp dpt:27017 state NEW,ESTABLISHED
DROP       tcp  --  anywhere             anywhere             tcp dpt:27017

Chain FORWARD (policy DROP)
target     prot opt source               destination         
DOCKER-USER  all  --  anywhere             anywhere            
DOCKER-ISOLATION-STAGE-1  all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
DOCKER     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             MYIP_RANGE.0/24     tcp spt:27017 state ESTABLISHED

Chain DOCKER (1 references)
target     prot opt source               destination         

Chain DOCKER-ISOLATION-STAGE-1 (1 references)
target     prot opt source               destination         
DOCKER-ISOLATION-STAGE-2  all  --  anywhere             anywhere            
RETURN     all  --  anywhere             anywhere            

Chain DOCKER-ISOLATION-STAGE-2 (1 references)
target     prot opt source               destination         
DROP       all  --  anywhere             anywhere            
RETURN     all  --  anywhere             anywhere            

Chain DOCKER-USER (1 references)
target     prot opt source               destination         
RETURN     all  --  anywhere             anywhere


В результате блокировка не работает, подскажите пожалуйста, что не так ?
  • Вопрос задан
  • 234 просмотра
Пригласить эксперта
Ответы на вопрос 1
@q2digger
никого не трогаю, починяю примус
Судя по цепочкам докера - монгодб крутится в докере?
используйте цепочку DOCKER-USER, например

iptables -I 1 DOCKER-USER -i eth0 -s your-network/24 -p tcp -m conntrack --ctorigdstport 27017 -j ACCEPT
iptables -I 2 DOCKER-USER -i eth0 -p tcp -m conntrack --ctorigdstport 27017 -j DROP


Я тут их инсерчу в строку 1 и строку 2 , чтобы последнее правило в цепочке (RETURN) осталось последним, ну и название интерфейса сетевого тоже свое подставьте..

Мануал с примерами:
https://docs.docker.com/network/iptables/
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы