本文主要分享CentOS/RHEL 系列 和 Debian/Ubuntu 系列 中各种版本下的网卡配置方式,并详细注释每个参数的作用,帮助你完全理解每种配置格式。
【温馨提示】国产系统麒麟V10,EulerOS,openEuler,龙蜥,凝思等都是基于Redhat系列开发的,而统信UOS,深度 Deepin是基于debian系列开发的,网卡配置与其对应版本配置方法大同小异,就不一一展开讲了。
1 CentOS/RHEL 系列
1.1 CentOS6/RHEL 6:基于 ifcfg-ethX 文件(传统方式)
配置文件路径:
/etc/sysconfig/network-scripts/ifcfg-eth0
主要配置及注释:
DEVICE=eth0 # 网络接口名称,通常为 ethX,必须指定HWADDR=00:0C:29:3E:53:7E # 网卡 MAC 地址(可选),可用于绑定特定设备TYPE=Ethernet # 连接类型,通常为 EthernetUUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx # 唯一标识符(可选)ONBOOT=yes # 是否在系统启动时自动启用该接口BOOTPROTO=static # 启动时使用的协议类型:static(静态IP)、dhcp、noneIPADDR=10.0.0.100 # 静态 IP 地址NETMASK=255.255.255.0 # 子网掩码GATEWAY=10.0.0.2 # 默认网关DNS1=8.8.8.8 # 主 DNS 服务器DNS2=114.114.114.114 # 备 DNS 服务器(可选)
重启网卡信息
service network restart
查看网卡状态:该命令适用所有Linux系统
ifconfig
1.2 CentOS 7 / RHEL 7:仍支持 ifcfg-*,也支持 nmcli 管理
配置文件路径:
/etc/sysconfig/network-scripts/ifcfg-ens33
接口名已使用 predictable network names,如 ens33, enp0s3 等。
主要配置及注释:
TYPE=Ethernet # 网络类型BOOTPROTO=none # 启动协议方式,none 表示不使用 DHCP,也可以staticNAME=ens33 # 接口名称DEVICE=ens33 # 同上,必须匹配网卡名称ONBOOT=yes # 开机自动启动网络IPADDR=10.0.0.100 # 静态 IP 地址PREFIX=24 # 子网前缀长度(等价于子网掩码 255.255.255.0)GATEWAY=10.0.0.2 # 默认网关DNS1=8.8.8.8 # 主 DNSDNS2=114.114.114.114 # 备 DNS
启用配置:
systemctl restart network
1.3 CentOS 8 / RHEL 8:推荐使用 nmcli 或 nmtui 配置(仍支持 ifcfg)
使用 nmcli 命令配置静态 IP:
nmcli con add con-name <连接名> ifname <网卡名> type <连接类型> ipv4.method manual ipv4.addresses <ipv4地址> ipv4.gateway <ipv4网关地址> ipv4.dns <ipv4 dns服务器>nmcli con mod static-ens33 ipv4.dns "8.8.8.8 1.1.1.1"nmcli con mod static-ens33 ipv4.method manualnmcli con up static-ens33nmcli con down static-ens33
参数解释:
type:网络类型,如 ethernet, wifiipv4.addresses:静态 IP 地址 + 子网前缀ipv4.method manual:设置为静态 IP
使用nmtui可以直接进入图形化界面配置

2 Debian / Ubuntu 系列
2.1 Ubuntu 16.04 及 Debian 9 及以前:使用 /etc/network/interfaces
配置文件路径:
/etc/network/interfaces
主要配置及注释:
auto eth0 # 设置 eth0 在开机时自动启用iface eth0 inet static # 为 eth0 指定 IPv4 静态配置,dhcp为自动获取,下面的就不用配置了 address 10.0.0.100 # 静态 IP 地址 netmask 255.255.255.0 # 子网掩码 gateway 10.0.0.2 # 默认网关 dns-nameservers 8.8.8.8 114.114.114.114 # DNS 服务器(空格分隔多个)
启用配置:
sudo systemctl restart networking
2.2 Ubuntu 18.04+ / Debian 10+:使用 netplan
配置文件路径:
/etc/netplan/01-netcfg.yaml
Ubuntu 18.04开始是使用yaml格式的配置,需要遵循yaml格式规范,注意缩进
YAML 主要配置及注释:
network: version: 2 # netplan 配置语法版本,固定为 2 renderer: networkd # 使用 systemd-networkd 作为后台渲染器(也可为 NetworkManager) ethernets: ens33: # 网卡接口名 dhcp4: no # 不启用 DHCP(启用时为 yes) addresses: - 10.0.0.100/24 # 静态 IP 地址及子网前缀 gateway4: 10.0.0.2 # 默认网关 nameservers: addresses: - 8.8.8.8 # 主 DNS - 223.5.5.5 # 备用 DNS
应用配置:
sudo netplan apply
3 使用 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 # 设置默认路由
⚠️ 临时生效,重启后失效,常用于测试。
4 总结对比表
| | |
|---|
| | /etc/sysconfig/network-scripts/ifcfg-* |
| | |
| | nmcli |
| | /etc/network/interfaces |
| | /etc/netplan/*.yaml |
| | /etc/network/interfaces |
| | /etc/netplan/*.yaml |