udev 규칙을 생성하는 tap0에 할당된 IP 주소를 삭제하는 방법

udev 규칙을 생성하는 tap0에 할당된 IP 주소를 삭제하는 방법

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"이 더 좋다고 생각합니다... 아니면? 오류가 어디에 있는지 아시나요?

관련 정보