温馨提示×

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.confsecurity 段设置 authorization: enabled,并创建管理员账户(如 use admin; db.createUser({ user: “admin”, pwd: “StrongPassword123!”, roles: [{ role: “root”, db: “admin” }] })),重启后生效。远程访问需在连接字符串中提供凭据。
  • 启用 TLS/SSL 加密:生成或获取证书(如合并 mongodb-key.pemmongodb-cert.pemmongodb.pem),在配置中设置 net.tls.mode: requireTLSnet.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.somaxconnnet.ipv4.tcp_max_syn_backlognet.ipv4.tcp_tw_reuse、以及 net.core.rmem_max/wmem_maxnet.ipv4.tcp_rmem/wmem 等,以提升并发与吞吐;并建议禁用透明大页 THP 以降低延迟波动。修改后执行 sudo sysctl -p 生效。

五 验证与运维监控

  • 监听与连通性验证:使用 sudo netstat -tuln | grep 27017ss -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 为最新稳定版本,获取网络与安全的修复改进。

0