CentOS中MongoDB的网络设置主要包括以下几个核心方面:
bindIp是MongoDB网络配置的核心参数,用于指定服务器监听的网络接口IP地址。其取值规则如下:
127.0.0.1:仅允许本地连接(默认值),适用于开发测试环境;0.0.0.0:允许所有IP地址连接(生产环境需谨慎使用,需配合防火墙限制);192.168.1.100):仅允许指定IP连接,适用于生产环境的安全控制;127.0.0.1,192.168.1.100):允许本地及指定IP连接。/etc/mongod.conf(net section),修改后需重启MongoDB服务生效。port参数用于指定MongoDB服务监听的端口号,默认值为27017(非分片/配置服务器)。若需修改端口(如27018),可直接在net section中调整:
net: port: 27018 修改后需重启服务使变更生效。
CentOS系统需通过firewalld开放MongoDB的端口(默认27017),允许外部访问:
# 开放端口(永久生效) sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent # 重新加载防火墙规则 sudo firewall-cmd --reload # 验证端口是否开放 sudo firewall-cmd --list-ports 若使用iptables,需添加对应规则(如-A INPUT -p tcp --dport 27017 -j ACCEPT)。
maxIncomingConnections参数用于限制MongoDB实例接受的最大客户端连接数,默认值为65536。若需调整(如限制为10000),可在net section中修改:
net: maxIncomingConnections: 10000 注意:该值不能超过操作系统的最大文件描述符限制(可通过ulimit -n查看)。
为保障数据传输安全,可启用TLS/SSL加密。需在net section中配置以下参数:
net: tls: mode: requireTLS # 强制使用TLS(可选值:disabled/allowTLS/preferTLS/requireTLS) certificateKeyFile: /path/to/mongodb.pem # 证书文件路径(需包含私钥和公钥) CAFile: /path/to/ca.pem # CA证书路径(用于验证客户端证书) 配置后需重启服务,并确保客户端连接时指定TLS参数(如mongo --tls --tlsCAFile /path/to/ca.pem)。
MongoDB支持通过Unix域套接字(Unix Domain Socket)进行本地通信,减少TCP开销。需在net section中配置:
net: unixDomainSocket: enabled: true # 启用Unix域套接字 pathPrefix: /var/run/mongodb # 套接字文件路径(默认:/tmp) filePermissions: 0700 # 文件权限(默认:0700,仅所有者可访问) 禁用时设置为false,此时MongoDB仅通过TCP监听。
若需启用IPv6,需在net section中设置:
net: ipv6: true # 启用IPv6 bindIp: "::1,192.168.1.100" # 同时绑定IPv6和IPv4地址(逗号分隔) 默认值为false,启用后MongoDB会同时监听IPv6和IPv4地址。
以上配置需根据实际环境调整,生产环境中建议启用认证(security.authorization: enabled)、限制绑定IP(bindIp)并使用TLS加密,以提高安全性。