両方のインターフェイスのDNSサーバーの順序を設定するには?

両方のインターフェイスのDNSサーバーの順序を設定するには?

私のマザーボードには2つのネットワークインターフェイスがあります。それらはすべてDHCPを使用してIPアドレスとDNSを取得します。デフォルトパスはメトリックに基づいてソートされますが、DNSサーバーが受信する順序dhcpcdは逆です。私の基本的なルーティングテーブル:

Destination     Gateway         Genmask  Flags Metric  Ref    Use Iface
0.0.0.0        192.168.8.1     0.0.0.0    UG       5      0         0       eth0
0.0.0.0        10.67.145.17    0.0.0.0    UG       10     0         0       eth2

.conf 解析:

domain lan
nameserver 211.136.17.107 ---- (eth2)
nameserver 211.136.20.203 ---- (eth2)
nameserver 192.168.8.1    ---- (eth0)

eth0はイーサネット、eth2は4Gです。

デフォルトパスとDNSサーバーの順序を同じにしたいと思います。設定オプションはありますか?

答え1

まあ...これによると、whois211.136.17.107は211.136.16.0/21ネットワークセグメントに属し、China Mobileに属しています。

DebianまたはUbuntuベースのディストリビューションを使用している場合は、パッケージをインストールしてファイルを変更してresolvconf最初にインポートするレコードを/etc/resolvconf/interface-order表示します。eth0eth2

利用可能なものがない場合は、resolvconf使用されているフックスクリプトを確認し、dhcpcd必要に応じてDNSサーバーアドレスを並べ替えるように変更する必要があります。フックスクリプトはscriptのキーワードを使用して設定されますdhcpcd.conf。指定しない場合、デフォルトは通常次のとおりです(考えられるディストリビューションの修正を/usr/lib/dhcpcd/dhcpcd-run-hooks確認してください)。man dhcpcd.conf

または、正しい方法で自動的にルーティングされないネームサーバーへのカスタムパスを追加することで問題を解決できます。ネームサーバー192.168.8.1はデフォルトゲートウェイでもあるため、ローカルネットワークセグメントに存在する必要があるため、正しいインターフェイスが自動的に優先されます。しかし、211.136の場合。ネームサーバー、次のパスを追加

ip route add 211.136.16.0/21 via 10.67.145.17 dev eth2

間違ったインターフェイスを介して連絡しようとする試みを中止する必要があります。キーワードの後のIPアドレスviaはeth2のDHCP割り当てゲートウェイアドレスであるため、eth2を設定するときにDHCPサービス割り当てゲートウェイアドレスにハードコードするのではなく、このパスを生成するにはdhcpcdフックスクリプトを作成/変更する必要があります。

関連情報