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-resolved
DNSドメインフィールドにプレフィックスが付けられているドメインは、「~
このドメインをシステム全体のプライマリ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
モデム自体に接続することはまだ可能です。したがって、resolved
3Gリンクが切断されても、192.168.200.1がまだ有効なDNSサーバーであると考えることができます。 3GモデムのDNSサーバー/プロキシ機能が正しく作成されていない場合、SERVFAILで応答しないか、リンクなしで要求がタイムアウトする可能性があります。これにより、人々がresolved
3Gモデムが有効な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サーバーを直接使用しようとすると、間違いなく失敗します(モデム自体から潜在的にあいまいな応答を生成する代わりに)。したがって、resolved
DNS サーバーを使用できなくなり、他の代替策を検討する必要があることを示します。 。接続確認によって他のリンクの優先順位が高くなると、各リンクに対してDNSサーバーの使用を開始する必要があります。
などの名前を使用して3Gモデムの管理Webインターフェイスにアクセスできる場合は、<something>.rig
3Gリンクが機能しているかどうかにかかわらず、モデム自体にアクセスできる限り、その名前を使用してインターフェイスにアクセスできます。