如何在CentOS上配置MongoDB防火墙规则

662
2025/4/6 15:32:19
栏目: 云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在CentOS上配置MongoDB防火墙规则,你需要使用firewalld服务来管理防火墙规则。以下是详细的步骤:

1. 安装MongoDB

如果你还没有安装MongoDB,可以使用以下命令进行安装:

sudo yum install -y mongodb-org

2. 启动并启用MongoDB服务

安装完成后,启动MongoDB服务并设置开机自启动:

sudo systemctl start mongod
sudo systemctl enable mongod

3. 配置MongoDB监听地址

默认情况下,MongoDB监听所有网络接口(0.0.0.0)。为了安全起见,建议只允许本地访问。编辑MongoDB配置文件/etc/mongod.conf

sudo vi /etc/mongod.conf

找到bindIp行,修改为:

net:
  port: 27017
  bindIp: 127.0.0.1

保存并退出编辑器,然后重启MongoDB服务:

sudo systemctl restart mongod

4. 配置防火墙规则

使用firewalld来配置防火墙规则,允许MongoDB端口(默认是27017)的流量。

4.1 添加防火墙规则

使用以下命令添加一个允许MongoDB端口的防火墙规则:

sudo firewall-cmd --permanent --zone=public --add-port=27017/tcp

4.2 重新加载防火墙配置

应用新的防火墙规则:

sudo firewall-cmd --reload

5. 验证防火墙规则

你可以使用以下命令来验证防火墙规则是否生效:

sudo firewall-cmd --list-all

你应该能看到类似以下的输出,表明端口27017/tcp已经被允许:

public (default, active)
  interfaces: lo eth0
  sources: 
  services: ssh http https mongodb
  ports: 22/tcp 80/tcp 443/tcp 27017/tcp
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

6. 可选:配置SELinux(如果启用)

如果你启用了SELinux,可能需要配置SELinux策略以允许MongoDB的网络连接。你可以临时禁用SELinux进行测试:

sudo setenforce 0

或者,你可以配置SELinux策略文件/etc/selinux/config,将SELINUX设置为permissive模式:

SELINUX=permissive

然后重启系统以应用更改。

通过以上步骤,你应该能够在CentOS上成功配置MongoDB的防火墙规则。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: 如何在CentOS中修改用户密码