
시스템 IP 구성 b4 netplan 편집:
root@pro-rpi-02:/# ip a sh
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether dc:a6:32:b3:45:e0 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.2/26 brd 192.168.1.63 scope global eth0
valid_lft forever preferred_lft forever
inet 192.168.1.7/26 brd 192.168.1.63 scope global secondary eth0
valid_lft forever preferred_lft forever
inet6 fe80::4569:7d7a:108d:c2ad/64 scope link
valid_lft forever preferred_lft forever
Netplan에 VLAN을 추가했습니다.
root@pro-rpi-02:/# more /etc/netplan/01-netcfg.yaml
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
addresses:
- 192.168.1.2/26
gateway4: 192.168.1.10
nameservers:
addresses: [192.168.1.24]
search: [hello.home]
vlans:
vlan.8:
id: 8
link: eth0
dhcp4: no
addresses:
- 192.168.8.2/24
이제 재미있는 부분은 다음과 같습니다.
root@pro-rpi-02:/cluster/Radius# ip addr sh
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether dc:a6:32:b3:45:e0 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.2/26 brd 192.168.1.63 scope global eth0
valid_lft forever preferred_lft forever
inet 192.168.1.5/26 brd 192.168.1.63 scope global secondary eth0
valid_lft forever preferred_lft forever
inet6 fe80::4569:7d7a:108d:c2ad/64 scope link
valid_lft forever preferred_lft forever
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
link/ether dc:a6:32:b3:45:e1 brd ff:ff:ff:ff:ff:ff
4: vlan.8@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether dc:a6:32:b3:45:e0 brd ff:ff:ff:ff:ff:ff
inet 192.168.8.2/24 brd 192.168.8.255 scope global vlan.8
valid_lft forever preferred_lft forever
inet 192.168.8.112/24 brd 192.168.8.255 scope global secondary noprefixroute vlan.8
valid_lft forever preferred_lft forever
내가 왜 DHCP 주소가 192.168.8.112/24인지 설명할 수 있는 사람이 있나요? 아니면 적어도 어디서부터 볼 수 있는지 알려주세요.
root@pro-rpi-02:/# netplan --debug generate
DEBUG:command generate: running ['/lib/netplan/generate']
** (generate:750570): DEBUG: 12:17:28.037: Processing input file /etc/netplan/01-netcfg.yaml..
** (generate:750570): DEBUG: 12:17:28.038: starting new processing pass
** (generate:750570): DEBUG: 12:17:28.038: We have some netdefs, pass them through a final round of validation
** (generate:750570): DEBUG: 12:17:28.038: eth0: setting default backend to 1
** (generate:750570): DEBUG: 12:17:28.038: Configuration is valid
** (generate:750570): DEBUG: 12:17:28.038: vlan.8: setting default backend to 1
** (generate:750570): DEBUG: 12:17:28.039: Configuration is valid
** (generate:750570): DEBUG: 12:17:28.040: Generating output files..
** (generate:750570): DEBUG: 12:17:28.040: openvswitch: definition eth0 is not for us (backend 1)
** (generate:750570): DEBUG: 12:17:28.040: NetworkManager: definition eth0 is not for us (backend 1)
** (generate:750570): DEBUG: 12:17:28.040: openvswitch: definition vlan.8 is not for us (backend 1)
** (generate:750570): DEBUG: 12:17:28.040: NetworkManager: definition vlan.8 is not for us (backend 1)
업데이트 1, 요청한 대로 출력은 다음과 같습니다. 여기서는 여전히 도움이 될 만한 내용이 표시되지 않습니다. :)
root@pro-rpi-02:~# networkctl --full --all --no-pager status
● 1: lo
Link File: /usr/lib/systemd/network/99-default.link
Network File: n/a
Type: loopback
State: carrier (unmanaged)
MTU: 65536
QDisc: noqueue
IPv6 Address Generation Mode: eui64
Queue Length (Tx/Rx): 1/1
Address: 127.0.0.1
● 2: eth0
Link File: /usr/lib/systemd/network/99-default.link
Network File: /run/systemd/network/10-netplan-eth0.network
Type: ether
State: routable (failed)
Path: platform-fd580000.ethernet
Driver: bcmgenet
HW Address: dc:a6:32:b3:45:e0 (Raspberry Pi Trading Ltd)
MTU: 1500 (min: 68, max: 1500)
QDisc: mq
IPv6 Address Generation Mode: eui64
Queue Length (Tx/Rx): 5/5
Auto negotiation: yes
Speed: 1Gbps
Duplex: full
Port: mii
Address: 192.168.1.2
192.168.1.5
192.168.1.7
fe80::4569:7d7a:108d:c2ad
Gateway: 192.168.1.10
DNS: 192.168.1.24
Search Domains: hello.home
DHCP6 Client DUID: DUID-EN/Vendor:0000ab112ca77a819cd16ac00000
Mar 10 22:03:14 pro-rpi-02 systemd-networkd[926]: eth0: IPv6 successfully enabled
Mar 10 22:03:14 pro-rpi-02 systemd-networkd[926]: eth0: Link UP
Apr 19 16:51:22 pro-rpi-02 systemd-networkd[926]: eth0: Gained carrier
Apr 19 16:51:24 pro-rpi-02 systemd-networkd[926]: eth0: Gained IPv6LL
Apr 20 16:32:48 pro-rpi-02 systemd-networkd[926]: eth0: DHCPv6 lease lost
Apr 20 16:32:48 pro-rpi-02 systemd-networkd[672911]: eth0: Gained IPv6LL
Apr 20 16:32:48 pro-rpi-02 systemd-networkd[672911]: eth0: IPv6 successfully enabled
Apr 20 16:32:48 pro-rpi-02 systemd-networkd[672911]: eth0: Could not set route: Nexthop has invalid gateway. Network is unreachable
Apr 20 16:32:48 pro-rpi-02 systemd-networkd[672911]: eth0: Failed
● 3: wlan0
Link File: /usr/lib/systemd/network/99-default.link
Network File: n/a
Type: wlan
State: no-carrier (unmanaged)
Path: platform-fe300000.mmcnr
Driver: brcmfmac
HW Address: dc:a6:32:b3:45:e1 (Raspberry Pi Trading Ltd)
MTU: 1500 (min: 68, max: 1500)
QDisc: fq_codel
IPv6 Address Generation Mode: none
Queue Length (Tx/Rx): 1/1
Apr 19 16:51:22 pro-rpi-02 systemd-networkd[926]: wlan0: Link UP
● 4: vlan8
Link File: /usr/lib/systemd/network/99-default.link
Network File: /run/systemd/network/10-netplan-vlan8.network
Type: vlan
State: routable (configuring)
Driver: 802.1Q VLAN Support
HW Address: dc:a6:32:b3:45:e0 (Raspberry Pi Trading Ltd)
MTU: 1500 (max: 65535)
QDisc: noqueue
IPv6 Address Generation Mode: eui64
VLan Id: 8
Queue Length (Tx/Rx): 1/1
Auto negotiation: yes
Speed: 1Gbps
Duplex: full
Port: mii
Address: 192.168.8.2
192.168.8.112
Gateway: 192.168.8.10
DHCP6 Client DUID: DUID-EN/Vendor:0000ab112ca77a819cd16ac00000
Apr 20 16:32:48 pro-rpi-02 systemd-networkd[672911]: vlan8: netdev ready
Apr 20 16:32:49 pro-rpi-02 systemd-networkd[672911]: vlan8: Link UP
Apr 20 16:32:49 pro-rpi-02 systemd-networkd[672911]: vlan8: Gained carrier
Apr 20 16:32:49 pro-rpi-02 systemd-networkd[672911]: vlan8: IPv6 successfully enabled
답변1
여기서 수정 사항을 찾는 데 X시간을 보낸 후, 저는 그냥 비활성화하기로 결정했습니다.dhcpcd서비스:
root@pro-rpi-02:~# systemctl status dhcpcd.service
● dhcpcd.service - DHCP Client Daemon
Loaded: loaded (/lib/systemd/system/dhcpcd.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:dhcpcd(8)
이제 모든 것이 내가 원하는 대로 작동하고 있습니다.
root@pro-rpi-02:~# more /etc/netplan/01-netcfg.yaml
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
dhcp6: no
addresses:
- 192.168.1.2/26
gateway4: 192.168.1.10
nameservers:
addresses: [192.168.1.24]
search: [hello.home]
vlans:
vlan8:
id: 8
link: eth0
dhcp4: no
dhcp6: no
addresses:
- 192.168.8.2/24
root@pro-rpi-02:~# ip a sh vlan8
4: vlan8@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether dc:a6:32:b3:45:e0 brd ff:ff:ff:ff:ff:ff
inet 192.168.8.2/24 brd 192.168.8.255 scope global vlan8
valid_lft forever preferred_lft forever
inet6 fe80::dea6:32ff:feb3:45e0/64 scope link
valid_lft forever preferred_lft forever
답변2
기록에 따르면 Ubuntu 18.04에서 20.04로 업그레이드하고 netplan을 사용하면서 IPv6에서도 비슷한 문제가 발생했습니다. 이제 두 개의 IPv6 주소가 있다는 것을 알았습니다.
- 자동 DHCP? 하나
2001:19f0:6801:1dc3:5400:3ff:feeb:abea
- 내가 정적으로 선택한 사용자 정의
2001:19f0:6801:1dc3::1
> ip addr
[...]
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 56:00:03:eb:ab:ea brd ff:ff:ff:ff:ff:ff
inet 217.69.14.107/23 brd 217.69.15.255 scope global enp1s0
valid_lft forever preferred_lft forever
inet6 2001:19f0:6801:1dc3:5400:3ff:feeb:abea/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 2591957sec preferred_lft 604757sec
inet6 2001:19f0:6801:1dc3::1/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::5400:3ff:feeb:abea/64 scope link
valid_lft forever preferred_lft forever
> curl ifconfig.io
2001:19f0:6801:1dc3:5400:3ff:feeb:abea
그리고 DHCP가 첫 번째이므로 기본적으로 사용되며 이는 내가 원하는 것이 아닙니다(더 짧은 사용자 정의 IPv6를 사용하고 싶습니다).
dhcp6을 비활성화하려고 시도했지만 dhcp6: no
DHCP 주소는 항상 존재했습니다. 또한 사용자 지정 주소를 먼저 갖도록 순서를 변경하는 쉬운 방법도 찾지 못했습니다. 많은 시행착오 끝에 이것이 DHCP가 아닌 "라우터 광고"에 의해 발생했다는 사실을 발견했습니다. 따라서 이를 비활성화 accept-ra: no
하고 기본 경로를 수동으로 설정해야 했습니다. 이 경로도 라우터 광고에 의해 구성되었기 때문입니다.
내 최종 구성 파일은 다음과 같습니다.
network:
version: 2
renderer: networkd
ethernets:
enp1s0:
dhcp4: yes
accept-ra: no # otherwise we get auto IPv6 too
addresses: ['2001:19f0:6801:1dc3::1/64']
gateway6: fe80::fc00:3ff:feeb:abea
(여기서는 로컬 확인자를 실행하고 있기 때문에 여기에는 네임서버를 지정하지 않았지만 사용자가 지정해야 할 수도 있습니다.)
그리고 마침내 사용자 정의 IPv6만 갖게 되었고 제대로 작동합니다.
> ip addr
[...]
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 56:00:03:eb:ab:ea brd ff:ff:ff:ff:ff:ff
inet 217.69.14.107/23 brd 217.69.15.255 scope global dynamic enp1s0
valid_lft 86397sec preferred_lft 86397sec
inet6 2001:19f0:6801:1dc3::1/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::5400:3ff:feeb:abea/64 scope link
valid_lft forever preferred_lft forever
> curl ifconfig.io
2001:19f0:6801:1dc3::1