systemd-networkd는 가상 네트워크 인터페이스 구성 파일을 다시 로드하지 않습니다.

systemd-networkd는 가상 네트워크 인터페이스 구성 파일을 다시 로드하지 않습니다.

systemd-networkd 구성 파일을 사용하여 Tap 인터페이스를 구성하려고 합니다. 다음 파일을 만들었습니다.

/etc/systemd/network/tap_test.network
/etc/systemd/network/tap_test.netdev

콘텐츠:

tap_test.network:
[Match]
Name=tap_test

[Network]
Description=TEST tap interface
Address=192.168.2.100

tap_test.netdev:
[Match]

[NetDev]
Name=tap_test
Kind=tap

그런 다음 systemd-networkd서비스를 다시 시작합니다.

sudo systemctl restart systemd-networkd.service

예상대로 ifconfig실행 시 새로운 클릭 인터페이스가 표시됩니다. 그런데 구성 파일의 IP 주소를 tap_test.networkit 으로 끝나도록 변경 101하고 다시 재부팅하려고 하면 systemd-networkd다시 실행해도 아무런 변화가 없습니다 ifconfig(IP 주소는 여전히 이전 주소입니다).

또한 인터페이스를 종료 ifconfig tap_test down하고 서비스를 다시 시작해 보았지만 역시 도움이 되지 않았습니다.

systemd-networkd에게 구성 파일을 다시 로드하도록 지시하는 방법은 무엇입니까?

답변1

견적으로 이동systemd.netdev(5):

Networkd는 시작될 때 가상 네트워크 장치를 생성합니다. 지정된 이름의 netdev가 이미 존재하는 경우 networkd는 자체 netdev를 만드는 대신 해당 netdev를 그대로 사용합니다. networkd는 기존 netdev의 설정을 변경하지 않습니다.

분명히 이것은 의도적으로 설계된 것입니다. (가능한 경우) 탭 장치 할당을 직접 해제하고 필요한 명령을 ExecStopPost=장치 에 추가하는 방법을 찾아야 한다고 생각합니다 systemd-networkd.service.

후자의 플러그인을 사용할 수 있습니다.

/etc/systemd/system/systemd-networkd.service.d/tuntap.conf:

[Service]
ExecStopPost=<your command goes here>

답변2

대신 ifdown tap_testand 를 사용해 보세요 .ifup tap_testifconfig

요점은 ifup더 많은 일을 하는 것입니다. ifconfig최소입니다.

ifup ethX구성 파일을 사용하고 올바른 IP 주소 등으로 인터페이스를 시작하십시오.

ifconfig ethX up인터페이스를 시작하면 됩니다.

관련 정보