首页主机资讯Ubuntu下MongoDB的网络配置怎么设置

Ubuntu下MongoDB的网络配置怎么设置

时间2025-11-27 13:26:04发布访客分类主机资讯浏览1384
导读: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:
      • port: 27017
      • bindIpAll: true
  • 修改后通过服务重启生效:sudo systemctl restart mongod。以上参数与默认值、互斥关系及用途见官方配置说明与社区资料。

二 允许远程访问的完整步骤

  • 步骤 1 调整防火墙
    • UFW(推荐):
      • 允许端口:sudo ufw allow 27017/tcp
      • 启用:sudo ufw enable
      • 查看状态:sudo ufw status
    • 云服务器需同时配置云厂商安全组放行 TCP 27017
  • 步骤 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;用 netstatnc 验证监听与连通。
  • 认证失败:确认已开启 security.authorization 并使用正确凭据与 authSource 连接字符串。
  • 监听地址误解:bindIp 填服务器 IP,不是客户端 IP;如需多地址,用逗号分隔多个条目。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu下MongoDB的网络配置怎么设置
本文地址: https://pptw.com/jishu/757828.html
Linux syslog有哪些常见错误 Ubuntu中MongoDB的索引如何创建和管理

游客 回复需填写必要信息