在Linux系统运维中,网络配置是基础且关键的环节。CentOS 7作为企业级服务器常用的操作系统,其网络配置方式多样且灵活。本文将系统介绍三种主流配置方法,帮助运维人员根据实际场景选择最适合的方案。
一、交互式配置工具nmtui(推荐新手使用)
1.1 工具启动与界面导航
nmtui是基于文本界面的网络配置工具,提供直观的菜单式操作。启动命令为:
sudo nmtui
界面包含三个主要选项:
- Edit a connection:编辑网络连接
- Activate a connection:激活/停用连接
- Set system hostname:设置主机名
1.2 动态IP配置流程
选择”Edit a connection”后,进入网卡选择界面。以ens33网卡为例:
- 选中网卡后按Edit进入配置界面
- 在IPv4 CONFIGURATION选项选择Automatic
- 勾选Automatically connect(开机自启)
- 勾选Available to all users(所有用户可用)
- 按OK保存配置
返回主菜单后,选择”Activate a connection”重新激活网卡使配置生效。
1.3 静态IP配置要点
静态配置需在IPv4 CONFIGURATION选择Manual,并填写:
- Addresses:192.168.1.100/24(CIDR表示法)
- Gateway:192.168.1.1(默认网关)
- DNS servers:8.8.8.8,114.114.114.114(多个DNS用逗号分隔)
特别说明:
- CIDR表示法中/24等同于子网掩码255.255.255.0
- DNS配置支持最多3个服务器地址
- 修改后必须重新激活网卡
二、命令行工具nmcli(适合自动化脚本)
2.1 静态IP配置命令集
# 设置IP地址和子网掩码nmcli connection modify "ens33" ipv4.addresses 192.168.1.100/24# 设置默认网关nmcli connection modify "ens33" ipv4.gateway 192.168.1.1# 配置DNS服务器nmcli connection modify "ens33" ipv4.dns "8.8.8.8,114.114.114.114"# 切换为静态IP模式nmcli connection modify "ens33" ipv4.method manual# 设置开机自启nmcli connection modify "ens33" connection.autoconnect yes# 重启网卡生效nmcli connection down "ens33" && nmcli connection up "ens33"
2.2 动态IP配置简化命令
nmcli connection modify "ens33" ipv4.method autonmcli connection down "ens33" && nmcli connection up "ens33"
2.3 高级配置技巧
- 批量修改配置:可将多个修改命令合并执行
- 配置备份:使用
nmcli connection show导出配置 - 连接管理:支持添加/删除虚拟网卡配置
三、传统配置文件方法(兼容性最佳)
3.1 配置文件路径与结构
网卡配置文件位于:
/etc/sysconfig/network-scripts/ifcfg-ens33
关键参数说明:
| 参数 | 说明 | 示例值 |
|——————-|——————————————-|——————————-|
| BOOTPROTO | 协议类型 | static/dhcp |
| ONBOOT | 开机自启 | yes/no |
| IPADDR | IP地址 | 192.168.1.100 |
| NETMASK | 子网掩码 | 255.255.255.0 |
| GATEWAY | 默认网关 | 192.168.1.1 |
| DNS1/DNS2 | 主备DNS服务器 | 8.8.8.8/114.114.114.114 |
3.2 静态配置示例
TYPE=EthernetBOOTPROTO=staticDEVICE=ens33ONBOOT=yesIPADDR=192.168.1.100NETMASK=255.255.255.0GATEWAY=192.168.1.1DNS1=8.8.8.8DNS2=114.114.114.114
3.3 配置生效方式
# 重启网络服务(推荐)systemctl restart network# 或单独重启网卡ifdown ens33 && ifup ens33
四、配置验证与故障排查
4.1 基础验证命令
# 查看IP地址ip addr show ens33# 测试网络连通性ping -c 4 8.8.8.8# 检查路由表ip route show# 验证DNS解析cat /etc/resolv.confnslookup example.com
4.2 常见问题处理
-
网卡名称不匹配:
- 使用
ip link查看实际网卡名 - 常见名称包括ens33、eth0、em1等
- 使用
-
防火墙干扰:
# 检查防火墙状态systemctl status firewalld# 临时关闭(测试用)systemctl stop firewalld# 永久关闭(生产环境需谨慎)systemctl disable firewalld
-
NetworkManager冲突:
- 传统方法与NetworkManager可能存在冲突
- 建议统一使用nmcli或nmtui管理网络
五、最佳实践建议
-
生产环境推荐:
- 优先使用nmcli进行配置管理
- 重要配置变更前建议备份
- 修改后务必进行完整验证
-
自动化部署场景:
- 可编写配置模板文件
- 使用Ansible等工具批量部署
- 结合cloud-init实现云环境初始化
-
兼容性考虑:
- 最小化安装系统可能缺少图形工具
- 传统配置文件方法兼容性最佳
- 混合环境建议统一配置方式
通过本文介绍的三种方法,运维人员可以灵活应对不同场景下的网络配置需求。无论是交互式配置、命令行操作还是传统配置文件修改,每种方法都有其适用场景。建议根据实际环境特点和运维习惯选择最适合的方案,并建立标准化的配置管理流程。