CentOS MongoDB网络设置要点
bindIp是MongoDB网络配置的核心参数,用于指定服务监听的网络接口。默认情况下,MongoDB仅绑定到127.0.0.1(仅本地访问),若需远程访问需修改此参数:
bindIp设置为0.0.0.0(适用于测试环境,但存在安全风险,不建议生产环境使用);192.168.1.100,10.0.0.5),仅允许这些IP连接MongoDB(生产环境推荐)。/etc/mongod.conf(net section),修改后需重启服务生效。CentOS默认使用firewalld管理防火墙,需开放MongoDB默认端口27017以允许外部连接:
firewall-cmd --permanent --zone=public --add-port=27017/tcp(--permanent表示永久生效);firewall-cmd --reload使规则生效;firewall-cmd --list-all查看ports部分,确认27017/tcp已添加。rich rule:firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="27017" accept'。为防止未授权访问,需启用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,重启服务使配置生效。net.ssl.mode: requireSSL及证书路径)。MongoDB默认使用27017端口,可通过修改/etc/mongod.conf中的net.port参数调整端口(如port: 27018)。修改后需重启服务生效。注意:避免使用默认端口可降低被扫描攻击的风险。
配置完成后,需验证MongoDB网络服务是否正常:
ss -tuln | grep 27017或netstat -tuln | grep 27017,确认MongoDB正在监听指定IP和端口;mongo --host <server_ip> --port 27017 -u admin -p strong_password --authenticationDatabase admin命令连接,验证网络可达性。