나는 systemd-networkd가 tun 인터페이스(DNS 서버 이름 및 검색 도메인)의 특정 속성만 관리하고, 그렇지 않으면 OpenVPN 클라이언트(IP 주소 할당)에 의해 구성되기를 원합니다. 이를 달성하기 위해 다음 네트워크 장치 파일을 사용합니다.
[Match]
Name=ovpn
[Network]
DNS=10.0.0.1
Domains=lan
이 설정에서는 OpenVPN 클라이언트가 시작되고 서버에 연결되며 tun 인터페이스에 IP 주소가 할당되지만 해당 주소는 인터페이스에서 거의 즉시 제거됩니다. 이는 다음 로그에서 확인할 수 있습니다.
systemd-networkd[18414]: ovpn: MAC address not found for new device, continuing without
systemd-networkd[18414]: ovpn: Flags change: +MULTICAST +POINTOPOINT +NOARP
systemd-networkd[18414]: ovpn: Link 36 added
systemd-networkd[18414]: ovpn: link pending udev initialization...
systemd-networkd[18414]: ovpn: Saved original MTU: 1500
systemd-networkd[18414]: ovpn: Flags change: +UP +LOWER_UP +RUNNING
systemd-networkd[18414]: Sent message type=signal sender=n/a destination=n/a object=/org/freedesktop/network1/link/_336 interface=org.freedesktop.DBus.Properties member=PropertiesChanged cookie=21 reply_cookie=0 error=n/a
systemd-networkd[18414]: ovpn: Gained carrier
systemd-networkd[18414]: ovpn: Adding address: fe80::49c6:c30b:5f86:6622/64 (valid forever)
systemd-networkd[18414]: Sent message type=signal sender=n/a destination=n/a object=/org/freedesktop/network1/link/_336 interface=org.freedesktop.DBus.Properties member=PropertiesChanged cookie=22 reply_cookie=0 error=n/a
systemd-networkd[18414]: ovpn: Gained IPv6LL
systemd-networkd[18414]: ovpn: Adding address: 10.1.1.100/22 (valid forever)
systemd-networkd[18414]: Sent message type=signal sender=n/a destination=n/a object=/org/freedesktop/network1/link/_336 interface=org.freedesktop.DBus.Properties member=PropertiesChanged cookie=23 reply_cookie=0 error=n/a
systemd-networkd[18414]: ovpn: udev initialized link
systemd-networkd[18414]: ovpn: Link state is up-to-date
systemd-networkd[18414]: ovpn: found matching network '/etc/systemd/network/ovpn.network'
systemd-networkd[18414]: ovpn: Discovering IPv6 routers
systemd-networkd[18414]: NDISC: Started IPv6 Router Solicitation client
systemd-networkd[18414]: Sent message type=signal sender=n/a destination=n/a object=/org/freedesktop/network1/link/_336 interface=org.freedesktop.DBus.Properties member=PropertiesChanged cookie=24 reply_cookie=0 error=n/a
systemd-networkd[18414]: Sent message type=signal sender=n/a destination=n/a object=/org/freedesktop/network1/link/_336 interface=org.freedesktop.DBus.Properties member=PropertiesChanged cookie=25 reply_cookie=0 error=n/a
systemd-networkd[18414]: Sent message type=signal sender=n/a destination=n/a object=/org/freedesktop/network1/link/_336 interface=org.freedesktop.DBus.Properties member=PropertiesChanged cookie=26 reply_cookie=0 error=n/a
systemd-networkd[18414]: NDISC: Sent Router Solicitation
systemd-networkd[18414]: ovpn: Removing address: 10.1.1.100/22 (valid forever)
IP 주소가 제거된 이유는 무엇입니까?
systemd-networkd를 사용하여 네트워크 인터페이스의 특정 속성만 관리할 수 있나요?
답변1
~처럼아들 아웃Networkd 자체에서 설정하지 않은 링크(인터페이스) 상태와 관련된 Networkd 동작이 #systemd Freenode의 irc 채널에서 발견되었습니다.범죄제목networkd: link - 링크 구성 시 외부 구성 제거다음 커밋 메시지(강조):
동작 변경은 다음과 같습니다.
어떤 상태도 제거하지 않고 추가하기만 하면 됩니다.이제 링크 관리를 시작할 때 원치 않는 상태를 제거합니다..
그러나 피드백 루프를 피하기 위해 런타임에 추가된 외부 상태는 여전히 제거되지 않습니다. 하지만,당사는 당사가 관리하는 링크의 상태를 변경하는 제3자 도구와의 공존을 보장하지 않습니다..
마지막으로, 네트워크 외부 링크의 속성을 설정하려는 시도에는 경합이 없습니다. 다음은 이벤트 순서가 다르고 최종 결과로 인터페이스가 OpenVPN 클라이언트에서 설정한 IP 주소를 유지하는 시스템 시작의 예입니다.
systemd-networkd[1047]: ovpn: MAC address not found for new device, continuing without
systemd-networkd[1047]: ovpn: Flags change: +MULTICAST +POINTOPOINT +NOARP
systemd-networkd[1047]: ovpn: Link 4 added
systemd-networkd[1047]: ovpn: udev initialized link
systemd-networkd[1047]: ovpn: Saved original MTU: 1500
systemd-networkd[1047]: ovpn: Link state is up-to-date
systemd-networkd[1047]: ovpn: found matching network '/etc/systemd/network/ovpn.network'
systemd-networkd[1047]: Sent message type=signal sender=n/a destination=n/a object=/org/freedesktop/network1/link/_34 interface= (...)
systemd-networkd[1047]: ovpn: Bringing link up
systemd-networkd[1047]: ovpn: IPv6 enabled for interface: Success
systemd-networkd[1047]: Sent message type=signal sender=n/a destination=n/a object=/org/freedesktop/network1/link/_34 interface= (...)
systemd-networkd[1047]: Sent message type=signal sender=n/a destination=n/a object=/org/freedesktop/network1/link/_34 interface= (...)
systemd-networkd[1047]: ovpn: Flags change: +UP +LOWER_UP +RUNNING
systemd-networkd[1047]: Sent message type=signal sender=n/a destination=n/a object=/org/freedesktop/network1/link/_34 interface= (...)
systemd-networkd[1047]: ovpn: Gained carrier
systemd-networkd[1047]: Sent message type=signal sender=n/a destination=n/a object=/org/freedesktop/network1/link/_34 interface= (...)
systemd-networkd[1047]: Sent message type=signal sender=n/a destination=n/a object=/org/freedesktop/network1/link/_34 interface= (...)
systemd-networkd[1047]: ovpn: Adding address: fe80::ba0:a13:d13d:d438/64 (valid forever)
systemd-networkd[1047]: Sent message type=signal sender=n/a destination=n/a object=/org/freedesktop/network1/link/_34 interface= (...)
systemd-networkd[1047]: ovpn: Gained IPv6LL
systemd-networkd[1047]: ovpn: Discovering IPv6 routers
systemd-networkd[1047]: NDISC: Started IPv6 Router Solicitation client
systemd-networkd[1047]: NDISC: Sent Router Solicitation
systemd-networkd[1047]: ovpn: Adding address: 10.1.1.100/22 (valid forever)