Ubuntu下MongoDB的网络配置怎么设置
导读:Ubuntu 下 MongoDB 网络配置实操指南 一 核心配置文件与关键参数 配置文件路径:使用包管理器安装时默认位于 /etc/mongod.conf。常用网络段如下: 端口:net.port: 27017 绑定地址:net.bin...
Ubuntu 下 MongoDB 网络配置实操指南
一 核心配置文件与关键参数
- 配置文件路径:使用包管理器安装时默认位于 /etc/mongod.conf。常用网络段如下:
- 端口:net.port: 27017
- 绑定地址:net.bindIp(默认 127.0.0.1,仅本地;可填多个以逗号分隔;也可使用 net.bindIpAll: true 监听所有地址,注意 bindIp 与 bindIpAll 互斥)
- 最大并发连接数:net.maxIncomingConnections(默认 65536)
- 压缩:net.compression.compressors(默认 snappy,zstd,zlib)
- TLS:net.tls.mode / certificateKeyFile / CAFile(MongoDB 4.2+ 使用 tls 系列选项)
- 示例(仅本地):
- net:
- port: 27017
- bindIp: 127.0.0.1
- net:
- 示例(监听所有地址,生产慎用):
- net:
- port: 27017
- bindIpAll: true
- net:
- 修改后通过服务重启生效:sudo systemctl restart mongod。以上参数与默认值、互斥关系及用途见官方配置说明与社区资料。
二 允许远程访问的完整步骤
- 步骤 1 调整防火墙
- UFW(推荐):
- 允许端口:sudo ufw allow 27017/tcp
- 启用:sudo ufw enable
- 查看状态:sudo ufw status
- 云服务器需同时配置云厂商安全组放行 TCP 27017。
- UFW(推荐):
- 步骤 2 修改 MongoDB 绑定地址
- 编辑配置:sudo nano /etc/mongod.conf
- 将 bindIp: 127.0.0.1 改为服务器可路由 IP(如 192.168.1.10),或按需添加多个地址;若需监听所有地址可用 bindIpAll: true(生产慎用)。
- 重启服务:sudo systemctl restart mongod
- 步骤 3 验证监听与连通
- 本机监听检查:sudo netstat -tulpen | grep 27017(应看到 0.0.0.0:27017 或指定 IP:27017)
- 远程连通测试(在受信任机器):nc -zv < 服务器IP> 27017(成功会提示 succeeded)
- 步骤 4 启用身份验证(强烈建议)
- 在配置中开启:security.authorization: enabled
- 重启:sudo systemctl restart mongod
- 连接测试(示例):mongosh “mongodb://admin:YourSecurePassword@< 服务器IP> :27017/admin?authSource=admin”
- 说明:bindIp 填写的是 MongoDB 所在服务器的 IP,不是客户端 IP;远程放行的是客户端 IP 到服务器 27017/tcp 的流量。
三 安全与最佳实践
- 最小暴露面:优先仅内网访问;如必须公网,务必启用 TLS/SSL(net.tls 系列)并限制来源 IP。
- 禁用不安全协议:在 net.tls.disabledProtocols 中禁用 TLS1_0/TLS1_1 等弱协议。
- 访问控制:开启 authorization,为应用与运维创建最小权限账户;避免使用 bindIpAll: true 暴露到公网。
- 日志与监控:关注 /var/log/mongodb/mongod.log 中的连接与认证错误,定期审计与加固。
四 常见问题与快速排查
- 服务无法启动:检查 /var/log/mongodb/mongod.log 的语法或端口占用;修正配置后 sudo systemctl restart mongod。
- 远程连不通:确认云安全组与 UFW 已放行 27017/tcp;确认 bindIp 包含服务器可路由 IP 或使用 bindIpAll: true;用 netstat 与 nc 验证监听与连通。
- 认证失败:确认已开启 security.authorization 并使用正确凭据与 authSource 连接字符串。
- 监听地址误解:bindIp 填服务器 IP,不是客户端 IP;如需多地址,用逗号分隔多个条目。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu下MongoDB的网络配置怎么设置
本文地址: https://pptw.com/jishu/757828.html
