在CentOS系统中,正确配置网卡和DNS是确保服务器能够稳定连接网络、解析域名的基础操作,本文将详细介绍CentOS 7及以后版本中网卡配置和DNS设置的详细步骤,包括通过配置文件、命令行工具以及NetworkManager管理网络的方法,帮助用户快速掌握网络配置技能。

网卡配置基础
CentOS系统的网卡配置主要通过/etc/sysconfig/network-scripts/目录下的配置文件实现,该目录下每个网卡对应一个ifcfg-ethX文件(如ifcfg-eth0、ifcfg-enp0s3等),以传统网络服务(network.service)为例,网卡配置的核心参数包括:
- DEVICE:指定网卡设备名称,如
DEVICE=eth0。 - BOOTPROTO:设置IP地址获取方式,可选
static(静态IP)、dhcp(动态获取)或none(手动配置)。 - IPADDR:静态IP地址,如
IPADDR=192.168.1.100。 - NETMASK:子网掩码,如
NETMASK=255.255.255.0。 - GATEWAY:默认网关,如
GATEWAY=192.168.1.1。 - ONBOOT:是否开机启动网卡,设置为
yes确保网卡可用。
配置示例(静态IP):
TYPE=Ethernet BOOTPROTO=static IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 ONBOOT=yes DEVICE=eth0
配置完成后,使用service network restart或systemctl restart network重启网络服务使配置生效,若使用NetworkManager(默认服务),可通过nmtui命令行工具或图形界面进行可视化配置,操作更为便捷。
DNS服务器配置
DNS配置用于将域名解析为IP地址,主要涉及两个文件:/etc/resolv.conf和网卡配置文件中的DNS参数。
通过网卡配置文件设置DNS
在ifcfg-ethX文件中添加以下参数:

- DNS1:首选DNS服务器,如
DNS1=8.8.8.8。 - DNS2:备用DNS服务器,如
DNS2=114.114.114.114。
配置后重启网络服务,DNS信息会自动写入/etc/resolv.conf。
直接编辑resolv.conf
临时修改DNS可直接编辑/etc/resolv.conf文件,添加以下内容:
nameserver 8.8.8.8 nameserver 114.114.114.114
注意:直接编辑此文件在NetworkManager管理下可能被覆盖,建议优先通过网卡配置文件或NetworkManager工具设置。
使用NetworkManager管理DNS
通过nmcli命令行工具可灵活配置DNS:
# 设置DNS并保存为连接配置 nmcli con mod "eth0" ipv4.dns "8.8.8.8 114.114.114.114" nmcli con mod "eth0" ipv4.ignore-auto-dns yes nmcli con up "eth0"
此方法可确保配置持久化,且不会被DHCP服务器覆盖。

验证网络配置
配置完成后,可通过以下命令验证网络连通性和DNS解析:
ip a或ifconfig:查看网卡IP地址是否正确。ping 网关IP:测试与本地网络的连通性。ping www.baidu.com:测试DNS解析是否正常。nslookup 域名:详细查询域名解析结果。
若DNS解析失败,检查/etc/resolv.conf中的nameserver配置是否正确,或确认网卡配置中的DNS参数是否生效。
常见问题与优化
- 网络服务启动失败:检查网卡配置文件语法是否正确,确保
ONBOOT=yes且IP地址、网关无冲突。 - DNS配置不生效:若使用NetworkManager,避免直接编辑
/etc/resolv.conf,优先通过nmcli或nmtui工具配置。 - 多网卡路由问题:可通过
ip route add default via 网关 dev 网卡命令添加静态路由,或配置/etc/sysconfig/network-scripts/route-ethX文件实现复杂网络环境下的路由管理。
FAQs
Q1:为什么修改了网卡配置文件后网络仍未生效?
A1:可能原因包括:1)未重启网络服务(systemctl restart network);2)配置文件语法错误(如缺少引号或拼写错误);3)NetworkManager服务未关闭或冲突,建议使用nmcli con show检查连接状态,或通过nmtui工具重新配置以确保兼容性。
Q2:如何为CentOS服务器配置多个DNS服务器?
A2:在网卡配置文件中添加DNS1和DNS2参数(如DNS1=8.8.8.8、DNS2=114.114.114.114),或使用nmcli命令一次性指定多个DNS(如nmcli con mod "eth0" ipv4.dns "8.8.8.8 114.114.114.114"),系统会按顺序依次尝试解析,提高域名解析的可靠性。