温馨提示×

MongoDB配置中的bindIp如何设置

小樊
34
2025-12-09 13:30:22
栏目: 云计算

MongoDB 配置 bindIp 的设置指南

一、核心概念与默认值

  • bindIp 用于指定 mongod/mongos 监听的网络接口地址。默认仅监听 127.0.0.1(本地回环),如需远程访问,需要将其改为服务器网卡 IP 或通配地址。常见取值:
    • 127.0.0.1:仅本机访问
    • 服务器内网 IP(如:192.168.1.100):仅内网访问
    • 0.0.0.0:监听所有 IPv4 地址(慎用)
    • :::监听所有 IPv6 地址
    • 0.0.0.0,:::同时监听所有 IPv4 与 IPv6
  • 配置文件通常为 /etc/mongod.conf(Linux),Windows 常见在 C:\Program Files\MongoDB\Server<版本>\bin\mongod.cfg。修改后需重启服务生效。

二、常见配置写法

  • 绑定到内网单 IP(推荐)
    net:
      port: 27017
      bindIp: 192.168.1.100
    
  • 同时监听本机与内网(多地址用逗号分隔)
    net:
      port: 27017
      bindIp: 127.0.0.1,192.168.1.100
    
  • 监听所有地址(IPv4 与 IPv6)
    net:
      port: 27017
      bindIp: 0.0.0.0,::
    
  • 使用主机名(需在 /etc/hosts 或 DNS 可解析)
    # /etc/hosts
    192.168.1.200  solang
    
    # mongod.conf
    net:
      port: 27017
      bindIp: solang
    
  • 使用子网 CIDR(MongoDB 7.x 支持)
    net:
      port: 27017
      bindIp: 127.0.0.1,192.168.3.0/24
    
  • 使用 bindIpAll 允许所有地址(与 bindIp 互斥)
    net:
      port: 27017
      bindIpAll: true
    
  • 注意:net.bindIpnet.bindIpAll 互斥,二者只能选其一。

三、操作步骤与验证

  • 编辑配置文件
    • Linux:sudo nano /etc/mongod.conf
    • Windows:编辑 C:\Program Files\MongoDB\Server<版本>\bin\mongod.cfg
  • 修改 net 段为所需 bindIp(或启用 bindIpAll
  • 重启服务
    • Linux:sudo systemctl restart mongod
    • Windows:以管理员身份重启 MongoDB 服务(或重启命令行)
  • 验证监听
    • Linux:ss -ltnp | grep 27017 或 netstat -tulpen | grep 27017
    • 远程连接测试:mongo --host <服务器IP或主机名> --port 27017
  • 若连接失败,检查服务器与云平台安全组/防火墙是否放行 27017 端口。

四、安全与网络建议

  • 生产环境避免 bindIp: 0.0.0.0bindIpAll: true,优先只绑定 内网 IP;必要时配合 TLS/SSL 加密传输。
  • 启用访问控制:在配置中开启认证
    security:
      authorization: "enabled"
    
    重启后使用具备权限的账号连接。
  • 防火墙与云安全组:仅放通必要来源 IP 与端口 27017;云上实例通过安全组入站规则限制来源网段。

0