2 つの LAN インターフェイス間の DNS サーバーの選択

2 つの LAN インターフェイス間の DNS サーバーの選択

Ubuntu 18.04.4を実行しているコンピュータがあります。 2 つの LAN インターフェイス enp3s0 と eno1 があります。前者はLANネットワークの3Gモデムに接続され、後者は他のネットワークの衛星モデムに接続されます。ネットワーク管理者は、設定ファイルの接続確認設定を介してインターフェイスの優先順位を設定する責任があります。たとえば、3G カバレッジがない場合、eno1 インターフェイス メトリックはデフォルト値に 20000 を追加することで劣化します。衛星 enp3s0 も同様です。 eno1のデフォルトの優先順位が高くなります(両方の接続が有効になっています)。 DNS は systemd-resolved として扱われ、systemd-networked 2 つのインターフェイスは 3G と衛星モデムのアドレスと DNS で動作する DHCP サービスから IP を取得します。 :IP 192.168.200.101(DNS / GW:192.168.200.101) - このアドレスはMACアドレス割り当てによって永続的に割り当てられます。 eno1: IP 192.168.55.xxx (DNS/GW: 192.168.55.1)

いずれにしても、最初のインターフェイスに提供されたDNSサーバーアドレスは、2番目のインターフェイスよりも優先されます。たとえば、enp3s0にインターネットが接続されておらず、インターネットトラフィックが192.168.55.1にルーティングされている場合、名前解決はまだ192.168.200.1を介して試行されますが、明らかに失敗します。 eno1の動的に割り当てられたDNSを/etc/systemd/network/eno1.networkに追加された静的DNSに置き換えました。

[Match]
Name=eno1

[Network]
DNS=8.8.8.8
DNS=8.8.4.4

しかし、システムはまだ名前解決のために192.168.200.1を使用することを好みます。 /etc/systemd/resolved.confにグローバルフォールバックDNSを追加しましたが、これを考慮しても役に立ちません。

[Resolve]
#DNS=
FallbackDNS=8.8.4.4
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#Cache=yes
#DNSStubListener=yes

私が達成したいのは、192.168.200.1をDNSサーバーとして使用するだけでなく、2番目のインターフェースに関連付けられているDNSサーバーを使用しても機能しませんが、方法が見つからない場合に備えています。私が理解したのは、これが最初のDNSが設定されている方法に関連していることです。ドメイン割り当てからこれを得て、インターネット上で名前の主なソースにすることが疑われますが、私が夢見るものかもしれません。これについてのアドバイスをいただきありがとうございます。デフォルトでは、両方のDNSを機能させるにはどうすればよいですか?以下は、〜(2番目のifaceに割り当てられたGoogle DNS)が表示された解決ステータス出力です。

Global
          DNSSEC NTA: 10.in-addr.arpa
                      16.172.in-addr.arpa
                      168.192.in-addr.arpa
                      17.172.in-addr.arpa
                      18.172.in-addr.arpa
                      19.172.in-addr.arpa
                      20.172.in-addr.arpa
                      21.172.in-addr.arpa
                      22.172.in-addr.arpa
                      23.172.in-addr.arpa
                      24.172.in-addr.arpa
                      25.172.in-addr.arpa
                      26.172.in-addr.arpa
                      27.172.in-addr.arpa
                      28.172.in-addr.arpa
                      29.172.in-addr.arpa
                      30.172.in-addr.arpa
                      31.172.in-addr.arpa
                      corp
                      d.f.ip6.arpa
                      home
                      internal
                      intranet
                      lan
                      local
                      private
                      test

Link 15 (tun0)
      Current Scopes: none
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no

Link 14 (veth2e5ae19)
      Current Scopes: none
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no

Link 12 (veth5b411fa)
      Current Scopes: none
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no

Link 10 (br-b950c350c024)
      Current Scopes: none
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no

Link 9 (docker0)
      Current Scopes: none
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no

Link 8 (can0)
      Current Scopes: none
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no

Link 7 (wlp1s0)
      Current Scopes: none
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no

Link 6 (wwp0s20u6i10)
      Current Scopes: none
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no

Link 5 (wwp0s20u6i8)
      Current Scopes: none
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no

Link 4 (enp3s0)
      Current Scopes: DNS
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
         DNS Servers: 192.168.200.1
          DNS Domain: ~.
                      rig

Link 3 (enp2s0)
      Current Scopes: none
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no

Link 2 (eno1)
      Current Scopes: DNS
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
         DNS Servers: 8.8.8.8
                      8.8.4.4

答え1

