에서 일부 Tap 인터페이스 설정을 마이그레이션하려고 합니다 tunctl
. systemd-networkd
systemd 버전 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]
. (이후 버전에서는 systemd
MAC 주소가 일치 파일에 구성되어 있는 것으로 알고 있지만 .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-tools
ioctl
netlink