mongodb在centos上的网络设置
导读:MongoDB在CentOS上的网络设置指南 1. 前提准备 确保系统已安装CentOS 7及以上版本,具备root用户权限,并已完成MongoDB基础安装(可通过sudo yum install -y mongodb-org安装官方仓库及...
MongoDB在CentOS上的网络设置指南
1. 前提准备
确保系统已安装CentOS 7及以上版本,具备root用户权限,并已完成MongoDB基础安装(可通过sudo yum install -y mongodb-org安装官方仓库及软件包)。
2. 修改MongoDB绑定IP(核心网络配置)
MongoDB默认仅监听本地回环接口(127.0.0.1),需修改配置文件调整绑定IP以允许网络访问:
- 打开MongoDB配置文件:
sudo vi /etc/mongod.conf - 找到
netsection,修改bindIp参数:- 允许所有IP访问(测试环境快速验证,生产环境不推荐):
bindIp: 0.0.0.0 - 仅允许特定IP访问(生产环境推荐,如本地+服务器IP):
bindIp: 127.0.0.1,192.168.1.100(替换为实际IP)
- 允许所有IP访问(测试环境快速验证,生产环境不推荐):
- 保存文件后,重启MongoDB服务使配置生效:
sudo systemctl restart mongod。
3. 配置防火墙放行端口
CentOS默认启用firewalld防火墙,需开放MongoDB默认端口(27017)以允许外部连接:
- 添加永久规则:
sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent - 重新加载防火墙配置:
sudo firewall-cmd --reload - 验证端口是否开放:
sudo firewall-cmd --list-ports(应包含27017)。
4. (可选但强烈推荐)启用MongoDB身份验证
为防止未授权访问,需创建用户并启用认证:
- 连接到MongoDB shell:
mongo - 切换至
admin数据库并创建管理员用户(拥有最高权限):use admin db.createUser({ user: "admin", pwd: "StrongPassword123!", // 使用强密码 roles: [{ role: "root", db: "admin" } ] } ) - 切换至目标数据库(如
testdb)并创建应用用户(按需分配权限):use testdb db.createUser({ user: "app_user", pwd: "AppPassword456!", roles: [{ role: "readWrite", db: "testdb" } ] } ) - 退出shell:
exit - 修改配置文件启用认证:在
securitysection添加authorization: enabled - 重启MongoDB服务:
sudo systemctl restart mongod。
5. 验证网络配置
- 本地连接测试:
mongo --host 127.0.0.1 --port 27017(无认证则直接进入shell;有认证则需添加-u admin -p StrongPassword123!--authenticationDatabase admin) - 远程连接测试(从另一台机器):
mongo --host 服务器IP --port 27017 -u app_user -p AppPassword456!--authenticationDatabase testdb - 服务状态检查:
sudo systemctl status mongod(应显示“active (running)”)。
6. 生产环境额外建议
- 限制绑定IP:避免使用
0.0.0.0,仅开放必要的IP地址(如应用服务器IP)。 - 使用强密码:避免使用简单密码,定期更换密码。
- 启用TLS/SSL:通过配置
net.sslsection加密数据传输(需提前申请证书)。 - 监控端口流量:使用
netstat -tuln | grep 27017或ss -tuln | grep 27017查看连接状态,及时发现异常连接。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: mongodb在centos上的网络设置
本文地址: https://pptw.com/jishu/734586.html
