运行 Debian 12 时,我的以太网卡使用 DHCP 获取 IP,我想向同一接口 VLAN 30 添加 VLAN 配置,并为其分配静态 IP。这是我的 /etc/network/interfaces:
auto lo
iface lo inet loopback
# The primary network interface
auto enp0s25
allow-hotplug enp0s25
iface enp0s25 inet dhcp
#VLAN
auto enp0s25.30
iface enp0s25.30 inet static
address 192.168.30.2
netmask 255.255.255.0
gateway 192.168.30.1
vlan-raw-device enp0s25
无论重新启动 NetworkManager 还是重新启动,都无法激活 enp0s25.30 接口。NetworkManger 日志仅显示与 .30 VLAN 相关的这一行:
NetworkManager[2239]: <info> [1718593439.7242] ifupdown: guessed connection type (enp0s25.30) = 802-3-ethernet
请注意,我的安装使用 NetworkManager 和 dhclient 来配置接口。我没有安装 ifupdown。我没有在 dhclient.conf 中配置任何内容,因为我假设 NetworkManager 会注意到“inet static”并使用它。
另请注意,我在 NetworkManager.conf 中进行了以下设置:
[ifupdown]
managed=true
如果我手动运行,我可以启动界面:
ip link add link enp0s25 name enp0s25.30 type vlan id 30
ip addr add 192.168.30.2/24 dev enp0s25.30
ip link set dev enp0s25.30 up
但当然,重启后这种情况不会持续
任何帮助使其工作完成的帮助都将受到感谢。
我遇到了同样的问题。Vlan 没有激活。接口中的配置也和你的一样。
我通过使用 systemd-networkd 服务解决了这个问题。接口似乎在 Debian 12 中已被弃用,仅用于简单的 IP 设置。
以下是我的做法:
/etc/systemd/network/10-enp0s25.network
接下来,由于 Vlan 没有物理设备,您需要先添加虚拟“netdev”设备来创建 Vlan。
/etc/systemd/network/10-enp0s25.30.netdev
最后为 vlan 设备创建网络。这是通过网络文件完成的。
/etc/systemd/network/10-enp0s25.30.network
它们需要是 644。否则 systemd 无法加载它们,您将无法配置网络接口!
如果一切正常,您现在就可以重新启动并使用 KVM 观看。
我的设置中的 Vlan 接口现在很稳定。
使用 systemd 是一个可行的解决方案,但它并不能解决核心问题。
managed=true
此外,如果在 /etc/NetworkManager/NetworkManager.conf 中设置了标志,NetworkManager 确实可以使用 /etc/network/interfaces 进行配置。就我的情况而言,NetworkManager 已经在 /etc/NetworkManager/system-connections 中配置了相关以太网接口的配置。显然它必须先查看该位置,导致 /etc/network/interfaces 被忽略。
也就是说,我决定使用 ifupdown2 而不是 NetworkManager 进行配置,因为这是一个服务器,而不是桌面,并且很少会看到网络变化。