Назад | Перейти на главную страницу

Брандмауэр удаленного сервера блокирует удаленный сервер mongodb

У меня есть сервер Ubuntu, который пытается подключиться к удаленному серверу MongoDB. Когда я пытаюсь подключиться к удаленному серверу MongoDB с помощью следующего метода:

mongo -u user -p pass yourdb.com:27017

Он возвращает следующую ошибку:

2018-06-04T20:41:36.667-0400 W NETWORK  [thread1] Failed to connect 
to 35.170.208.181:27017 after 5000ms milliseconds, giving up.
2018-06-04T20:41:36.667-0400 E QUERY    [thread1] Error: couldn't 
connect to server yourdb.com:27017, connection attempt failed :
connect@src/mongo/shell/mongo.js:251:13
@(connect):1:6
exception: connect failed

BindIP в /etc/mongod.conf установлен в 0.0.0.0

net:
 port: 27017
 bindIp: 0.0.0.0

Когда я использую sudo iptables -L -n | grep 27017, Я получаю следующий результат:

ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp 
dpt:27017

ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp 
spt:27017 state ESTABLISHED

Я могу получить доступ к удаленной базе данных с других серверов и моего собственного локального компьютера, поэтому кажется, что брандмауэр на этом компьютере не настроен должным образом.

На удаленном сервере MongoDB открыты порты групп безопасности для взаимодействия с этим сервером, так что это тоже не проблема.

Мы много часов искали ресурсы, поэтому нуждались в помощи. Спасибо!

РЕДАКТИРОВАТЬ

Пытался использовать telnet для тестирования удаленного экземпляра mongo с экземпляра сервера, и он отвечает:

telnet: Unable to connect to remote host: Connection timed out

Если есть сомнения в том, открыто ли это TCP-соединение на порту 27017, самое время использовать утилиту TCPDUMP. Это позволяет вам видеть фактический трафик, чтобы увидеть, завершилось ли рукопожатие TCP или нет.

Используйте синтаксис вроде tcpdump -ni eth0 port 27017

Предполагая, что вы можете подключиться к серверу через другие порты, либо маршрутизатор / брандмауэр сбрасывает трафик где-то посередине, либо сервер неправильно обрабатывает ответ. TCPDUMP помогает объяснить это, и вы можете сосредоточиться на файлах журнала или других возможных причинах.