温馨提示×

centos mongodb网络配置

小樊
40
2025-09-30 13:31:23
栏目: 云计算

CentOS下MongoDB网络配置指南

在CentOS系统中配置MongoDB网络涉及绑定IP、设置端口、配置防火墙、验证连通性等核心步骤,以下是详细操作流程:

1. 修改MongoDB配置文件(核心网络参数)

MongoDB的网络配置主要通过/etc/mongod.conf文件调整,关键参数包括bindIp(监听IP)和port(监听端口)。

  • 绑定IP
    若仅需本地访问(默认),设置为bindIp: 127.0.0.1;若需远程访问,可设置为bindIp: 0.0.0.0(监听所有接口)或指定具体IP(如bindIp: 192.168.1.100,127.0.0.1,兼顾本地与远程)。
  • 设置端口
    默认端口为27017,可根据需求修改(如port: 27018),但需确保端口未被其他服务占用。
    示例配置:
net: port: 27017 bindIp: 127.0.0.1,192.168.1.100 # 允许本地及指定IP访问 

修改完成后,保存文件并重启MongoDB服务使配置生效:

sudo systemctl restart mongod 

2. 配置防火墙允许MongoDB端口

若系统启用了firewalld(CentOS 7及以上默认开启),需添加MongoDB端口规则:

# 开放27017端口(TCP协议,永久生效) sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent # 重新加载防火墙配置 sudo firewall-cmd --reload # 验证端口是否开放 sudo firewall-cmd --list-ports # 应包含27017 

3. 验证网络连通性

3.1 检查MongoDB监听状态

使用ssnetstat命令确认MongoDB是否在指定IP和端口上监听:

sudo ss -tuln | grep 27017 # 预期输出(若bindIp为0.0.0.0): # tcp LISTEN 0 128 *:27017 *:* # 若bindIp为192.168.1.100,则显示192.168.1.100:27017 

3.2 测试远程连接(可选)

从另一台机器使用mongo命令测试连接(需替换为目标IP和端口):

mongo --host 192.168.1.100 --port 27017 # 若未启用认证,直接进入shell;若启用认证,需添加用户名密码: # mongo -u admin -p your_password --authenticationDatabase admin --host 192.168.1.100 --port 27017 

4. 安全增强配置(生产环境必做)

4.1 启用身份验证

为防止未授权访问,需在mongod.conf中启用认证:

security: authorization: enabled 

修改后重启MongoDB服务:

sudo systemctl restart mongod 

4.2 创建管理员用户

连接MongoDB并创建具有管理权限的用户(如admin):

mongo use admin db.createUser({ user: "admin", pwd: "StrongPassword123!", # 使用强密码 roles: [{ role: "root", db: "admin" }] # root角色拥有最高权限 }) exit 

之后连接时需指定用户名和密码:

mongo -u admin -p StrongPassword123 --authenticationDatabase admin --host 192.168.1.100 --port 27017 

5. 其他注意事项

  • 限制访问IP:若需更严格的访问控制,可将bindIp设置为特定IP(如bindIp: 192.168.1.100),仅允许该IP访问。
  • SELinux配置:若系统启用SELinux,需将其设置为permissive模式(测试环境)或配置相应策略(生产环境):
    sudo setenforce 0 # 临时关闭SELinux # 永久关闭需修改/etc/selinux/config文件,将SELINUX=enforcing改为disabled 
  • 日志监控:定期检查MongoDB日志(/var/log/mongodb/mongod.log),及时发现异常连接或错误。

通过以上步骤,可完成CentOS下MongoDB的网络配置,确保其既能满足访问需求,又能保障数据安全。

0