Apache 構成でワイルドカードを使用できるように、ファイルをインストールしdnsmasq
て追加しました。ただし、コンピューターを再起動したり、Wi-Fi 接続を変更したりするたびに、動作させるために再度追加する必要があります。nameserver 127.0.0.1
resolv.conf
なぜこのようなことが起こるのでしょうか? また、どうすればこれを解決できるのでしょうか?
答え1
12.04 より前の Ubuntu システムを実行していて、まだ 12.04 以降にアップグレードしていない場合、または resolvconf パッケージを削除した場合は、resolvconf パッケージをインストールしてください。
sudo apt-get install resolvconf
resolvconf がすでにインストールされている場合は、/etc/resolv.conf が ../run/resolvconf/resolv.conf へのシンボリック リンクであることを確認します。
sudo dpkg-reconfigure resolvconf
dnsmasq パッケージ (dnsmasq-base パッケージと混同しないでください) をインストールしたら、/etc/resolv.conf を編集する必要はありません。dnsmasq の initscript により、/etc/default/dnsmasq で の値が に設定されてIGNORE_RESOLVCONF
いない場合、dnsmasq の起動時に (resolvconf 経由で) '127.0.0.1' が resolv.conf に追加されますyes
。
疑問に思う方は、/etc/init.d/dnsmasq を読んでください。
PS Ubuntu 12.04 には複雑な要素があります。NetworkManager はデフォルトで 127.0.0.1 のみをリッスンする dnsmasq プロセスを開始します。これは「スタンドアロン」dnsmasq プロセスと競合し、2 つのうち 1 つしか開始できません。これは既知のバグ #959037 で、Ubuntu 12.10 で修正されました (NM-dnsmasq のリッスン アドレスを 127.0.1.1 に移動)。Ubuntu 12.04 をまだ実行していて、スタンドアロン dnsmasq を実行したい場合は、NetworkManager 制御の dnsmasq を無効にするか (/etc/NetworkManager/NetworkManager.conf で「dns=dnsmasq」をコメント アウトする)、スタンドアロン dnsmasq が 127.0.0.1 をリッスンしないように設定する必要があります。
答え2
Network Managerで優先DNSサーバーを指定する必要があります。指定しないと、設定ファイルが上書きされ続けます。DNS IP を変更する適切な方法は何ですか?
答え3
構築中エギルの回答。ネットワークマネージャがファイルを破壊している場合は、Ubuntuフォーラムresolvconf パッケージを削除することで解決しました。スレッドが少し古いため、まだ機能するかどうかはわかりません。