ネットワーク管理者-l2tpを介して事前共有キーとユーザー+パスワードを使用して企業VPNに接続しています。会社の URL を正しく確認するために、正しい DNS サーバー IP を自動的に取得します。
しかし、まだパブリックインターネットは解決されていません(私がテストした結果)www.google.com常に)、しかし視点によって異なります。同時に、2つのDNSサーバー(1.1.1.1および会社のDNS)で確認するためにsystemd-resolvedを取得することはできません。厳密に言えば、あるいは、いろいろな構成を試してみたが…。
Q:企業VPNのDNSと汎用DNSサーバーの両方を使用するようにsystemd-resolvedをどのように構成しますか?
ドメインベースの「条件付き転送」であるか、最初の DNS が失敗した後に 2 番目の DNS を使用するかは関係ありません。どちらでも動作させることはできません。私の考えでは、これはl2tpに関連しているようですが、私の状況に合った解決策が見つかりません。
私はPop OSでNetworkManager 1.30.0、systemd-resolved(systemd 247.3)、openresolv(以前のresolvconfの代わりに)を使用しています。どちらのサービスも実行中です。
resolv.conf -> /run/systemd/resolve/stub-resolv.conf
# This file is managed by man:systemd-resolved(8). Do not edit.
[...]
nameserver 127.0.0.53
options edns0 trust-ad
search fritz.box
/etc/systemd/resolved.conf
[Resolve]
FallbackDNS=1.1.1.1 corp.ip.add.ress
resolvectl status
VPN接続後の出力
Global
Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
resolv.conf mode: stub
Fallback DNS Servers: 1.1.1.1 corp.ip.add.ress
Link 2 (enp6s0)
Current Scopes: DNS
Protocols: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 192.168.178.1
DNS Servers: 192.168.178.1
DNS Domain: fritz.box
Link 3 (ip_vti0)
Current Scopes: none
Protocols: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Link 23 (ppp0)
Current Scopes: DNS
Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: corp.ip.add.ress
DNS Servers: 1.1.1.1 corp.ip.add.ress
さまざまな方法を試しましたが、上記のものは堅牢な最終ソリューションを見つけるための良い出発点です。
答え1
次の設定を使用して、分割DNS(条件付き転送)を達成できます(ppp0
VPNインターフェイスとenp6s0が通常のLANであると仮定)。
resolvectl dns ppp0 corp.ip.add.ress
resolvectl domain ppp0 ~corp.domain.name
resolvectl default-route ppp0 false
resolvectl default-route enp6s0 true
その後、ドメイン名がcorp.domain.name
。で終わるクエリを除くすべてのクエリにデフォルトのDNSが使用されます。これらのクエリでは、corp.ip.add.ress
VPNに接続するとデフォルトのルートが更新される可能性があるため、デフォルトのルートを変更する必要があります。