双重标记网络接口...如果未使用自动,则失败

双重标记网络接口...如果未使用自动,则失败

我确实有一个巨大的 Linux 路由器设置。有 3 个真正的 IF 和大约 200 个带有 IP 的桥接器,而 ubuntu 在启动阶段需要很长时间才能启动它们。

我虽然不担心,但还是删除了这些 auto ens19.xxx东西,然后在自己的启动脚本中将它们调出来......

但此后部分接口配置未找到。

这是特定桥的 IF 配置文件内容。自动 ens ... 部分已存在,此操作成功!

 #auto ens19.2023
iface ens19.2023 inet manual
   vlan-raw-device ens19

#auto ens19.2023.4
iface ens19.2023.4 inet manual
   vlan-raw-device ens19.2023

#auto ens19.2023.4090
iface ens19.2023.4090 inet manual
   vlan-raw-device ens19.2023

#auto br_TB123
iface br_TB123 inet static
   address 10.160.61.97
   netmask 255.255.255.240
   dns-nameservers 10.160.5.2
   bridge_ports ens19.2023 ens19.2023.4 ens19.2023.4090

ifup -v ens19.2023 按预期工作

Parsing file /etc/network/interfaces.d/TB123.cfg
Reading directory /etc/network/interfaces.d
if test -d /sys/class/net/ens19 -a             ! -d /sys/class/net/ens19.2023 ;     then         if test -d /sys/class/net/ens19/device/infiniband; then             echo 0x2023 > /sys/class/net/ens19/create_child;         else             /bin/ip link set up dev ens19;             /bin/ip link add link ens19 name ens19.2023 type vlan id 2023;      fi;     fi

Configuring interface ens19.2023=ens19.2023 (inet)
/bin/run-parts --exit-on-error --verbose /etc/network/if-pre-up.d
run-parts: executing /etc/network/if-pre-up.d/bridge
run-parts: executing /etc/network/if-pre-up.d/ethtool
run-parts: executing /etc/network/if-pre-up.d/ifenslave
+ [ inet = meta ]
+ IF_BOND_SLAVES=
+ [  ]
+ [  ]
+ [ -z  ]
+ exit
run-parts: executing /etc/network/if-pre-up.d/vlan
Set name-type for VLAN subsystem. Should be visible in /proc/net/vlan/config
run-parts: executing /etc/network/if-pre-up.d/wpasupplicant


/bin/ip link set dev ens19.2023 up 2>/dev/null || true
/bin/run-parts --exit-on-error --verbose /etc/network/if-up.d
run-parts: executing /etc/network/if-up.d/000resolvconf
run-parts: executing /etc/network/if-up.d/ethtool
run-parts: executing /etc/network/if-up.d/ifenslave
+ [ inet = meta ]
+ [  ]
run-parts: executing /etc/network/if-up.d/ip
run-parts: executing /etc/network/if-up.d/openssh-server
run-parts: executing /etc/network/if-up.d/vlan
run-parts: executing /etc/network/if-up.d/wpasupplicant
root@dsr-router-1:/etc/network#

但以下ifup -v ens19.2023.4 failed

if test -d /sys/class/net/ens19 -a             ! -d /sys/class/net/ens19.2023.4 ;     then         if test -d /sys/class/net/ens19/device/infiniband; then             echo 0x2023 > /sys/class/net/ens19/create_child;         else             /bin/ip link set up dev ens19;             /bin/ip link add link ens19 name ens19.2023.4 type vlan id 2023;  fi;     fi
RTNETLINK answers: File exists
Ignoring unknown interface ens19.2023.4=ens19.2023.4.

对我来说,这里的 IP 链接部分有问题

//// 更新 /////

我在 /etc/network/if-pre-up.d/vlan 中添加了打印内容,并仅启动了主 vlanifup ens19.2023

但你自己看看

root@dsr-router-1:~# ifup ens19.2023
ens19.2023
Set name-type for VLAN subsystem. Should be visible in /proc/net/vlan/config
ens19.2023.4
Set name-type for VLAN subsystem. Should be visible in /proc/net/vlan/config
Added VLAN with VID == 4 to IF -:ens19.2023:-
ens19.2023.4090
Set name-type for VLAN subsystem. Should be visible in /proc/net/vlan/config
Added VLAN with VID == 4090 to IF -:ens19.2023:-
root@dsr-router-1:~#

ifup 正在遍历所有名称以 ens19.2023 开头的接口,这肯定是错误的

相关内容