温馨提示×

Ubuntu上MongoDB的网络配置指南

小樊
51
2025-10-08 05:47:44
栏目: 云计算

Ubuntu上MongoDB网络配置指南

一、准备工作

在开始配置前,请确保已完成以下步骤:

  1. 安装MongoDB:若未安装,可通过以下命令安装最新稳定版:
    sudo apt update
    sudo apt install -y mongodb-org
    
  2. 启动MongoDB服务:安装完成后,启动服务并设置开机自启:
    sudo systemctl start mongod
    sudo systemctl enable mongod
    

以上步骤确保MongoDB处于运行状态,为后续网络配置奠定基础。

二、修改网络绑定配置(核心步骤)

MongoDB的网络绑定设置决定了其监听的IP地址,直接影响远程访问能力。需编辑核心配置文件/etc/mongod.conf

  1. 打开配置文件:使用文本编辑器(如nano)修改配置文件:
    sudo nano /etc/mongod.conf
    
  2. 定位net模块:在配置文件中找到net部分(通常位于文件中下部),修改bindIp参数:
    • 允许本地连接(默认)bindIp: 127.0.0.1(仅本地主机可访问,安全性最高,适用于开发环境)。
    • 允许特定IP连接bindIp: 192.168.1.100(替换为你的服务器公网/内网IP,仅该IP可访问,适用于生产环境限制访问场景)。
    • 允许所有IP连接(谨慎使用)bindIp: 0.0.0.0(所有IP均可连接,需配合强安全措施,适用于需要远程访问的生产环境)。
    • 允许多个IP连接bindIp: 127.0.0.1,192.168.1.100(同时允许本地和指定IP访问,兼顾开发与远程需求)。
  3. 保存并退出:若使用nano,按Ctrl+XYEnter确认保存。

三、重启MongoDB服务

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

sudo systemctl restart mongod

可通过以下命令验证服务状态:

sudo systemctl status mongod

若显示“active (running)”,则表示服务已成功重启。

四、配置防火墙(关键安全步骤)

Ubuntu默认使用ufw(Uncomplicated Firewall)管理防火墙规则,需允许MongoDB的默认端口(27017)通过:

  1. 允许端口访问
    sudo ufw allow 27017/tcp
    
  2. 限制访问来源(可选但推荐):若仅允许特定IP访问MongoDB,可细化规则:
    sudo ufw allow from 192.168.1.100 to any port 27017/tcp
    
  3. 重新加载防火墙
    sudo ufw reload
    
  4. 验证规则
    sudo ufw status
    
    确认输出中包含“ALLOW 27017/tcp”或指定IP的规则。

五、启用认证(提升安全性必选)

默认情况下,MongoDB未启用认证,任何能连接到服务器的用户均可访问数据库。需通过以下步骤启用:

  1. 修改配置文件:在/etc/mongod.confsecurity部分添加或修改以下内容:
    security:
      authorization: enabled
    
  2. 重启MongoDB服务
    sudo systemctl restart mongod
    
  3. 创建管理员用户:连接MongoDB shell,切换至admin数据库并创建管理员账号(以admin为例):
    mongo
    use admin
    db.createUser({
      user: "admin",
      pwd: "YourSecurePassword123!",
      roles: [{ role: "root", db: "admin" }]
    })
    exit
    
    注:“YourSecurePassword123!”需替换为强密码(包含大小写字母、数字和特殊字符)。

六、验证远程连接(可选)

若需从远程机器访问MongoDB,可使用以下命令测试(替换your_server_ip为服务器IP,admin为创建的用户名):

mongo --host your_server_ip --port 27017 -u admin -p YourSecurePassword123 --authenticationDatabase admin

若成功进入MongoDB shell(显示“>”),则表示配置生效。

七、额外安全建议(生产环境必备)

  1. 限制bindIp范围:避免使用0.0.0.0,仅绑定服务器实际使用的IP地址(如公网IP或内网IP)。
  2. 使用SSL/TLS加密:在net部分添加SSL配置(需提前获取证书),防止数据传输被窃取:
    net:
      ssl:
        mode: requireSSL
        PEMKeyFile: /path/to/your/certificate.pem
        CAFile: /path/to/your/ca.pem
    
  3. 定期更新MongoDB:通过sudo apt update && sudo apt upgrade mongodb-org保持版本最新,修复安全漏洞。

0