Linux Mintでファイルを見ると、/etc/resolv.conf
最初のコメントにその/etc/resolv.conf
ファイルがresolvconf(8)
。
~ $ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
resolvconf(8)
マニュアルページを説明してください。
resolvconf プログラムは、dhclient などの DHCP クライアントによって実行されます。
私は走るdhclient wlan0
。
~ $ dhclient wlan0
resolvconf
Dhclientはプログラムを更新する必要があります/etc/resolv.conf
。この/var/lib/dhcp/dhclient.leases
ファイルは、ネームサーバーのIPアドレス(192.168.0.6)をリースできることを確認します。
~ $ cat /var/lib/dhcp/dhclient.leases
lease {
interface "wlan0";
. . .
option domain-name-servers 192.168.0.6;
. . .
}
ただし、/etc/resolv.conf
ファイルは更新されません。ファイル/etc/resolv.conf
のネームサーバーは127.0.1.1です。
~ $ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1
search software.eng.apl
にリストされているネームサーバーはありません/etc/network/interfaces
。
~ $ cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
/etc/resolv.conf
DHCPサーバーでレンタルしたネームサーバーを使用してファイルを更新するには、ここで何が欠けているのかわかりません。 DHCPサーバーは、DHCPDを使用するLinux CentOSコンピュータです。
答え1
デフォルトでは、Mintおよび他の最新のディストリビューションに同梱されているこの製品は、デフォルトのmdns
「分散」ラッパーを使用して一般的なパブリックDNSをラップし、ローカルネットワークの構成を必要としないサポートを提供します。デフォルトでは、ローカル DNS サーバーはローカル ネットワークで見つかった名前を解決し、パブリック インターネット解決、つまりローカル ネットワーク外の名前のために (現在プロキシされた) パブリック DNS に置き換えます。
全体的に、あなたのアプローチresolv.conf
は正しく、この状況に適しています。mdns
ISPのネームサーバーにアクセスできない場合は、内部を確認する必要があります。それ設定 - もちろん、Zeroconfのサポートに興味がない場合は、無効にしてmdns
(そしてAvahiも可能)、resolv.conf
従来の方法で管理できます。
たとえば、参照してください。https://help.ubuntu.com/community/HowToZeroconf
答え2
/etc/dhcp/dhclient.conf
コメントを削除してこの行を編集できます。#prepend domain-name-server
答え3
OPで説明したのと同じ問題がありますが、以前の答えのどれも私には役立ちませんでした。私はLinux Mint 18を実行しており、Dockerコンテナ内でネットワーキング機能を使用しようとしたときにこの問題を発見しました。 Dockerは..でdockerネットワークを期待してい/etc/resolv.conf
ますが、リストされている唯一のネームサーバーは127.0.1.1なので、dockerネットワークは成功しません。
私が見つけた別のソリューションAskubuntuは私のために働いた。もし誰かに役立つのか、相互参照でここに投稿します。
NetworkManagerは、resolvconfユーティリティを介してアドレス127.0.1.1をresolv.confに挿入するプログラムです。 NetworkManagerは、ローカル転送ネームサーバーとして機能するためにdnsmasqプログラムのインスタンスを起動するようにNetworkManagerが設定されている場合にのみ、このアドレスを挿入します。この dnsmasq インスタンスはアドレス 127.0.1.1 からクエリを受信します。
ローカル転送ネームサーバーを使用したくない場合は、dnsmasqインスタンスを起動せずにアドレスを挿入しないようにNetworkManagerを設定してください。/etc/NetworkManager/NetworkManager.conf
この行をコメントアウトしてください。dns=dnsmasq
sudo vim /etc/NetworkManager/NetworkManager.conf
[main]
plugins=ifupdown,keyfile,ofono
#dns=dnsmasq
NetworkManagerサービスを再起動してください。
sudo service network-manager restart
このモードでは、NetworkManagerはNetworkManagerがアクティブ接続に使用するネームサーバーアドレスを含むように/etc/resolv.conf(まだresolvconfを介して)を更新します。
resolv.conf 更新の resolvconf メカニズムを無効にし、静的 resolv.conf ファイルのみを使用するには、次のようにします。
sudo rm -f /etc/resolv.conf # Delete the symbolic link
sudo vim /etc/resolv.conf # Create static file