からいくつかの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ユーティリティを使用して、ton / tapインターフェイスMACアドレスを設定できます。
ip link set address {MAC_ADDR} dev {DEVICE}
実際に最新のカーネルに移行する場合は、最新のカーネルではなくrareを使用するため、iproute2
代わりに使用することをお勧めします。net-tools
ioctl
netlink