私のマザーボードには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
まあ...これによると、whois
211.136.17.107は211.136.16.0/21ネットワークセグメントに属し、China Mobileに属しています。
DebianまたはUbuntuベースのディストリビューションを使用している場合は、パッケージをインストールしてファイルを変更してresolvconf
最初にインポートするレコードを/etc/resolvconf/interface-order
表示します。eth0
eth2
利用可能なものがない場合は、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フックスクリプトを作成/変更する必要があります。