1. 修改MongoDB配置文件
MongoDB的网络设置主要通过/etc/mongod.conf配置文件调整。使用文本编辑器(如nano)打开文件:
sudo nano /etc/mongod.conf
找到net部分,修改bindIp参数:
- 若允许所有IP连接,设置为
0.0.0.0(不推荐生产环境使用,存在安全风险); - 若仅允许特定IP连接,设置为该IP地址(如
192.168.1.100)。
同时确认port参数(默认27017,可根据需求更改)。示例配置:
net:
port: 27017
bindIp: 0.0.0.0 # 允许所有IP连接(生产环境建议替换为具体IP)
保存并关闭文件(Ctrl+X→Y→Enter)。
2. 重启MongoDB服务
修改配置文件后,需重启服务使更改生效:
sudo systemctl restart mongod
可通过以下命令检查服务状态,确认是否启动成功:
sudo systemctl status mongod
若状态显示active (running),则表示服务正常运行。
3. 配置防火墙规则
若服务器启用了防火墙(如ufw),需允许MongoDB端口(默认27017)的流量:
sudo ufw allow 27017/tcp # 允许所有IP访问27017端口
sudo ufw reload # 重新加载防火墙规则
若需限制仅特定IP访问,可使用更严格的规则(如192.168.1.100):
sudo ufw allow from 192.168.1.100 to any port 27017/tcp
对于iptables用户,可执行:
sudo iptables -A INPUT -p tcp --dport 27017 -j ACCEPT
4. 启用认证机制(生产环境必做)
为防止未授权访问,需启用MongoDB的认证功能。编辑/etc/mongod.conf,添加或修改security部分:
security:
authorization: enabled # 开启用户认证
保存后重启MongoDB服务:
sudo systemctl restart mongod
使用mongo shell连接到数据库(默认本地连接无需密码),切换至admin数据库并创建管理员用户:
use admin
db.createUser({
user: "admin",
pwd: "yourStrongPassword", // 设置强密码
roles: [{ role: "root", db: "admin" }] // 授予root权限
})
退出shell(exit)。
5. 测试远程连接(可选)
若需从远程客户端连接,可使用以下命令(替换your_server_ip、app_user、app_password为实际值):
mongo --host your_server_ip --port 27017 -u app_user -p app_password --authenticationDatabase admin
若连接成功,说明网络设置已完成。
6. 生产环境额外安全建议
- 限制访问IP:避免使用
0.0.0.0,仅允许可信IP连接(如应用服务器IP)。 - 启用SSL/TLS:通过
mongod.conf的ssl部分配置加密通信,保护数据传输安全。 - 定期更新:保持MongoDB和系统版本最新,修复安全漏洞。
- 监控日志:查看
/var/log/mongodb/mongod.log,及时发现异常连接或错误。
以上就是关于“MongoDB在Ubuntu上的网络如何设置”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm