これまでに投稿された回答のどれも対処していないのは、ローカルネームサーバーが実行されていると仮定すると、質問者が持っnameserver 127.0.0.1
ていること/etc/resolv.conf
が正しいことを理解できないという外観です。また、Ubuntu 12.04デスクトップでは、デフォルトでローカルネームサーバーが実行されています。つまり、dnsmasq
をリッスンするNetworkManagerによって制御されるプロセス127.0.0.1
です。Ubuntu 12.10では、リスンアドレスがに変更されました127.0.1.1
。
したがって、解決策はに変更を加えないことresolv.conf
です。質問者がローカルのネームサーバーを使用したいと仮定すると、それは正しいです。
ネームサービスが機能していない場合、ローカルネームサーバーに正しい転送アドレスが与えられていないか、他のネットワークの問題があります。
質問者は「ネットワーク設定GUI」を使用して「正しい設定でファイルを生成」しようとしましたが、これは機能しませんでした。これが何を意味するのか正確にはわかりませんが、ネームサーバーアドレスを入力resolv.conf
して正しいタイミングで入力する正しい方法を次に示します。質問者はインターフェースを設定するために使用しているのNetworkManager
ではなくifup
、使用していると想定しています。
ほとんどの場合、インターフェイスはDHCPプロトコルを使用して構成されます。その場合、ローカルシステムで何も設定する必要はありません。DHCPサーバーは、クライアントが使用するネームサーバーアドレスを認識し、この情報をDHCPクライアントに送信します。DHCPクライアントはそれをNetworkManagerに送信し、NetworkManagerはそれをresolvconfに送信しresolv.conf
ます。したがって、この場合、構成が必要なのはDHCPサーバーです。
ローカルマシンのネットワークインターフェースが静的に設定されている場合、正しいネームサーバーアドレスをNetworkManagerに入力する必要があります(例:ネットワークインジケーター| 接続を編集... | ワイヤレス| myconnection | 編集... | IPv4設定| 追加のDNSサーバー。
ローカルネームサーバーが正しく機能していない可能性があります。その場合、質問者は編集する必要があります/etc/NetworkManager/NetworkManager.conf
sudo gedit /etc/NetworkManager/NetworkManager.conf
行をコメントアウトします
dns=dnsmasq
「[main]」セクション。行をコメントアウトするには、行#
の先頭にa を付けてからファイルを保存します。次に、network-managerを再起動します。
sudo restart network-manager
この後resolv.conf
、127。*アドレスの代わりに、非ローカルネームサーバーアドレスが入力されます。
質問者がifup
NetworkManagerではなくネットワークインターフェイスの設定に使用している場合、jmartin2279の答えは正しいです。jmartin2279の説明に従って、ネームサーバーアドレスを/ etc / network / interfacesに追加する必要があります。
他のいくつかの答えが助言するものとは反対に、一般に、ファイルに、またはオプションを追加しないでくださいnameserver
domain
search
/etc/resolvconf/resolv.conf.d/
。それらの答えに対する私のコメントをご覧ください。