Добрый день,
Я пытаюсь переместить базу данных mongodb, чтобы отделить VPS от приложения, но VPS был предварительно настроен не мной. У меня есть экземпляр с запущенным mongodb на порту 27017:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mongod 2073 mongodb 11u IPv4 6155 0t0 TCP localhost:27017 (LISTEN)
Я настроил брандмауэр ufw, который открывает 27017 для всех (пока):
To Action From
-- ------ ----
22 ALLOW IN Anywhere
27017/tcp ALLOW IN Anywhere
22 ALLOW IN Anywhere (v6)
27017/tcp ALLOW IN Anywhere (v6)
Anywhere ALLOW OUT 27017/tcp
Anywhere (v6) ALLOW OUT 27017/tcp
Но забавно то, что тогда я делаю 'nmap -p 27017 --IP--', он показывает мне это:
Note: Host seems down. If it is really up, but blocking our ping probes, try -Pn
если запустить 'nmap -p 27017 --IP-- -Pn':
PORT STATE SERVICE
27017/tcp closed unknown
И, конечно, я не могу подключиться к mongodb с помощью tcp 27017, но я могу подключиться по ssh или через ssh. Если я выключу брандмауэр с помощью (ufw disable), состояние порта изменится на фильтрованный и я все еще не могу его использовать.
Похоже, что вторичный брандмауэр управляет портом 27017, но я не могу найти, как его отключить. Я озадачен, у кого-нибудь есть подсказка?
вот полный список правил iptables: https://gist.github.com/skatkov/b0d1173de5f319f2872d
Ваш вывод ясно показывает, что mongod
слушает только на localhost. Если вы хотите установить к нему удаленные подключения, вы должны указать ему, чтобы он прослушивал подключения с удаленных хостов.
В mongodb.conf
у тебя есть:
bind_ip = 127.0.0.1
Удалите это или замените на что-нибудь более подходящее.