Debian は resolv.conf でルーターのゲートウェイ アドレスを決して使用しません

Debian は resolv.conf でルーターのゲートウェイ アドレスを決して使用しません

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 staticiface eth0 inet dhcpup routegateway

名前の通り、prepend domain-name-serversDHCP サーバーによって提供されるリストに 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 は私が書きました。

関連情報