
부팅 시 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
무슨 일이 일어나고 있는지 아는 사람 있나요?