如何配置Ubuntu MongoDB网络
导读:Ubuntu 上配置 MongoDB 网络的实用步骤 一 基础网络绑定与端口 编辑配置文件:sudo nano /etc/mongod.conf 在 net 段设置监听地址与端口(示例为监听本机与内网地址):net: port: 27...
Ubuntu 上配置 MongoDB 网络的实用步骤
一 基础网络绑定与端口
- 编辑配置文件:sudo nano /etc/mongod.conf
- 在 net 段设置监听地址与端口(示例为监听本机与内网地址):
说明:将 bindIp 改为服务器的具体内网/公网 IP 可开启远程访问;生产环境不建议使用 0.0.0.0(监听所有地址)。如需变更端口,请同步更新客户端连接串与防火墙规则。net: port: 27017 bindIp: 127.0.0.1,192.168.1.100 - 使配置生效:sudo systemctl restart mongod
- 验证监听:ss -lntp | grep 27017 或 sudo netstat -an | grep 27017。
二 防火墙放行
- UFW(推荐):仅允许受信网段访问
- 允许某台主机:sudo ufw allow from 192.168.1.50 to any port 27017 proto tcp
- 允许整个网段:sudo ufw allow from 192.168.1.0/24 to any port 27017 proto tcp
- 查看规则:sudo ufw status
- iptables:sudo iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 27017 -j ACCEPT
- 云服务器注意同时放通云厂商安全组中的 27017/tcp 入站规则。
三 启用认证与创建管理员
- 开启访问控制:在 /etc/mongod.conf 的 security 段启用
重启:sudo systemctl restart mongodsecurity: authorization: enabled - 创建管理员用户(连接到本机 mongod):
use admin db.createUser({ user: "admin", pwd: "StrongPassword123!", roles: [{ role: "root", db: "admin" } ] } ) - 远程连接示例:mongo --host your_server_ip --port 27017 -u app_user -p app_password --authenticationDatabase your_database。
四 可选 加密与网络性能优化
- TLS/SSL 加密(可选但强烈推荐):在 net 段配置 ssl 并指定证书/密钥,客户端连接时添加 ?tls=true 等参数,保障公网传输安全。
- 连接与并发优化(示例):
net: maxIncomingConnections: 50000 connectTimeoutMS: 5000 socketTimeoutMS: 60000 - 系统网络与内核参数(提升高并发与稳定性):
- 增加文件描述符与连接队列:
应用:sudo sysctl -pfs.file-max = 1000000 net.core.somaxconn = 65535 net.ipv4.tcp_max_syn_backlog = 65535 net.ipv4.tcp_tw_reuse = 1 - 禁用透明大页(THP):
echo "never" | sudo tee /sys/kernel/mm/transparent_hugepage/enabled echo "never" | sudo tee /sys/kernel/mm/transparent_hugepage/defrag
- 增加文件描述符与连接队列:
- 监控:mongostat 查看连接数(conn),netstat -antp | grep mongod 排查连接状态。
五 常见问题排查清单
- 服务未监听或配置未生效:检查 mongod.conf 语法、sudo systemctl status mongod、以及重启是否成功。
- 端口未放行:核对 UFW/iptables 与云安全组是否允许 27017/tcp 入站。
- 仅本机能连:确认 bindIp 包含服务器实际 IP(而非仅 127.0.0.1),且客户端使用服务器 IP 连接。
- 认证失败:确认已启用 authorization,并使用 --authenticationDatabase 指定正确库(如 admin)。
- 监听地址错误:用 ss/ netstat 确认 mongod 正在期望的 IP:端口 上监听。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何配置Ubuntu MongoDB网络
本文地址: https://pptw.com/jishu/784580.html