用語では、systemd-resolvedDNSドメインフィールドにプレフィックスが付けられているドメインは、「~このドメインをシステム全体のプライマリDNSサーバーに直接照会します。このドメインにリンクごとのDNSサーバーを使用しないでください」を意味します。組み合わせは~.同じですが、ルートDNSドメインの場合、.すべてのDNSドメインの暗黙的なサフィックスです。

ただし、問題はシステム全体のプライマリDNSサーバーがないようです。リンクごとのDNSサーバーのみを構成します。FallbackDNS=はい他のDNSサーバー情報が不明な場合にのみ使用されます。resolved.conf(5)、マニュアルページによると。eno1とはどちらもenp3s0各リンクのDNSサーバーを定義するため、FallbackDNSまったく使用されません。

あなたの投稿のネットワーク構成はenp3s0次のように表示されます。

enp3s0: IP 192.168.200.101 (DNS/GW: 192.168.200.101)

インターフェイスを独自のゲートウェイにすることは意味がないため(ネットワークセグメントの外部に接続がなく、一部の設定ツールでゲートウェイを設定する必要があると主張する場合は回避策としても使用されますが)、DNS / GW部分の誤字です。 「DNS/GW:192.168.200.1」を意味します。これはステータスに表示されている内容と一致しますresolved

したがって、3GモデムのIPアドレスが192.168.200.1の場合、根本原因は3Gモデムがインターネットに接続されていなくてもresolvedモデム自体に接続することはまだ可能です。したがって、resolved3Gリンクが切断されても、192.168.200.1がまだ有効なDNSサーバーであると考えることができます。 3GモデムのDNSサーバー/プロキシ機能が正しく作成されていない場合、SERVFAILで応答しないか、リンクなしで要求がタイムアウトする可能性があります。これにより、人々がresolved3Gモデムが有効なDNSサーバーであると思うように誤解する可能性があります。インターネットへのアクティブなリンクはまったくありません。

このような3GモデムのDNSプロキシは、発信インターネット接続が1つしかない場合にネットワーク構成を簡素化できますが、代替接続があると状況が複雑になる可能性があります。その後、1つが必要です。

/etc/systemd/resolved.conf代わりにDNS=静的DNSを指定することをお勧めしますFallbackDNS=resolved.conf(5)マニュアルページには次の説明がDNS=あります。

ドメイン名解決=

システムのDNSサーバーとして使用するスペースで区切られたIPv4およびIPv6アドレスのリスト。 DNS要求は、リストされているDNSサーバーの1つだけでなく、systemd-networkd.service(8)から取得されるか、外部アプリケーションによって実行時に確立された各リンクに適切なDNSサーバーに送信されます。互換性のためにこの設定を指定しないと、/etc/resolv.confにリストされているDNSサーバーが代わりに使用されます(ファイルが存在し、そこにサーバーが構成されている場合)。この設定のデフォルト値は空のリストです。

したがって、DNSサーバーDNS=の設定はresolved.conf各リンクの使用を決して妨げません。

問題を解決するには、次を提案します。

192.168.200.1が3GモデムのIPアドレスの場合、これは単に3Gネットワ​​ーク事業者のDNSサーバーへのプロキシとして機能します。このサーバーの実際のIPアドレスを確認してくださいDNS=(リンクはありますが、3Gモデム自体のインターネット側のネットワーク設定を確認するだけです)/etc/systemd/resolved.conf

DNS=その後、DNS要求は3Gネットワ​​ークのDNSサーバー(行などresolved.conf)とそのリンクごとのDNSサーバーに並列に送信する必要があります。システム全体のDNSサーバーを設定したので、ドメインから名前を照会するときは、3Gモデムに組み込まれているDNSサービスのみを使用する必要があります*.rig。これがまさにDNS Domain:設定のenp3s0意味だからです。

3Gネットワ​​ークリンクが失敗すると、3Gネットワ​​ーク上のDNSサーバーを直接使用しようとすると、間違いなく失敗します(モデム自体から潜在的にあいまいな応答を生成する代わりに)。したがって、resolvedDNS サーバーを使用できなくなり、他の代替策を検討する必要があることを示します。 。接続確認によって他のリンクの優先順位が高くなると、各リンクに対してDNSサーバーの使用を開始する必要があります。

などの名前を使用して3Gモデムの管理Webインターフェイスにアクセスできる場合は、<something>.rig3Gリンクが機能しているかどうかにかかわらず、モデム自体にアクセスできる限り、その名前を使用してインターフェイスにアクセスできます。

関連情報