OpenVPN 클라이언트 - DNS는 처음 부팅할 때만 설정됩니다.

OpenVPN 클라이언트 - DNS는 처음 부팅할 때만 설정됩니다.

OpenVPN 클라이언트그리고시스템 솔루션.

OpenVPN 클라이언트를 실행하면 연결되어 대상 리소스를 올바르게 로드할 수 있습니다.처음 부팅하는 동안에만, 다시 시작한 후. 이후의 모든 시작에서는 여전히 "초기화 순서 완료"로 연결되지만 리소스는 로드되지 않습니다.

몇 번의 시행착오 끝에 이것이 DNS 관련 문제라는 것을 알게 되었습니다.

sudo resolvectl status
===>

# 1st launch

Link 6 (tun0)
    Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6 mDNS/IPv4 mDNS/IPv6
         Protocols: +DefaultRoute +LLMNR +mDNS -DNSOverTLS DNSSEC=no/unsupported
       Current DNS Server: 10.1.1.7
       DNS Servers: 10.1.1.7
       DNS Domain: aaa.xyz


# all other ones

Link 6 (tun0)
       Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6 mDNS/IPv4 mDNS/IPv6
         Protocols: +DefaultRoute +LLMNR +mDNS -DNSOverTLS DNSSEC=no/unsupported
        DNS Domain: aaa.xyz

 

나는 치료법을 찾았습니다:

sudo systemd-resolve -i tun0 \
  --set-dns=10.1.1.7 \
  --set-domain=aaa.xyz \
  --set-dnssec=off
 

실행해야 함OpenVPN이 다시 시작될 때마다.

자동으로 실행되게 하려면 어떻게 해야 하나요?

아니면 오히려 - 왜 이런 일이 발생합니까? OpenVPN 설정 방법올바른 DNS자동으로?

컴퓨터를 다시 시작한 후 처음에만 올바르게 설정되는 이유는 무엇입니까?

답변1

그러나 OpenVPN이 DNS를 구성할 수 있도록 후크를 추가할 수 있습니다 systemd-resolved.

~에서https://github.com/jonathanio/update-systemd-resolved, update-systemd-resolved스크립트를 잡고 실행 가능으로 표시하십시오.

$ sudo wget -O /usr/local/bin/update-systemd-resolved \
  https://raw.githubusercontent.com/jonathanio/update-systemd-resolved/master/update-systemd-resolved \
  && sudo chmod +x /usr/local/bin/update-systemd-resolved

그런 다음 OpenVPN 클라이언트 구성에 다음을 추가하십시오.

# /etc/openvpn/client/<your config file>.conf
...
script-security 2
setenv PATH /usr/bin
up /usr/local/bin/update-systemd-resolved
down /usr/local/bin/update-systemd-resolved
down-pre

OpenVPN이 루트가 아닌 사용자로 실행 중인 경우(기본적으로 true) OpenVPN이 DBus와 상호 작용할 수 있도록 허용하는 PolicyKit 규칙을 추가해야 합니다.

# /etc/polkit-1/rules.d/00-openvpn-resolved.rules
polkit.addRule(function(action, subject) {
    if (action.id == 'org.freedesktop.resolve1.set-dns-servers' ||
        action.id == 'org.freedesktop.resolve1.set-domains' ||
        action.id == 'org.freedesktop.resolve1.set-dnssec') {
        if (subject.user == 'openvpn') {
            return polkit.Result.YES;
        }
    }
});

OpenVPN 인스턴스가 첫 번째 실행에서 DNS를 구성하고 후속 실행에서 DNS를 구성하지 못하는 데에는 여러 가지 이유가 있을 수 있습니다. 진실을 밝히기 위해서는 더 많은 조사가 필요합니다.

관련 정보