温馨提示×

MongoDB在Ubuntu上的网络设置如何

小樊
43
2025-10-21 02:01:09
栏目: 云计算

MongoDB在Ubuntu上的网络设置指南

1. 修改MongoDB配置文件(核心步骤)

MongoDB的网络设置主要通过修改配置文件/etc/mongod.conf实现。使用文本编辑器(如nano)打开文件:

sudo nano /etc/mongod.conf 

找到net部分(若不存在则手动添加),修改bindIp参数:

  • 允许所有IP连接(不推荐生产环境):bindIp: 0.0.0.0
  • 允许特定IP连接(推荐):bindIp: 192.168.1.100,127.0.0.1(替换为你的服务器IP,保留127.0.0.1以允许本地访问);
  • 设置端口(默认27017,可根据需求修改):port: 27017
    修改完成后保存并关闭文件。

2. 重启MongoDB服务

配置修改后,需重启服务使更改生效:

sudo systemctl restart mongod 

可通过sudo systemctl status mongod检查服务状态,确保无报错。

3. 配置防火墙(关键安全措施)

使用UFW(推荐)

若系统安装了ufw(Uncomplicated Firewall),允许MongoDB端口(默认27017)的入站连接:

sudo ufw allow 27017/tcp sudo ufw reload 

可通过sudo ufw status验证规则是否生效。

使用iptables(备选)

若使用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查看规则。

4. 启用认证(必做安全步骤)

为防止未授权访问,需启用MongoDB的身份验证:

  • /etc/mongod.conf中添加或修改security部分:
    security: authorization: enabled 
  • 重启MongoDB服务: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 

5. 验证连接

  • 本地连接:在服务器上运行mongo,若进入shell则说明本地连接正常。
  • 远程连接:在另一台机器上运行mongo --host <服务器IP> --port 27017 -u admin -p yourStrongPassword --authenticationDatabase admin,若成功进入shell则表示远程连接配置成功。

6. 高级安全建议(可选但推荐)

  • 限制bindIp:仅绑定必要的IP地址(如服务器IP+运维机器IP),避免使用0.0.0.0
  • 启用SSL/TLS:在/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命令定期备份数据,确保数据可恢复。

0