打开ubuntu防火墙和mongod.conf后无法远程连接mongodb

use*_*932 1 database ubuntu mongodb

在 Linode 的 ubuntu 20.10 服务器上全新安装 mongodb 时,无法远程连接到 mongodb。

\n
root@localhost:~# sudo ufw status\nStatus: active\n\nTo                         Action      From\n--                         ------      ----\n22                         ALLOW       Anywhere\n27017                      ALLOW       0.0.0.0\n22 (v6)                    ALLOW       Anywhere (v6)\n
Run Code Online (Sandbox Code Playgroud)\n

/etc/mongod.conf

\n
net:\n  port: 27017\n  bindIp: 0.0.0.0\n
Run Code Online (Sandbox Code Playgroud)\n

mongo 服务器已启动并运行

\n
root@localhost:~# sudo service mongod status\n\xe2\x97\x8f mongod.service - MongoDB Database Server\n     Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)\n     Active: active (running) since Sun 2021-04-04 18:34:05 UTC; 19min ago\n       Docs: https://docs.mongodb.org/manual\n   Main PID: 1332 (mongod)\n     Memory: 161.0M\n     CGroup: /system.slice/mongod.service\n             \xe2\x94\x94\xe2\x94\x801332 /usr/bin/mongod --config /etc/mongod.conf\n\nApr 04 18:34:05 localhost systemd[1]: Started MongoDB Database Server.\n
Run Code Online (Sandbox Code Playgroud)\n

运行 mongo 服务器的主机上的 netstat

\n
root@localhost:~# sudo netstat -tulpn\nActive Internet connections (only servers)\nProto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name\ntcp        0      0 0.0.0.0:27017           0.0.0.0:*               LISTEN      1332/mongod\ntcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      640/systemd-resolve\ntcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      817/sshd: /usr/sbin\ntcp6       0      0 :::22                   :::*                    LISTEN      817/sshd: /usr/sbin\nudp        0      0 127.0.0.53:53           0.0.0.0:*                           640/systemd-resolve\n
Run Code Online (Sandbox Code Playgroud)\n

nc -zv IP_ADDRESS 27017超时,所以mongo -u $DB_USERNAME -p $DB_PASSWORD IP_ADDRESS/admin也会超时

\n

nc -zv IP_ADDRESS 22按预期工作

\n

use*_*932 5

sudo ufw allow 27017通过做而不是解决sudo ufw allow from 0.0.0.0 to any port 27017

root@localhost:~# sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
27017                      ALLOW       Anywhere
22 (v6)                    ALLOW       Anywhere (v6)
27017 (v6)                 ALLOW       Anywhere (v6)
Run Code Online (Sandbox Code Playgroud)