커널 5.15와 시스템 버전 250.5+를 실행하는 Linux 시스템이 3대 있습니다.
SystemD에서 관리하는 DHCP 서버를 사용하여 BATMAN 그리드 마스터로 실행되는 상자 하나가 있고 나머지 두 개는 그리드 클라이언트입니다.
DHCP 서버가 Mac 주소를 기반으로 메시 클라이언트에 IP 주소를 할당하기를 원합니다. IAID/DUID를 기반으로 IP를 할당하는 것을 원하지 않습니다. 이렇게 하려면 문서에 다음을 사용하라고 나와 있습니다.client_id=mac, 난 끝냈어. 문제는 내 클라이언트에 여러 개의 IP 주소가 할당되어 있다는 것입니다. 일부는 Mac 주소를 기반으로 하고 일부는 분명히 DUID를 기반으로 합니다.
BATMAN을 사용하여 클라이언트 식별자 mac만 존중하도록 systemd-networkd에서 DHCP 서버를 어떻게 구성합니까? 감사해요.
마스터의 bat0.network 파일은 다음과 같습니다.
root@mesh-master:/etc/systemd/network# cat bat0.network
[Match]
Name=bat0
[Network]
Address=10.10.10.1/24
DHCPServer=true
[DHCPV4]
DUIDType=link-layer
ClientIdentifier=mac
[DHCPServer]
PoolOffset=10
PoolSize=8
EmitsDNS=yes
DNS=8.8.8.8
EmitNTP=yes
NTP=10.10.10.1
Networkctl 그리드 기본 상태:
root@mesh-master:~# networkctl status bat0
● 6: bat0
Link File: n/a
Network File: /etc/systemd/network/bat0.network
Type: ether
State: routable (configured)
Online state: online
Driver: B.A.T.M.A.N. advanced
Hardware Address: 66:4e:8d:94:88:b7
MTU: 1500 (min: 68, max: 1500)
QDisc: noqueue
IPv6 Address Generation Mode: eui64
Queue Length (Tx/Rx): 1/1
Address: 10.10.10.1
169.254.12.198
fe80::644e:8dff:fe94:88b7
fe80::d061:ecd7:c3fd:aef1
Activation Policy: up
Required For Online: yes
DHCP6 Client DUID: DUID-EN/Vendor:0000ab113a78856d82eaf5680000
Offered DHCP leases: 10.10.10.13 (to a6:d2:9c:dc:0c:61)
10.10.10.14 (to IAID:0x9cdc0c61/DUID)
10.10.10.17 (to IAID:0x127060c/DUID)
10.10.10.15 (to IAID:0x127060c/DUID)
10.10.10.12 (to 5a:e6:01:27:06:0c)
10.10.10.16 (to IAID:0x127060c/DUID)
클라이언트 네트워크 파일(bat0.network):
root@mesh-client:~# cat /etc/systemd/network/bat0.network
[Match]
Name=bat0
[Network]
DHCP=ipv4
[DHCP]
ClientIdentifier=mac
그리드 클라이언트의 Networkctl 상태 bat0:
root@mesh-client:~# networkctl status bat0 -l
● 6: bat0
Link File: n/a
Network File: /etc/systemd/network/bat0.network
Type: ether
State: routable (configured)
Online state: online
Driver: B.A.T.M.A.N. advanced
Hardware Address: a6:d2:9c:dc:0c:61
MTU: 1500 (min: 68, max: 1500)
QDisc: noqueue
IPv6 Address Generation Mode: eui64
Queue Length (Tx/Rx): 1/1
Address: 10.10.10.13 (DHCP4 via 10.10.10.1)
10.10.10.14
fe80::1273:a607:f897:6bd3
fe80::a4d2:9cff:fedc:c61
Gateway: 10.10.10.1
10.10.10.1
DNS: 8.8.8.8
NTP: 10.10.10.1
Activation Policy: up
Required For Online: yes
Time Zone: UTC
DHCP4 Client ID: a6:d2:9c:dc:0c:61
DHCP6 Client DUID: DUID-EN/Vendor:0000ab11482afb1e3d85f23a0000
Mar 30 16:06:07 iot-gate-imx8plus systemd-networkd[459]: bat0: Link UP
Mar 30 16:06:07 iot-gate-imx8plus systemd-networkd[459]: bat0: Gained carrier
Mar 30 16:06:09 iot-gate-imx8plus systemd-networkd[459]: bat0: Gained IPv6LL
Mar 30 16:06:15 iot-gate-imx8plus systemd-networkd[459]: bat0: DHCPv6 lease lost
Mar 30 16:06:16 iot-gate-imx8plus systemd-networkd[726]: bat0: netdev ready
Mar 30 16:06:16 iot-gate-imx8plus systemd-networkd[726]: bat0: Link UP
Mar 30 16:06:16 iot-gate-imx8plus systemd-networkd[726]: bat0: Gained carrier
Mar 30 16:06:16 iot-gate-imx8plus systemd-networkd[726]: bat0: Gained IPv6LL
Mar 30 16:06:16 iot-gate-imx8plus systemd-networkd[726]: bat0: netdev exists, using existing without changing its parameters
Mar 30 16:06:47 iot-gate-imx8plus systemd-networkd[726]: bat0: DHCPv4 address 10.10.10.13/24, gateway 10.10.10.1 acquired from 10.10.10.1