Debian は resolv.conf でルーターのゲートウェイ アドレスを決して使用しません
コンピューターを再起動したり、を実行したりしたときに、/etc/resolv.conf にルーターのゲートウェイ アドレス (ネーム サーバー 192.168.1.1) が表示されないように、Debian を設定するにはどうすればよいですか (ルーターをドメイン ネーム リゾルバーとして使用しない) /sbin/dhclient
?
/etc/dhcp/dhclient.confでは1行だけ使用します
prepend domain-name-servers x.x.x.x,y.y.y.y,z.z.z.z;
これは私の /etc/network/interfaces ファイルです:
auto eth0 iface eth0 inet static address 192.168.1.170 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 getaway 192.168.1.1 up route add -net default gw 192.168.1.1 netmask 0.0.0.0 eth0 dns-nameservers x.x.x.x y.y.y.y z.z.z.z
/sbin/dhclient /etc/init.d/networking restartを実行すると
私の /etc/resolv.conf には以下が含まれています:
nameserver x.x.x.x
nameserver y.y.y.y
nameserver z.z.z.z
nameserver 192.168.1.1
答え1
まず、設定をクリーンアップしてください。eth0
インターフェイスは、静的 IP アドレスで設定するのでしょうか、それとも DHCP で設定するのでしょうか。静的の場合、 を実行しているのはなぜですか。DHCPdhclient
の場合、ではなく と が/etc/network/interfaces
静的 IP パラメータをリストするのはなぜですか。また、すでにパラメータとしてデフォルト ルートを指定しているため、コマンドでデフォルト ルートを追加する必要はありません。iface eth0 inet static
iface eth0 inet dhcp
up route
gateway
名前の通り、prepend domain-name-servers
DHCP サーバーによって提供されるリストに DNS サーバーを追加することに注意してください。DNS サーバーを置き換えるわけではありません。
dhclient
使用するネーム サーバーをカスタマイズするように依頼する代わりに、resolvconf
フレームワークを使用することをお勧めします。 はresolvconf
、DNS ネーム サーバー情報のさまざまなソース (1 つ以上のネットワーク インターフェイスで実行されている個別の DHCP クライアント、リゾルバとして使用するローカル DNS サーバー、静的構成など) をすべて調整し、単一の一貫したファイルの構築を一元化します。 これは、複数の異なるものに管理させて、それを実行しようとして互いに足踏みする/etc/resolv.conf
よりもはるかに優れています。/etc/resolv.conf
パッケージがまだインストールされていない場合はインストールしてください。これにより、によるファイルの直接操作がresolvconf
自動的に無効になります。dhclinent
/etc/resolv.conf
ここでの要件は、DHCP サーバーによって提供されるネームサーバーを使用しないことです。そのため、 の行をコメント化します。 の行も必ずコメント化してくださいeth*
。そうしないと、が引き続き考慮されます。/etc/resolvconf/interface-order
*
eth0
次に、代わりに静的にプロビジョニングされたネームサーバーのセットを使用します。これらはシステムグローバル (特定のインターフェースの状態とは関係ありません) なので、次のように lo インターフェースにネームサーバーとして追加できます/etc/network/interfaces
。
iface lo inet loopback
dns-nameservers x.x.x.x y.y.y.y z.z.z.z
そしてifdown lo; ifup lo
これをアクティブにします。
答え2
もう一つのポイント: gエイタ192.168.1.1はgであるべきである食べた192.168.1.1 へのルートです (おそらく、これが、何かを動作させるためにデフォルト ルートを追加する必要があった理由です)。
答え3
回避できる場合は、ゲートウェイをリゾルバとして使用しないでください。
DNS プロキシを実行するとバグが多くなることで有名です - RFC 5625 を参照してください。
完全に機能する Linux ボックスをお持ちの場合は、BIND またはさらに優れた「Unbound」のコピーをそのボックスにドロップするだけです。
ObDisclaimer - その RFC は私が書きました。