MongoDB在Ubuntu上的网络设置指南
MongoDB的网络设置主要通过修改配置文件/etc/mongod.conf实现。使用文本编辑器(如nano)打开文件:
sudo nano /etc/mongod.conf
找到net部分(若不存在则手动添加),修改bindIp参数:
bindIp: 0.0.0.0;bindIp: 192.168.1.100,127.0.0.1(替换为你的服务器IP,保留127.0.0.1以允许本地访问);27017,可根据需求修改):port: 27017。配置修改后,需重启服务使更改生效:
sudo systemctl restart mongod
可通过sudo systemctl status mongod检查服务状态,确保无报错。
若系统安装了ufw(Uncomplicated Firewall),允许MongoDB端口(默认27017)的入站连接:
sudo ufw allow 27017/tcp
sudo ufw reload
可通过sudo ufw status验证规则是否生效。
若使用iptables,添加允许27017端口的规则:
sudo iptables -A INPUT -p tcp --dport 27017 -j ACCEPT
保存规则(Ubuntu 16.04及以上版本):
sudo apt install iptables-persistent
sudo netfilter-persistent save
通过sudo iptables -L -n查看规则。
为防止未授权访问,需启用MongoDB的身份验证:
/etc/mongod.conf中添加或修改security部分:security:
authorization: enabled
sudo systemctl restart mongod。admin数据库为例):mongo
use admin
db.createUser({
user: "admin",
pwd: "yourStrongPassword",
roles: [{ role: "root", db: "admin" }]
})
exit
之后连接MongoDB需使用用户名和密码:mongo --host <服务器IP> --port 27017 -u admin -p yourStrongPassword --authenticationDatabase admin
mongo,若进入shell则说明本地连接正常。mongo --host <服务器IP> --port 27017 -u admin -p yourStrongPassword --authenticationDatabase admin,若成功进入shell则表示远程连接配置成功。0.0.0.0。/etc/mongod.conf中配置SSL加密通信,保护数据传输安全:net:
ssl:
mode: requireSSL
sslPEMKeyFile: /etc/ssl/mongodb.pem # 证书路径
sslCAFile: /etc/ssl/ca.pem # CA证书路径
systemLog:
destination: file
format: JSON
path: /var/log/mongodb/audit.json
mongodump命令定期备份数据,确保数据可恢复。