
我正在嘗試在啟動時正確配置 Ubuntu 20.04 伺服器網路。我有一個連接到中繼的實體接口,因此我想在其上定義一些帶有 VLAN 標記的介面。我正在使用網路計劃。內容/etc/netplan/50-cloud-init.yaml
如下:
network:
ethernets:
eno1:
match:
macaddress: b8:83:03:XX:XX:XX
mtu: 1500
eno2:
...
version: 2
vlans:
vlan3110:
id: 3110
link: eno1
dhcp4: no
addresses: [X.X.X.X/24]
gateway4: X.X.X.X
vlan3112:
id: 3112
link: eno1
dhcp4: no
vlan3111:
id: 3111
link: eno1
dhcp4: no
現在,如果我重新啟動系統,則不會為 vlan3110 分配任何 IP:
#ip a
...
9: vlan3110@eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether b8:83:03:XX:XX:XX brd ff:ff:ff:ff:ff:ff
inet6 fe80::ba83:3ff:XXXX:XXXX/64 scope link
valid_lft forever preferred_lft forever
...
我不明白為什麼。我-vv
在networkd-dispatcher
啟動選項中新增了/etc/default/networkd-dispatcher
:
networkd_dispatcher_args="--run-startup-triggers -vv"
但我看不到任何明確的問題:
# journalctl -b | grep vlan3110
Dec 01 17:45:17 hce02 networkd-dispatcher[1565]: DEBUG:Running immediate triggers for NetworkctlListState(idx=9, name='vlan3110', type='vlan', operational='degraded', administrative='pending')
Dec 01 17:45:17 hce02 networkd-dispatcher[1565]: DEBUG:Ignoring notification for interface NetworkctlListState(idx=9, name='vlan3110', type='vlan', operational='degraded', administrative='pending') entering state 'pending': no triggers
Dec 01 17:45:17 hce02 networkd-dispatcher[1565]: DEBUG:Ignoring notification for interface NetworkctlListState(idx=9, name='vlan3110', type='vlan', operational='degraded', administrative='pending') entering state 'degraded': no triggers
networkctl
輸出如下:
# networkctl status vlan3110
● 9: vlan3110
Link File: /run/systemd/network/10-netplan-eno1.link
Network File: /run/systemd/network/10-netplan-eno1.network
Type: vlan
State: degraded (configured)
Driver: 802.1Q VLAN Support
HW Address: b8:83:03:4d:ca:48 (Hewlett Packard Enterprise)
MTU: 1500 (max: 65535)
Queue Length (Tx/Rx): 1/1
Auto negotiation: yes
Speed: 1Gbps
Duplex: full
Port: tp
Address: fe80::ba83:3ff:fe4d:ca48
Dec 01 18:18:08 hce02 systemd-networkd[1444]: vlan3110: netdev ready
Dec 01 18:18:08 hce02 systemd-networkd[1444]: vlan3110: IPv6 successfully enabled
Dec 01 18:18:08 hce02 systemd-networkd[1444]: vlan3110: Link UP
Dec 01 18:18:12 hce02 systemd-networkd[1444]: vlan3110: Gained carrier
Dec 01 18:18:14 hce02 systemd-networkd[1444]: vlan3110: Gained IPv6LL
如果我刪除連結並netplan apply
在伺服器完成啟動過程後調用,則 IP 將按預期分配:
# ip link delete dev vlan3110
# netplan apply
有人知道怎麼回事?