debian

MongoDB网络如何配置

小樊
52
2025-09-23 22:26:13
栏目: 云计算

MongoDB网络配置指南
MongoDB的网络配置主要围绕IP绑定端口设置访问控制防火墙配合展开,以下是详细步骤及注意事项:

一、基础网络配置:修改绑定IP与端口

1. 找到配置文件

MongoDB的默认配置文件路径为/etc/mongod.conf(Linux系统),可通过sudo find / -name mongod.conf命令确认位置。

2. 修改绑定IP(关键步骤)

在配置文件的net部分,调整bindIp参数控制MongoDB监听的IP地址:

3. 设置端口(可选)

默认端口为27017,可通过port参数修改(如port: 27018),但需确保端口未被其他服务占用。

二、强化安全:启用访问控制

1. 启用认证机制

在配置文件的security部分添加authorization: enabled,强制要求用户连接时提供用户名和密码。

2. 重启MongoDB服务

修改配置后,执行sudo systemctl restart mongod使更改生效。

3. 创建管理员用户

连接MongoDB shell(mongo),切换至admin数据库,创建具有管理权限的用户(如admin):

use admin;
db.createUser({
  user: "admin",
  pwd: "StrongPassword123!",
  roles: ["root"] // root角色拥有最高权限
});

注:若未开启访问控制,MongoDB允许通过“localhost异常”创建管理员(仅用于初始配置)。

4. 创建数据库用户

切换至目标数据库(如test),为用户分配对应权限(如readWrite):

use test;
db.createUser({
  user: "testUser",
  pwd: "TestPassword456!",
  roles: [{ role: "readWrite", db: "test" }] // 仅允许读写test数据库
});

三、防火墙配置:允许MongoDB端口

若系统启用了防火墙(如CentOS的firewalld),需开放MongoDB端口(默认27017):

sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent; // 永久添加端口
sudo firewall-cmd --reload; // 重新加载防火墙规则

验证端口是否开放:sudo firewall-cmd --list-ports

四、验证配置

  1. 检查MongoDB监听状态
    执行sudo netstat -tuln | grep 27017(或ss -tuln | grep 27017),确认输出中包含绑定的IP和端口(如0.0.0.0:27017192.168.1.100:27017)。

  2. 测试远程连接
    在另一台机器上使用MongoDB客户端连接:

    mongo --host <MongoDB服务器IP> --port 27017 -u "testUser" -p "TestPassword456!" --authenticationDatabase "test"
    

    若成功进入shell,说明配置生效。

五、生产环境注意事项

0
看了该问题的人还看了