温馨提示×

CentOS MongoDB网络设置有哪些要点

小樊
36
2025-11-01 13:13:18
栏目: 云计算

CentOS MongoDB网络设置要点

1. 绑定IP地址(bindIp)

bindIp是MongoDB网络配置的核心参数,用于指定服务监听的网络接口。默认情况下,MongoDB仅绑定到127.0.0.1(仅本地访问),若需远程访问需修改此参数:

  • 允许所有接口访问:将bindIp设置为0.0.0.0(适用于测试环境,但存在安全风险,不建议生产环境使用);
  • 限制特定IP访问:指定具体IP地址(如192.168.1.100,10.0.0.5),仅允许这些IP连接MongoDB(生产环境推荐)。
    修改路径:/etc/mongod.confnet section),修改后需重启服务生效。

2. 防火墙配置

CentOS默认使用firewalld管理防火墙,需开放MongoDB默认端口27017以允许外部连接:

  • 开放端口:执行firewall-cmd --permanent --zone=public --add-port=27017/tcp--permanent表示永久生效);
  • 重载防火墙:执行firewall-cmd --reload使规则生效;
  • 验证规则:通过firewall-cmd --list-all查看ports部分,确认27017/tcp已添加。
    若需限制特定IP访问,可使用rich rulefirewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="27017" accept'

3. 安全配置

为防止未授权访问,需启用MongoDB的身份验证机制:

  • 创建管理员用户:以--auth模式启动MongoDB(sudo systemctl stop mongod && sudo mongod --auth),然后进入shell执行:
    use admin;
    db.createUser({ user: "admin", pwd: "strong_password", roles: ["userAdminAnyDatabase", "readWriteAnyDatabase"] });
    
  • 启用认证:修改/etc/mongod.conf,在security section添加authorization: enabled,重启服务使配置生效。
    此外,建议使用SSL/TLS加密客户端与服务器之间的通信(配置net.ssl.mode: requireSSL及证书路径)。

4. 端口设置

MongoDB默认使用27017端口,可通过修改/etc/mongod.conf中的net.port参数调整端口(如port: 27018)。修改后需重启服务生效。注意:避免使用默认端口可降低被扫描攻击的风险。

5. 服务状态验证

配置完成后,需验证MongoDB网络服务是否正常:

  • 检查监听状态:使用ss -tuln | grep 27017netstat -tuln | grep 27017,确认MongoDB正在监听指定IP和端口;
  • 测试远程连接:从另一台机器使用mongo --host <server_ip> --port 27017 -u admin -p strong_password --authenticationDatabase admin命令连接,验证网络可达性。

0