在配置MongoDB网络前,需先确保CentOS主机的网络接口正常工作,可选择静态IP(生产环境推荐)或动态IP(测试环境适用)。
ip a或ifconfig,确认网卡标识(如ens33、eth0)。/etc/sysconfig/network-scripts/ifcfg-<网卡名>,设置以下参数:BOOTPROTO=static    # 静态IP模式
ONBOOT=yes          # 开机自动启动
IPADDR=192.168.1.100 # 本机IP地址
NETMASK=255.255.255.0 # 子网掩码
GATEWAY=192.168.1.1   # 网关地址
DNS1=8.8.8.8        # 主DNS服务器
DNS2=114.114.114.114 # 备用DNS服务器
保存后重启网络服务:systemctl restart network。BOOTPROTO设为dhcp,ONBOOT=yes,运行ifup <网卡名>激活网卡。MongoDB的网络参数集中在/etc/mongod.conf文件中,需调整以下关键项:
net section,修改bindIp参数:
bindIp: 127.0.0.1192.168.1.0/24中的一台主机):bindIp: 127.0.0.1,192.168.1.100bindIp: 0.0.0.027017,可根据需求修改):net:
  port: 27017       # 修改为所需端口(如27018)
  bindIp: 192.168.1.100 # 绑定本机IP
保存配置文件。若CentOS启用了firewalld(默认开启),需开放MongoDB端口(默认27017):
# 添加永久规则(--permanent表示重启后仍有效)
sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent
# 重新加载防火墙配置
sudo firewall-cmd --reload
# 验证端口是否开放
sudo firewall-cmd --list-ports  # 应包含27017/tcp
若使用iptables,可运行:sudo iptables -A INPUT -p tcp --dport 27017 -j ACCEPT,并保存规则(service iptables save)。
允许远程访问时,必须启用身份验证以防止未授权访问:
/etc/mongod.conf的security section添加:security:
  authorization: enabled  # 开启用户权限控制
# 连接到本地MongoDB(默认无认证)
mongo
# 切换到admin数据库(管理员数据库)
use admin
# 创建管理员账号(赋予root权限)
db.createUser({
  user: "admin",
  pwd: "YourStrongPassword123!",
  roles: ["root"]  # root角色拥有所有权限
})
# 退出shell
exit
sudo systemctl restart mongodmongo --host 192.168.1.100 --port 27017 -u admin -p YourStrongPassword123 --authenticationDatabase admin
sudo netstat -tuln | grep 27017  # 传统方式
# 或
sudo ss -tuln | grep 27017       # 更现代的方式
输出应包含0.0.0.0:27017(允许所有IP)或192.168.1.100:27017(特定IP)。mongo --host <服务器IP> --port 27017 -u <用户名> -p <密码> --authenticationDatabase <数据库名>,验证是否能成功连接。根据需求调整以下参数(位于/etc/mongod.conf的net section):
net:
  maxIncomingConnections: 5000
net:
  tcpKeepAlive: true      # 开启TCP keepalive(检测死连接)
  tcpNoDelay: true        # 禁用Nagle算法(减少小包延迟)
  socketOptions:
    keepAliveInitialDelay: 300  # keepalive探测间隔(秒)
    tcpMaxIdleTimeMS: 300000    # 连接最大空闲时间(毫秒)
    tcpSendBufferSize: 65536    # 发送缓冲区大小(字节)
    tcpReceiveBufferSize: 65536 # 接收缓冲区大小(字节)
net:
  ssl:
    mode: requireSSL      # 强制使用SSL
    PEMKeyFile: /etc/ssl/mongodb.pem  # 证书文件路径(包含私钥和公钥)
    CAFile: /etc/ssl/ca.pem           # CA证书路径(验证客户端证书)
修改后需重启MongoDB服务:sudo systemctl restart mongod。完成以上步骤后,MongoDB将在CentOS上完成网络配置,可根据生产需求调整安全策略(如限制访问IP、加强认证机制)。