Debian上MongoDB的网络配置有哪些注意事项
小樊
32
2025-12-13 05:22:16
Debian上MongoDB网络配置注意事项
一 基础网络与端口
- 配置文件位置为**/etc/mongod.conf**,网络相关主要在net段设置。默认监听端口为27017,可按需修改net.port。
- 绑定地址使用net.bindIp:默认仅绑定127.0.0.1(MongoDB 3.6+ 的 DEB 包行为),如需远程访问,建议改为服务器局域网 IP,或按需填写多个地址(如:192.168.1.10,127.0.0.1),避免直接写成0.0.0.0暴露到公网。
- 修改配置后执行:
sudo systemctl restart mongod 使配置生效。
二 访问控制与安全加固
- 启用身份验证:在配置中设置security.authorization: enabled,并创建管理员与业务用户,遵循最小权限原则。
- 加密传输:启用TLS/SSL(如:net.ssl.mode、PEMKeyFile、CAFile),防止数据在传输中被窃听或篡改。
- 最小化暴露面:仅开放必要来源 IP 与端口;如非必须,避免将bindIp设为0.0.0.0;禁用不必要的接口(如旧版的 HTTP/REST 接口)。
- 审计与监控:开启审计日志(security.auditLog),并持续监控连接与异常行为。
三 防火墙与系统策略
- 使用ufw或iptables限制对27017/tcp的访问,仅允许受信任网段或跳板机。示例:
- ufw:
sudo ufw allow from 192.168.1.0/24 to any port 27017
- iptables:
sudo iptables -A INPUT -p tcp --dport 27017 -s 192.168.1.0/24 -j ACCEPT
- 若启用AppArmor/SELinux,需确保相应策略允许 MongoDB 的网络与文件访问。
- 云环境同步配置安全组/NACL,仅放通必要来源。
四 连接与高可用
- 连接字符串格式:
mongodb://<user>:<password>@<host>:<port>/<db>,主机与端口需与bindIp/port一致;驱动需支持所启用的认证与加密选项。
- 分片或跨机房访问时,可在连接字符串中使用compressors启用压缩,降低带宽占用。
- 生产建议部署副本集以实现高可用与自动故障转移,并配合内网通信与访问控制。
五 排障与维护
- 服务状态与日志:
sudo systemctl status mongod;查看**/var/log/mongodb/mongod.log**定位启动与网络错误。
- 连通性测试:使用telnet 27017或
mongosh测试端口可达性与认证是否正常。
- 变更流程:先在测试环境验证,再滚动更新;保持MongoDB 与 Debian及时更新,定期审计与备份。