MongoDB在Ubuntu上如何配置网络连接
1. 修改MongoDB配置文件(核心网络设置)
Ubuntu上MongoDB的网络配置主要通过/etc/mongod.conf文件调整。使用文本编辑器(如nano)打开该文件:
sudo nano /etc/mongod.conf
找到net部分(若不存在则手动添加),修改bindIp参数以指定允许连接的IP地址:
- 允许所有IP连接(不推荐生产环境):
bindIp: 0.0.0.0; - 允许特定IP连接(如本地+远程IP):
bindIp: 127.0.0.1,192.168.1.100(逗号分隔多个IP); - 仅允许本地连接(默认安全设置):
bindIp: 127.0.0.1。
同时可调整port参数修改监听端口(默认27017):
net:
bindIp: 127.0.0.1,192.168.1.100 # 允许本地及指定远程IP
port: 27017 # 保持默认端口或修改为其他端口
保存并关闭文件(nano中按Ctrl+O保存,Ctrl+X退出)。
2. 重启MongoDB服务使配置生效
修改配置文件后,需重启MongoDB服务:
sudo systemctl restart mongod
可通过以下命令验证服务状态(显示active (running)则表示成功):
sudo systemctl status mongod
3. 配置防火墙允许MongoDB端口访问
若系统启用了ufw防火墙,需添加规则允许MongoDB端口的入站连接:
sudo ufw allow 27017/tcp # 允许所有IP访问27017端口
若需限制仅特定IP访问(如192.168.1.50),可使用更严格的规则:
sudo ufw allow from 192.168.1.50 to any port 27017/tcp # 仅允许192.168.1.50访问
添加规则后,重新加载ufw以应用更改:
sudo ufw reload
验证防火墙规则:
sudo ufw status numbered # 查看规则列表
4. 启用MongoDB认证(提升网络安全性)
为防止未授权访问,需启用MongoDB的身份验证机制:
编辑/etc/mongod.conf文件,找到security部分,设置authorization为enabled:
security:
authorization: enabled # 启用认证
保存文件并重启MongoDB服务:
sudo systemctl restart mongod
创建管理员用户(以admin为例):
mongo # 进入MongoDB shell
use admin # 切换到admin数据库
db.createUser({
user: "admin",
pwd: "yourStrongPassword", # 设置强密码
roles: [{
role: "root", db: "admin" }
] # 授予root权限
}
)
exit() # 退出shell
此后,连接MongoDB需提供用户名和密码(如mongo -u admin -p yourStrongPassword --authenticationDatabase admin)。
5. (可选)配置SSL/TLS加密通信(高级安全)
若需加密MongoDB与客户端之间的通信,需配置SSL/TLS:
- 生成或获取SSL证书(如
mongodb.pem)和私钥文件(如ca.pem); - 编辑
/etc/mongod.conf文件,在net.ssl部分添加以下配置:
net:
ssl:
mode: requireSSL # 强制使用SSL
pemKeyFile: /etc/ssl/mongodb.pem # 证书文件路径
caFile: /etc/ssl/ca.pem # CA证书路径
保存文件并重启MongoDB服务:
sudo systemctl restart mongod
此后,客户端连接需指定SSL参数(如mongo --ssl --sslCAFile /etc/ssl/ca.pem --sslPEMKeyFile /etc/ssl/mongodb.pem -u admin -p --authenticationDatabase admin)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: MongoDB在Ubuntu上如何配置网络连接
本文地址: https://pptw.com/jishu/738220.html
