首页主机资讯MongoDB在Debian上的网络配置怎么弄

MongoDB在Debian上的网络配置怎么弄

时间2025-12-15 10:30:03发布访客分类主机资讯浏览507
导读:MongoDB 在 Debian 的网络配置实操 一 核心配置文件与关键参数 配置文件路径:/etc/mongod.conf(YAML 格式)。 网络相关常用参数: net.port:监听端口,默认 27017。 net.bindIp:...

MongoDB 在 Debian 的网络配置实操

一 核心配置文件与关键参数

  • 配置文件路径:/etc/mongod.conf(YAML 格式)。
  • 网络相关常用参数:
    • net.port:监听端口,默认 27017
    • net.bindIp:绑定的 IP 地址,默认只监听 127.0.0.1;如需远程访问,可改为内网地址(如 192.168.1.10)或 0.0.0.0(监听所有地址,生产慎用)。也可绑定多个地址:127.0.0.1,192.168.1.10
    • 可选:net.ssl.mode / net.ssl.PEMKeyFile / net.ssl.CAFile 用于启用 TLS/SSL 加密传输。

二 允许远程访问的标准步骤

  1. 编辑配置文件
    • 打开:sudo nano /etc/mongod.conf
    • 修改网络段,例如仅内网访问:
      net:
        port: 27017
        bindIp: 127.0.0.1,192.168.1.10
      
      如需临时全网监听(不推荐生产):bindIp: 0.0.0.0
  2. 重启服务使配置生效
    • sudo systemctl restart mongod
    • 确认状态:sudo systemctl status mongod
  3. 防火墙放行端口
    • UFW:sudo ufw allow 27017
    • 或 nftables/iptables:放行 27017/tcp
  4. 客户端连通性测试
    • 本机:mongosh --host 127.0.0.1 --port 27017
    • 远程:mongosh --host < 服务器IP> --port 27017
    • 端口探测:telnet < 服务器IP> 27017nc -vz < 服务器IP> 27017

三 安全加固必做项

  • 启用身份验证
    • 配置:security.authorization: enabled
    • 重启:sudo systemctl restart mongod
    • 创建管理员(示例):
      use admin
      db.createUser({
      
        user: "admin",
        pwd: "YourStrongP@ssw0rd",
        roles: [ {
       role: "root", db: "admin" }
       ]
      }
          )
      
  • 限制绑定与访问控制
    • 生产环境建议仅绑定内网 bindIp,并配合防火墙仅放行受信网段。
  • 加密传输
    • 生成证书(示例):
      openssl req -newkey rsa:2048 -new -x509 -days 365 -nodes \
        -out mongodb-cert.crt -keyout mongodb-cert.key
      cat mongodb-cert.key mongodb-cert.crt >
       mongodb.pem
      
    • 配置:
      net:
        ssl:
          mode: requireSSL
          PEMKeyFile: /path/to/mongodb.pem
          CAFile: /path/to/ca.pem
      
  • 其他
    • 保持 MongoDB 与 Debian 的及时更新;按需开启审计日志与监控。

四 副本集的网络配置要点

  • 所有节点需互相可达,并在配置中声明 replSetName 与各节点的 host:port
  • 示例(/etc/mongod.conf):
    replication:
      replSetName: rs0
    net:
      port: 27017
      bindIp: 192.168.1.10,192.168.1.11,192.168.1.12
    
  • 初始化(在主节点 mongosh 中):
    rs.initiate({
    
      _id: "rs0",
      members: [
        {
     _id: 0, host: "192.168.1.10:27017" }
    ,
        {
     _id: 1, host: "192.168.1.11:27017" }
    ,
        {
     _id: 2, host: "192.168.1.12:27017" }
    
      ]
    }
        )
    
  • 验证:rs.status()

五 常见问题快速排查

  • 服务未运行:查看状态与日志
    • sudo systemctl status mongod
    • tail -f /var/log/mongodb/mongod.log
  • 只本地可连:检查 bindIp 是否包含服务器内网 IP,且未被注释。
  • 端口不通:确认防火墙放行 27017/tcp,并用 telnet/nc 测试连通性。
  • 启用了认证仍无法登录:确认已创建用户、使用正确的认证库与凭据连接。

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


若转载请注明出处: MongoDB在Debian上的网络配置怎么弄
本文地址: https://pptw.com/jishu/771423.html
Debian HBase如何进行故障恢复 Linux copendir函数如何避免内存泄漏

游客 回复需填写必要信息