MongoDB 在 Ubuntu 的网络配置注意事项
一 绑定地址与端口
- 配置文件路径为 /etc/mongod.conf,网络段使用 net 配置。默认仅本地监听,需显式设置 bindIp 才允许远程访问。示例:仅本地访问用 127.0.0.1;允许多个来源可写成 bindIp: 127.0.0.1,192.168.1.10;开放全部来源用 0.0.0.0(务必配合认证与防火墙)。端口默认为 27017,如变更需同步客户端与防火墙规则。修改后执行 sudo systemctl restart mongod 生效。
二 防火墙与安全组
- Ubuntu 常用 ufw 或 iptables 放行 27017/tcp。示例:ufw 执行 sudo ufw allow 27017/tcp 并 sudo ufw enable;iptables 执行 sudo iptables -A INPUT -p tcp --dport 27017 -j ACCEPT,并使用 iptables-persistent 持久化。云服务器还需在云平台安全组放通 27017/tcp,否则外网仍无法访问。
三 加密传输与认证
- 建议启用 SSL/TLS 加密通信,示例配置:net.ssl.mode 设为 requireSSL,并指定 PEMKeyFile 与 CAFile;生产环境将 sslAllowInvalidCertificates 设为 false。同时开启认证:在 security 段设置 authorization: enabled,创建管理员用户(如 root 或 userAdminAnyDatabase),重启服务后用带认证的 URI 连接,例如:mongosh “mongodb://admin:YourSecurePassword@服务器IP:27017/admin?authSource=admin”。
四 监听验证与常见排错
- 使用 sudo netstat -tuln | grep 27017 检查是否仅在你期望的地址上监听;若仅本地可连而远程被拒,优先排查 bindIp、ufw/iptables 与云安全组是否放行。查看 /var/log/mongodb/mongod.log 定位启动失败、绑定失败或认证错误;远程连接测试可用 mongosh --host --port 27017 或带认证的管理库连接串。配置文件修改前建议备份 /etc/mongod.conf,变更后使用 sudo systemctl status mongod 确认运行状态。
五 安全加固清单
- 优先采用“最小暴露面”:如无公网需求,保持 bindIp: 127.0.0.1;必须远程时仅放通必要来源 IP。始终开启 authorization,并配合 TLS 加密。通过 ufw/iptables 限制来源网段与端口,云上同步配置安全组。定期备份(如 mongodump)、监控(如 mongostat/mongotop),并审计关键操作与异常登录。