- 首页 >
- 问答 >
-
云计算 >
- Ubuntu MongoDB网络设置有哪些要点
Ubuntu MongoDB网络设置有哪些要点
小樊
33
2025-12-28 12:13:02
Ubuntu 上 MongoDB 网络设置要点
一 核心配置 bindIp 与端口
- 配置文件路径为 /etc/mongod.conf,网络相关参数集中在 net 段。将 bindIp 设置为服务器的内网或公网 IP(如 192.168.1.100),或按需绑定多个地址(如 127.0.0.1,192.168.1.100);生产环境不建议使用 0.0.0.0 监听所有地址。端口默认 27017,可按需修改为未占用端口(如 27018),并同步客户端配置。修改后重启服务:sudo systemctl restart mongod。示例:
- 仅本机:bindIp: 127.0.0.1
- 指定网卡/IP:bindIp: 192.168.1.100
- 多地址:bindIp: 127.0.0.1,192.168.1.100
- 端口:port: 27017/27018。
二 防火墙放行与访问控制
- 使用 UFW 精细化放行:仅允许受信网段访问 27017/tcp,如 sudo ufw allow from 192.168.1.0/24 to any port 27017 proto tcp;启用规则 sudo ufw enable,查看状态 sudo ufw status。如使用 iptables,可添加规则 sudo iptables -A INPUT -p tcp --dport 27017 -s 192.168.1.0/24 -j ACCEPT 并持久化保存。务必避免对 0.0.0.0/0 全开,除非有严格边界与认证。
三 认证与加密传输
- 启用身份验证:在 /etc/mongod.conf 的 security 段设置 authorization: enabled,并创建管理员账户(如 use admin; db.createUser({ user: “admin”, pwd: “StrongPassword123!”, roles: [{ role: “root”, db: “admin” }] })),重启后生效。远程访问需在连接字符串中提供凭据。
- 启用 TLS/SSL 加密:生成或获取证书(如合并 mongodb-key.pem 与 mongodb-cert.pem 为 mongodb.pem),在配置中设置 net.tls.mode: requireTLS 与 net.tls.certificateKeyFile,重启服务。示例:
- 生成证书:openssl req -newkey rsa:2048 -new -x509 -days 365 -nodes -out mongodb-cert.pem -keyout mongodb-key.pem
- 合并:cat mongodb-key.pem mongodb-cert.pem > mongodb.pem
- 配置:net.tls.mode: requireTLS;net.tls.certificateKeyFile: /path/to/mongodb.pem。
四 连接与性能相关网络参数
- 最大连接数:在 net 段设置 maxIncomingConnections(默认 10000),可按资源调大到 20000–50000。
- 超时控制:设置 connectTimeoutMS(如 5000 ms)与 socketTimeoutMS(如 60000 ms),避免长时间占用连接。
- 内核与 TCP 栈优化(按需):如 net.core.somaxconn、net.ipv4.tcp_max_syn_backlog、net.ipv4.tcp_tw_reuse、以及 net.core.rmem_max/wmem_max 与 net.ipv4.tcp_rmem/wmem 等,以提升并发与吞吐;并建议禁用透明大页 THP 以降低延迟波动。修改后执行 sudo sysctl -p 生效。
五 验证与运维监控
- 监听与连通性验证:使用 sudo netstat -tuln | grep 27017 或 ss -lntp | grep 27017 确认监听地址与端口;从受信主机测试 nc -zv <mongo_host> 27017;远程连接示例:mongo --host --port 27017 -u -p --authenticationDatabase admin。
- 运行期观测:使用 mongostat 查看连接数(字段 conn)与操作速率,使用 mongotop 观察集合级读写耗时,结合日志 /var/log/mongodb/mongod.log 排查异常。
- 变更与升级:调整网络或安全参数后滚动重启并灰度验证;保持 MongoDB 为最新稳定版本,获取网络与安全的修复改进。