在 Netplan 配置文件中,网卡名称通常是基于系统实际使用的网络接口名称来配置的。网络接口名称在现代的 Linux 发行版中,尤其是在使用 systemd 的系统上,通常采用一致的网络设备命名法(Predictable Network Interface Names)。这意味着接口名称可能类似于 eth0、ens33、enp0s3、wlp2s0 等。
如何确定网络接口名称
要确定系统中实际使用的网络接口名称,可以使用以下命令:
ip link show或者:
ifconfig -a这些命令会列出系统中的所有网络接口及其状态。例如,使用 ip link show 的输出可能类似于:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 00:0c:29:68:22:8b brd ff:ff:ff:ff:ff:ff
在这个例子中,ens33 是网络接口的名称。
Netplan 配置示例
一旦确定了实际的网络接口名称,可以在 Netplan 配置文件中使用该名称。例如,如果你的网络接口名称是 ens33,你可以这样配置:
network:
version: 2
ethernets:
ens33:
dhcp4: no
addresses:
- 192.0.2.10/24
gateway4: 192.0.2.9
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4关键点
- 实际接口名称:必须使用系统中实际存在的接口名称。不能随意定义接口名称。
- 预测性命名:现代系统通常使用一致的网络设备命名法,如
ens33、enp0s3等。旧的eth0等命名方式在新系统中可能不会使用。 - 验证配置:在编辑完 Netplan 配置文件后,可以使用
sudo netplan try命令进行测试配置。如果没有问题,再使用sudo netplan apply应用配置。
例子
假设你的接口名称是 ens33,以下是一个完整的 Netplan 配置示例:
-
确定接口名称:
ip link show假设输出包含:
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 00:0c:29:68:22:8b brd ff:ff:ff:ff:ff:ff -
编辑 Netplan 配置文件:
sudo nano /etc/netplan/01-netcfg.yaml -
配置文件内容:
network: version: 2 ethernets: ens33: dhcp4: no addresses: - 192.0.2.10/24 gateway4: 192.0.2.9 nameservers: addresses: - 8.8.8.8 - 8.8.4.4 -
测试并应用配置:
sudo netplan try sudo netplan apply
通过这些步骤,可以正确配置 Netplan 中的网络接口名称,并确保网络设置生效。
在现代 Linux 系统中,网络接口名称通常使用一致的网络设备命名法(Predictable Network Interface Names),这可以提高系统的稳定性和可管理性。不过,如果你需要更改网络接口名称,确实可以通过配置来实现。
修改网络接口名称
修改网络接口名称通常涉及到配置 udev 规则或修改 GRUB 引导参数。下面是详细步骤:
方法一:使用 udev 规则修改网络接口名称
-
创建或编辑
udev规则文件:创建一个新的
udev规则文件或编辑现有文件。例如,创建一个名为/etc/udev/rules.d/10-network-interfaces.rules的文件:sudo nano /etc/udev/rules.d/10-network-interfaces.rules -
添加
udev规则:添加规则以指定新名称。假设你想将
ens33改为eth0,可以添加如下内容:SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:0c:29:68:22:8b", NAME="eth0"注意:
ATTR{address}是网络接口的 MAC 地址。你可以通过ip link show或ifconfig -a获取。NAME是你想设置的新网络接口名称。
-
重新加载
udev规则并重启网络服务:sudo udevadm control --reload-rules sudo systemctl restart networking或者,你可以重启系统以确保更改生效:
sudo reboot
方法二:修改 GRUB 引导参数
修改 GRUB 引导参数可以禁用一致的网络设备命名法,恢复到旧的命名方式(例如 eth0)。
-
编辑 GRUB 配置文件:
sudo nano /etc/default/grub -
修改 GRUB_CMDLINE_LINUX 参数:
在
GRUB_CMDLINE_LINUX行中添加net.ifnames=0 biosdevname=0参数:GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0" -
更新 GRUB 配置并重启系统:
sudo update-grub sudo reboot
这会禁用一致的网络设备命名法,使系统使用旧的命名方式。
确认更改
重启系统后,使用以下命令确认网络接口名称已经更改:
ip link show或
ifconfig -a重要提示
修改网络接口名称时需要小心,因为错误的配置可能会导致网络不可用。确保你有其他方式访问系统(如通过本地控制台或备用网络接口)以便在发生问题时进行修复。