CentOS中MongoDB的网络设置有哪些
CentOS中MongoDB的网络设置主要包括以下几个核心方面:
1. 绑定IP地址(bindIp)
bindIp
是MongoDB网络配置的核心参数,用于指定服务器监听的网络接口IP地址。其取值规则如下:
127.0.0.1
:仅允许本地连接(默认值),适用于开发测试环境;0.0.0.0
:允许所有IP地址连接(生产环境需谨慎使用,需配合防火墙限制);- 具体IP地址(如
192.168.1.100
):仅允许指定IP连接,适用于生产环境的安全控制; - 多个IP地址用逗号分隔(如
127.0.0.1,192.168.1.100
):允许本地及指定IP连接。
配置路径:/etc/mongod.conf
(net
section),修改后需重启MongoDB服务生效。
2. 监听端口(port)
port
参数用于指定MongoDB服务监听的端口号,默认值为27017
(非分片/配置服务器)。若需修改端口(如27018
),可直接在net
section中调整:
net:
port: 27018
修改后需重启服务使变更生效。
3. 防火墙配置
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
)。
4. 最大连接数(maxIncomingConnections)
maxIncomingConnections
参数用于限制MongoDB实例接受的最大客户端连接数,默认值为65536
。若需调整(如限制为10000
),可在net
section中修改:
net:
maxIncomingConnections: 10000
注意:该值不能超过操作系统的最大文件描述符限制(可通过ulimit -n
查看)。
5. TLS/SSL加密配置(可选,生产环境推荐)
为保障数据传输安全,可启用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
)。
6. Unix域套接字配置(可选)
MongoDB支持通过Unix域套接字(Unix Domain Socket)进行本地通信,减少TCP开销。需在net
section中配置:
net:
unixDomainSocket:
enabled: true # 启用Unix域套接字
pathPrefix: /var/run/mongodb # 套接字文件路径(默认:/tmp)
filePermissions: 0700 # 文件权限(默认:0700,仅所有者可访问)
禁用时设置为false
,此时MongoDB仅通过TCP监听。
7. IPv6支持(可选)
若需启用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加密,以提高安全性。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS中MongoDB的网络设置有哪些
本文地址: https://pptw.com/jishu/723516.html