Debian 上部署 MongoDB 的网络设置要点
一 基础网络与端口
sudo systemctl restart mongod 使配置生效。二 访问控制与安全加固
authorization: enabled,并创建管理员与业务用户(如 use admin → db.createUser(...)),避免空口令与匿名访问。sudo ufw allow from 192.168.1.0/24 to any port 27017;sudo iptables -A INPUT -p tcp --dport 27017 -s 192.168.1.0/24 -j ACCEPT)。net.ssl.mode: requireSSL,配置 PEMKeyFile/CAFile),防止明文数据被窃听。三 连接字符串与驱动
mongodb://<user>:<password>@<server_ip>:<port>/<db>?authSource=admin。示例:mongodb://myUser:myPass@192.168.1.100:27017/myDB?authSource=admin。如使用 TLS,追加参数:?tls=true&tlsCAFile=/path/ca.pem。四 常见问题排查清单
sudo systemctl status mongod(未运行则 sudo systemctl start mongod)。ss -lntp | grep 27017 或 netstat -tulpen | grep 27017 检查是否监听正确 IP:端口;核对 /etc/mongod.conf 的 bindIp/port。telnet <server_ip> 27017 或 nc -vz <server_ip> 27017;应用端开启日志,核对连接串、用户名、密码、认证库(常见为 authSource=admin)。tail -f /var/log/mongodb/mongod.log 查看启动报错、认证失败、绑定失败等信息。五 推荐的简化配置示例
# /etc/mongod.conf 片段
net:
port: 27017
bindIp: 127.0.0.1,192.168.1.10 # 仅本地与内网
ssl:
mode: requireSSL
PEMKeyFile: /etc/ssl/mongodb.pem
CAFile: /etc/ssl/ca.pem
security:
authorization: enabled
systemLog:
destination: file
path: /var/log/mongodb/mongod.log
logAppend: true
storage:
dbPath: /var/lib/mongodb
# 可选:审计
# security:
# auditLog:
# destination: file
# format: JSON
# path: /var/log/mongodb/audit.log
sudo ufw allow from 192.168.1.0/24 to any port 27017;变更后 sudo systemctl restart mongod 并复核监听与连通性。