MongoDB在Debian上的网络配置怎么弄
导读:MongoDB 在 Debian 的网络配置实操 一 核心配置文件与关键参数 配置文件路径:/etc/mongod.conf(YAML 格式)。 网络相关常用参数: net.port:监听端口,默认 27017。 net.bindIp:...
MongoDB 在 Debian 的网络配置实操
一 核心配置文件与关键参数
- 配置文件路径:/etc/mongod.conf(YAML 格式)。
- 网络相关常用参数:
- net.port:监听端口,默认 27017。
- net.bindIp:绑定的 IP 地址,默认只监听 127.0.0.1;如需远程访问,可改为内网地址(如 192.168.1.10)或 0.0.0.0(监听所有地址,生产慎用)。也可绑定多个地址:127.0.0.1,192.168.1.10。
- 可选:net.ssl.mode / net.ssl.PEMKeyFile / net.ssl.CAFile 用于启用 TLS/SSL 加密传输。
二 允许远程访问的标准步骤
- 编辑配置文件
- 打开:sudo nano /etc/mongod.conf
- 修改网络段,例如仅内网访问:
如需临时全网监听(不推荐生产):bindIp: 0.0.0.0。net: port: 27017 bindIp: 127.0.0.1,192.168.1.10
- 重启服务使配置生效
- sudo systemctl restart mongod
- 确认状态:sudo systemctl status mongod
- 防火墙放行端口
- UFW:sudo ufw allow 27017
- 或 nftables/iptables:放行 27017/tcp。
- 客户端连通性测试
- 本机:mongosh --host 127.0.0.1 --port 27017
- 远程:mongosh --host < 服务器IP> --port 27017
- 端口探测:telnet < 服务器IP> 27017 或 nc -vz < 服务器IP> 27017。
三 安全加固必做项
- 启用身份验证
- 配置:security.authorization: enabled
- 重启:sudo systemctl restart mongod
- 创建管理员(示例):
use admin db.createUser({ user: "admin", pwd: "YourStrongP@ssw0rd", roles: [ { role: "root", db: "admin" } ] } )
- 限制绑定与访问控制
- 生产环境建议仅绑定内网 bindIp,并配合防火墙仅放行受信网段。
- 加密传输
- 生成证书(示例):
openssl req -newkey rsa:2048 -new -x509 -days 365 -nodes \ -out mongodb-cert.crt -keyout mongodb-cert.key cat mongodb-cert.key mongodb-cert.crt > mongodb.pem - 配置:
net: ssl: mode: requireSSL PEMKeyFile: /path/to/mongodb.pem CAFile: /path/to/ca.pem
- 生成证书(示例):
- 其他
- 保持 MongoDB 与 Debian 的及时更新;按需开启审计日志与监控。
四 副本集的网络配置要点
- 所有节点需互相可达,并在配置中声明 replSetName 与各节点的 host:port。
- 示例(/etc/mongod.conf):
replication: replSetName: rs0 net: port: 27017 bindIp: 192.168.1.10,192.168.1.11,192.168.1.12 - 初始化(在主节点 mongosh 中):
rs.initiate({ _id: "rs0", members: [ { _id: 0, host: "192.168.1.10:27017" } , { _id: 1, host: "192.168.1.11:27017" } , { _id: 2, host: "192.168.1.12:27017" } ] } ) - 验证:rs.status()。
五 常见问题快速排查
- 服务未运行:查看状态与日志
- sudo systemctl status mongod
- tail -f /var/log/mongodb/mongod.log
- 只本地可连:检查 bindIp 是否包含服务器内网 IP,且未被注释。
- 端口不通:确认防火墙放行 27017/tcp,并用 telnet/nc 测试连通性。
- 启用了认证仍无法登录:确认已创建用户、使用正确的认证库与凭据连接。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: MongoDB在Debian上的网络配置怎么弄
本文地址: https://pptw.com/jishu/771423.html
