温馨提示×

CentOS中MongoDB的网络设置有哪些

小樊
38
2025-10-11 01:34:56
栏目: 云计算

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.confnet 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加密,以提高安全性。

0