FreeBSD(ゲストOS / VM)起動プロセス中に、特定の時点でLinuxホストOS(Devuan 5)のtap0に割り当てられているIPアドレス(169.254.149.209)を削除したいと思います。次のようにudevルールを作成します。
/etc/udev/rules.d/01-flush-tap0.rules:
KERNEL=="tap0", ACTION=="add", RUN+="/bin/bash -c '/bin/sleep 5; /sbin/ip a fl dev tap0'"
次のコマンドで有効にしました。
udevadm trigger
再起動してfreeebd VMを起動しました。残念ながら、tap0のIPは消えませんでした。以下のログメッセージが理由を理解するのに役立ちますか?
[ 86.952262] bridge: filtering via arp/ip/ip6tables is no longer available by
default. Update your scripts to load br_netfilter if you need this.
[ 88.828606] br1: port 1(tap0) entered blocking state [ 88.828627] br1: port 1(tap0) entered disabled state
[ 88.828941] device tap0 entered promiscuous mode
[ 88.829104] br1: port 1(tap0) entered blocking state [ 88.829119] br1: port 1(tap0) entered forwarding state
とにかく以下のルールを見てください。
70-persistent-net.rules :
This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.
# USB device 0x:0x (usb)
SUBSYSTEM=="net", ACTION=="add",DRIVERS=="?*",ATTR{address}=="00:60:70:01:00:bf",
ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
SUBSYSTEM=="net" を使用しますが、KERNEL=="tap0" を使用します。 KERNEL=="tap0"が合っているかどうかわかりません。私はSUBSYSTEM =="net"が良いと思います...または?エラーがどこにあるのかご存知ですか?