systemd-networkd를 사용하여 MAC 주소를 Tap 인터페이스로 설정할 수 없습니다.

systemd-networkd를 사용하여 MAC 주소를 Tap 인터페이스로 설정할 수 없습니다.

에서 일부 Tap 인터페이스 설정을 마이그레이션하려고 합니다 tunctl. systemd-networkdsystemd 버전 215-8을 사용하고 있습니다. 그래서 저는 이 test.netdev파일을 가지고 있습니다:

[Match]

[NetDev]
Name=tap_test
Kind=tap
MACAddress=1:2:3:4:5:6

그리고 test.network파일:

[Match]
Name=tap_test

[Network]
Description=tap interface
Address=1.2.3.4/24

이는 대체 명령을 가정합니다.

ifconfig tap_test \
1.2.3.4 \
netmask  255.255.255.0 \
hw ether 1:2:3:4:5:6 up

tunctl명령 후에 실행 되었습니다 .

MAC 주소가 올바르게 구성되지 않았다는 점을 제외하면 결과는 양호합니다. systemd의 문서에서 (버전 215의 경우.netdev) 부분 파일에 MAC 주소를 구성해야 함을 나타냅니다 [NETDEV]. (이후 버전에서는 systemdMAC 주소가 일치 파일에 구성되어 있는 것으로 알고 있지만 .network그렇지 않습니다.)

답변1

견적으로 이동systemd.netdev(5):

장치에 사용되는 MAC 주소입니다. [...] 이 키는 현재 "tun" 또는 "tap" 장치에서는 지원되지 않습니다.

~에 따르면systemd 커밋 e0fbf1fcfe014d5af6767b29f9108c2f2444888,그것은 불가능합니다. systemd v215부터 이 제한 사항은언급되지 않은맨페이지에서 이것은 이 버전의 명백한 문서 오류입니다.

답변2

ip 유틸리티를 사용하여 tun/tap 인터페이스 MAC 주소를 설정할 수 있습니다.

ip link set address {MAC_ADDR} dev {DEVICE}

실제로 최신 커널로 마이그레이션하는 경우 최신 커널보다는 rare를 사용하므로 iproute2대신 사용하는 것이 좋습니다 .net-toolsioctlnetlink

관련 정보