CentOS 7 网络配置文件详解
CentOS 7 的网络配置涉及多个文件和工具,包括传统的 ifcfg 类型配置文件、NetworkManager 以及相关命令行工具,本文将详细介绍这些配置文件和工具的使用方法,帮助您更好地理解和管理 CentOS 7 的网络设置。
一、网卡配置文件/etc/sysconfig/networkscripts/
在 CentOS 7 中,网卡配置文件位于/etc/sysconfig/networkscripts/
目录下,每个网卡对应一个以ifcfg
开头的文件,第一个以太网接口通常命名为ifcfgens33
,第二个为ifcfgens32
,依此类推,以下是一些关键参数的解释:
参数名 | 描述 |
DEVICE | 指定网卡设备的名称,例如eth0 ,ens33 。 |
BOOTPROTO | 指定是否使用动态(dhcp)或静态(static)IP 地址分配,可选值有none (无协议)、bootp (使用 BOOTP 协议)、dhcp (使用 DHCP 协议)和static (手动设置静态 IP)。 |
ONBOOT | 表示启动时是否激活该网络接口,值为yes 表示激活,no 表示不激活。 |
TYPE | 指定网络类型,一般为Ethernet 。 |
USERCTL | 是否允许非特权用户控制该网络接口,默认为no 。 |
PEERDNS | 是否从路由器获取 DNS 服务器信息,默认为yes 。 |
IPV6INIT | 是否启用 IPv6,默认为no 。 |
PERSISTENT_DHCLIENT | DHCP 客户端状态的持久化存储,默认为1 。 |
HWADDR | 网卡的 MAC 地址。 |
GATEWAY | 网关地址。 |
NETMASK | 子网掩码。 |
IPADDR | IP 地址。 |
示例
以下是一个典型的网卡配置文件示例(路径为/etc/sysconfig/networkscripts/ifcfgens33
):
DEVICE=ens33 BOOTPROTO=static ONBOOT=yes TYPE=Ethernet USERCTL=yes PEERDNS=yes IPV6INIT=no PERSISTENT_DHCLIENT=1 HWADDR=00:0c:29:0b:07:76 GATEWAY=192.168.1.1 NETMASK=255.255.255.0 IPADDR=192.168.1.100
二、域名解析配置文件
1./etc/resolv.conf
该文件用于配置 DNS 服务器,内容如下:
nameserver 8.8.8.8 nameserver 114.114.114.114
`/etc/hosts`
该文件用于主机名与 IP 地址的匹配,格式如下:
127、0.0.1 localhost 192、168.1.100 centos7.localdomain centos7
三、NetworkManager
CentOS 7 默认使用 NetworkManager 管理网络连接,NetworkManager 提供了图形界面和命令行工具(nmcli, nmtui)来配置网络。
安装和启动 NetworkManager
yum install NetworkManager systemctl start NetworkManager systemctl enable NetworkManager
禁用 NetworkManager
在某些情况下,如服务器或虚拟机环境中,可能会关闭 NetworkManager 以避免冲突:
systemctl stop NetworkManager systemctl disable NetworkManager
nmcli 命令行工具
nmcli 是 NetworkManager 的命令行界面,可以用于显示和修改网络配置,常用命令如下:
查看网络连接状态:nmcli general status
显示所有设备:nmcli device status
显示所有连接:nmcli connection show
添加新连接:nmcli connection add type ... conname "MyConnection" ifname "eth0" ...
删除连接:nmcli connection delete MyConnection
启用连接:nmcli connection up id "MyConnection"
禁用连接:nmcli connection down id "MyConnection"
nmtui 文本用户界面工具
nmtui 提供了一个基于文本的用户界面,用于编辑网络连接:
nmtui
通过箭头键导航,按 Enter 选择选项,按 Esc 返回上一级菜单。
nmconnectioneditor 图形界面工具
对于桌面环境,还可以使用 nmconnectioneditor 进行图形化配置:
nmconnectioneditor
四、相关命令和工具
ifconfig
ifconfig 命令用于查看和配置网络接口的参数:
ifconfig [interface]
查看特定接口的配置:
ifconfig ens33
临时设置 IP 地址:
ifconfig ens33 192.168.1.100 netmask 255.255.255.0 up
systemctl
systemctl 命令用于控制网络服务的状态:
systemctl restart network # 重启网络服务使配置生效 systemctl status network # 查看网络服务状态
五、常见问题及解答(FAQs)
Q1:如何更改网卡名称?
A1:CentOS 7 使用固件信息、网络拓扑等信息自动生成网卡名称,如果需要更改网卡名称,可以通过修改/etc/udev/rules.d/70persistentnet.rules
文件来实现,但需要注意的是,这种方法在系统重启后可能需要重新配置,推荐使用 NetworkManager 提供的 nmcli 命令行工具来管理网卡配置。
Q2:如何排查网络故障?
A2:排查网络故障可以从以下几个方面入手:首先检查物理连接是否正常;然后使用ip a
或ifconfig
命令查看网络接口状态;接着使用ping
命令测试网络连通性;最后查看系统日志(如/var/log/messages
)以获取更多错误信息。