systemd-networkd를 사용하여 인터페이스를 탭하기 위해 mac 주소를 설정할 수 없습니다.

systemd-networkd를 사용하여 인터페이스를 탭하기 위해 mac 주소를 설정할 수 없습니다.

tunctl일부 탭 인터페이스 설정을 에서 으로 마이그레이션하려고 합니다 systemd-networkd. 저는 시스템 버전 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 커밋 e0fbf1fcffe014d5af6767b29f9108c2f2444888, 이것은 결코 가능하지 않았습니다. systemd v215부터 이 제한 사항은언급되지 않았습니다이는 해당 버전의 명백한 문서 버그였던 맨페이지에 있습니다.

답변2

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

ip link set address {MAC_ADDR} dev {DEVICE}

실제로 최신 커널로 마이그레이션하는 경우 new 대신 iproute2rare net-tools를 사용하므로 대신 사용하는 것이 좋습니다 .ioctlnetlink

관련 정보