在CentOS系统中,通过命令行配置网络是系统管理和运维中的基础技能,无论是服务器部署还是日常维护,掌握网络配置方法都能高效解决网络连接问题,本文将详细介绍CentOS命令行下配置网络的多种方式,包括使用NetworkManager、网络配置文件以及命令行工具等,帮助用户全面理解不同场景下的网络配置流程。

CentOS 7及以上版本默认使用NetworkManager管理网络,它提供了动态网络配置和连接管理功能,通过命令行工具nmcli可以快速查看、修改网络连接参数,使用nmcli connection show命令可以列出所有网络连接,nmcli connection show "连接名称"则显示指定连接的详细配置,若要修改IP地址,可执行nmcli connection modify "连接名称" ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns 8.8.8.8,其中ipv4.method需设置为manual表示静态IP,设置为auto则为DHCP自动获取,配置完成后,使用nmcli connection down "连接名称"和nmcli connection up "连接名称"重启网络连接使配置生效。
对于需要持久化配置的场景,直接编辑网络配置文件是更可靠的方式,CentOS的网络配置文件位于/etc/sysconfig/network-scripts/目录下,命名规则为ifcfg-网卡名称,例如ifcfg-ens33,文件中的关键参数包括:TYPE=Ethernet表示以太网类型,BOOTPROTO=static或dhcp指定IP获取方式,IPADDR、NETMASK、GATEWAY分别设置IP地址、子网掩码和默认网关,DNS1和DNS2配置DNS服务器,若需配置多个IP地址,可在文件中添加IPADDR1、NETMASK1等参数,或使用IPADDR0=192.168.1.100/24的CIDR格式,编辑完成后,执行ifdown 网卡名称和ifup 网卡名称重启网卡,或使用systemctl restart network服务重启整个网络服务。
在虚拟化或复杂网络环境中,可能需要配置 bonding(网卡绑定)或 bridge(网桥),以bonding为例,首先创建ifcfg-bond0文件,设置DEVICE=bond0、TYPE=Bond、BONDING_OPTS="mode=6 miimon=100"等参数,其中mode=6表示平衡负载(round-robin),miimon=100表示每100毫秒链路检测一次,然后修改物理网卡的配置文件,将MASTER=bond0和SLAVE=yes添加到文件中,并注释掉BOOTPROTO和IPADDR等参数,最后重启网络服务使配置生效,网桥配置类似,需创建ifcfg-br0文件,并将物理网卡作为网桥的从设备。
对于临时网络调试,可使用ip命令进行快速配置。ip addr add 192.168.1.100/24 dev ens33临时添加IP地址,ip link set ens33 up启用网卡,ip route add default via 192.168.1.1设置默认网关,这些配置在系统重启后会失效,适合临时测试场景,若需查看网络状态,ip addr show显示IP地址信息,ip route show查看路由表,ping和traceroute命令可测试网络连通性。

网络服务管理也是配置的重要部分,使用systemctl status network查看网络服务状态,systemctl enable network设置开机自启,systemctl stop network和systemctl start network停止和启动服务,对于防火墙,firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" accept'可添加允许特定网段访问的规则,firewall-cmd --reload重新加载防火墙配置。
以下表格总结了常用网络配置命令及其功能:
| 命令 | 功能 |
|---|---|
nmcli connection show |
列出所有网络连接 |
nmcli connection modify <连接名> ipv4.addresses <IP/掩码> |
修改静态IP地址 |
vi /etc/sysconfig/network-scripts/ifcfg-ens33 |
编辑网卡配置文件 |
ifdown ens33 && ifup ens33 |
重启指定网卡 |
ip addr add <IP/掩码> dev <网卡名> |
临时添加IP地址 |
systemctl restart network |
重启网络服务 |
在实际操作中,可能会遇到配置不生效的问题,常见原因包括配置文件语法错误、NetworkManager服务冲突、防火墙阻止等,建议通过nmcli connection show <连接名> | grep ipv4检查配置参数,使用cat /var/log/messages | grep network查看网络服务日志,或通过systemctl status NetworkManager确认NetworkManager状态。
相关问答FAQs:

-
问题:修改网络配置文件后重启网卡失败,提示“Cannot find device”怎么办?
解答:通常是因为网卡名称错误或配置文件权限不足,首先使用ip addr确认当前系统中的网卡名称,确保ifcfg-后的名称与实际一致,然后检查文件权限,执行chmod 644 /etc/sysconfig/network-scripts/ifcfg-网卡名确保文件可读,若问题依旧,可能是NetworkManager服务未正确释放设备,尝试执行systemctl stop NetworkManager、ifup 网卡名、systemctl start NetworkManager依次操作。 -
问题:如何配置CentOS系统使用静态IP并指定多个DNS服务器?
解答:编辑网卡配置文件/etc/sysconfig/network-scripts/ifcfg-网卡名,设置BOOTPROTO=static,添加IPADDR=192.168.1.100、NETMASK=255.255.255.0、GATEWAY=192.168.1.1,并在文件中添加DNS1=8.8.8.8和DNS2=114.114.114.114指定多个DNS服务器,保存后执行ifdown 网卡名 && ifup 网卡名重启网卡,使用cat /etc/resolv.conf验证DNS配置是否生效。
