Debian 上 MongoDB 网络设置实操指南
一 基础配置步骤
- 编辑配置文件:sudo nano /etc/mongod.conf,在 net 段设置监听端口与地址,例如仅本机访问:net: { port: 27017, bindIp: 127.0.0.1 };如需局域网访问,可改为内网 IP(如 192.168.1.100),或按需填写多个地址(逗号分隔)。修改后重启服务:sudo systemctl restart mongod。
- 连接验证:本机执行 mongo(或 mongosh);远程执行 mongo --host 服务器IP --port 27017。
- 防火墙放行:如使用 ufw,放行端口 sudo ufw allow 27017/tcp;如使用云厂商安全组,同样需放通 27017/tcp。
- 服务状态检查:sudo systemctl status mongod,确保为 active (running)。
以上步骤适用于常见 Debian 上的 MongoDB 安装与网络参数调整。
二 常见网络场景配置
- 仅本地访问(默认最安全):bindIp 保持 127.0.0.1,仅本机可连。
- 指定内网接口访问:bindIp 设置为服务器内网地址(如 192.168.1.100),仅该网段可达。
- 多地址绑定:bindIp 127.0.0.1,192.168.1.100,同时允许本机与内网。
- 监听所有地址(不推荐公网直曝):bindIp 0.0.0.0,务必叠加防火墙白名单与强认证。
- 自定义端口:将 port 改为非默认端口(如 27018),客户端需同步指定端口。
- 副本集场景:各节点需将 bindIp 包含对方可达的 主机IP,并在防火墙放通对应端口,确保节点间通信。
以上做法覆盖从本机、内网到多地址绑定的常见网络需求。
三 安全加固要点
- 启用访问控制:在配置中开启 security.authorization: enabled,并创建管理员与普通用户,遵循最小权限原则。
- 限制来源 IP:优先采用“bindIp 指定内网 IP + 防火墙仅放行可信网段/主机”的组合,避免对公网开放 27017/tcp。
- 加密传输:配置 TLS/SSL(mongod 启动参数或配置文件启用),防止明文传输被窃听。
- 审计与监控:开启审计日志、定期查看日志与连接情况,配合监控工具(如 mongostat、mongotop)掌握实例状态。
- 备份与更新:定期 mongodump 备份、及时 apt 更新补丁,降低风险暴露窗口。
以上措施能显著提升 MongoDB 在网络层面的安全性与可运维性。
四 故障排查清单
- 服务未启动或配置未生效:sudo systemctl status mongod;查看 /var/log/mongodb/mongod.log;确认重启后配置已加载。
- 端口未放行或被占用:ss -lntp | grep 27017;必要时更换端口或释放占用进程;在 ufw/安全组放通对应端口。
- 仅本机能连、远程不通:核对 bindIp 是否为服务器内网 IP 或 0.0.0.0;检查云安全组/本机防火墙;客户端使用 mongo --host 公网/内网IP 测试。
- 认证失败:确认已启用 security.authorization 并使用正确凭据;必要时在 admin 库创建/校验用户权限。
- 副本集节点无法互通:核对各节点 bindIp 包含对方 IP、网络连通性与防火墙策略。
以上流程可快速定位大多数网络连通性与访问控制问题。