一、网络配置基础准备
在CentOS 7系统中,网络配置主要通过nmcli命令行工具或直接修改配置文件实现。推荐使用nmcli工具,它是NetworkManager的现代管理接口,支持动态配置和持久化存储。
1.1 检查网络服务状态
执行以下命令确认NetworkManager服务运行状态:
systemctl status NetworkManager
若服务未启动,使用以下命令启动并设置开机自启:
systemctl start NetworkManagersystemctl enable NetworkManager
1.2 识别网络接口
通过ip addr或nmcli device status命令查看可用网络接口:
ip addr# 或nmcli device status
输出示例:
DEVICE TYPE STATE CONNECTIONens33 ethernet connected ens33virbr0 bridge connected virbr0lo loopback unmanaged --
重点记录需要配置的物理接口名称(如ens33)。
二、静态IP配置方法
2.1 使用nmcli工具配置
执行交互式配置命令:
nmcli connection edit ens33
进入交互界面后依次执行:
set ipv4.method manualset ipv4.addresses 192.168.1.100/24set ipv4.gateway 192.168.1.1set ipv4.dns "8.8.8.8,8.8.4.4"savequit
验证配置:
nmcli connection show ens33 | grep ipv4
2.2 手动修改配置文件
编辑对应接口的配置文件(路径通常为/etc/sysconfig/network-scripts/ifcfg-ens33):
vi /etc/sysconfig/network-scripts/ifcfg-ens33
修改关键参数:
BOOTPROTO=staticONBOOT=yesIPADDR=192.168.1.100NETMASK=255.255.255.0GATEWAY=192.168.1.1DNS1=8.8.8.8DNS2=8.8.4.4
保存后重启网络服务:
systemctl restart NetworkManager
2.3 配置验证
执行以下命令验证网络参数:
ip addr show ens33ip routecat /etc/resolv.conf
使用ping和curl测试网络连通性:
ping 8.8.8.8curl -I www.baidu.com
三、防火墙配置要点
3.1 防火墙状态管理
检查防火墙服务状态:
systemctl status firewalld
临时关闭防火墙(仅测试环境使用):
systemctl stop firewalld
永久禁用防火墙(需谨慎操作):
systemctl disable firewalld
3.2 开放必要端口
生产环境建议通过规则管理而非直接关闭防火墙。开放HTTP/HTTPS端口示例:
firewall-cmd --zone=public --add-port=80/tcp --permanentfirewall-cmd --zone=public --add-port=443/tcp --permanentfirewall-cmd --reload
验证规则:
firewall-cmd --list-ports
3.3 高级规则配置
对于复杂网络环境,可使用rich rules实现精细控制:
firewall-cmd --permanent --add-rich-rule='rule family="ipv4"source address="192.168.1.0/24"port protocol="tcp" port="22"accept'firewall-cmd --reload
四、常见问题解决方案
4.1 网络服务启动失败
- 检查NetworkManager日志:
journalctl -u NetworkManager -xe
- 验证接口配置文件语法
- 检查物理连接状态
4.2 DNS解析失败
- 检查
/etc/resolv.conf文件权限 - 验证DNS服务器可达性
- 检查
nsswitch.conf配置:cat /etc/nsswitch.conf | grep hosts
4.3 防火墙拦截问题
- 使用
tcpdump抓包分析:tcpdump -i ens33 port 80
- 检查SELinux状态:
getenforce
- 验证服务监听状态:
ss -tulnp | grep :80
五、最佳实践建议
- 配置备份:修改前备份配置文件
cp /etc/sysconfig/network-scripts/ifcfg-ens33 ~/ifcfg-ens33.bak
- 版本控制:对关键配置文件使用版本管理工具
- 变更记录:维护详细的网络变更日志
- 自动化工具:考虑使用Ansible等工具实现配置标准化
- 监控告警:部署网络监控系统,实时检测异常
六、扩展知识:NetworkManager高级功能
6.1 连接配置文件管理
# 导出配置nmcli connection export ens33 > ens33.nmconnection# 导入配置nmcli connection import type ethernet file ens33.nmconnection
6.2 团队协作配置
通过nmcli connection modify实现无停机配置更新:
nmcli connection modify ens33 ipv4.dns "114.114.114.114"nmcli connection up ens33
6.3 虚拟网络配置
创建桥接接口示例:
nmcli connection add type bridge con-name br0 ifname br0nmcli connection add type ethernet con-name ens33-bridge slave-type bridge master br0 ifname ens33
通过本文介绍的完整流程,系统管理员可以系统化地完成CentOS 7网络配置工作。建议在实际操作前在测试环境验证配置,生产环境变更时选择业务低峰期执行。对于复杂网络架构,建议结合企业级网络管理工具实现集中化配置管理。