出版

Ubuntu で静的 DNS を有効にしようとしてうまくいかなかった場合は、Jack Wallen が、単一の構成ファイルからこれを簡単に実行する方法を紹介します。

私と同じように、サードパーティ製のDNSサーバー(GoogleやOpenDNSなど)をマシンで利用したいという人もいるでしょう。そのためには、ネットワーク管理アプリを使って、ネットワーク接続を静的IPアドレス(ゲートウェイ、ネットマスク、2つのDNSサーバーを含む)に設定します。設定が完了したら、/etc/ resolv.confファイルを確認すると、エントリが1つしか存在しないことがわかります。
nameserver 127.0.0.1
動作するには動作しますが、DNS が期待どおりに速く解決されない場合や、OpenDNS アカウントなどに付属する追加のコントロールがない場合があるかもしれません。
では、Ubuntu が resolv.conf エントリを上書きするのを防ぐにはどうすればよいでしょうか? 説明しましょう。
静的にする
まず最初に、ネットワーク接続を静的に設定する必要があります。これは「接続の編集」GUIで行うことができます。システムトレイのネットワークアイコンをクリックし、「接続の編集」をクリックします。「ネットワーク接続」ウィンドウで、編集する接続を選択し、「編集」ボタンをクリックします。表示されるウィンドウで、IPv4またはIPv6(ネットワークで使用している方)をクリックし、「手動」を選択して必要な情報を入力します(図A)。
図A

必要な情報を入力したら、「保存」をクリックしてください。これで静的IPアドレスの設定は完了です。最後にもう1つだけ設定が必要です。
dnsmasq
dnsmasqシステムは、小規模ネットワーク向けのネットワークインフラストラクチャ(DNS、DHCP、ルーター広告、ネットワークブートなど)を提供します。このツールは、resolv.confファイルを上書きする役割を担っています。これを防ぐには、ターミナルウィンドウを開き、コマンドsudo nano /etc/NetworkManager/NetworkManager.confを実行してください。このファイル内で、以下の行を探してください。
dns=dnsmasq
その行をコメントアウトして次のようにします。
#dns=dnsmasq
ファイルを保存して閉じます。
最後に、次のコマンドで NetworkManager を再起動する必要があります。
sudo /etc/init.d/network-manager restart
/etc/resolv.confファイルを確認すると、ネットワーク接続エディターで設定した静的 DNS サーバーが保持されていることがわかります (図 B )。
図B

ネットワークを再起動するか、マシンを再起動すると、静的 DNS アドレスが最終的に固定されます。
今後
Linuxマシンでほぼ常に静的DNSアドレスを設定している者として、接続エディタにdnsmasqの有効化/無効化をクリック可能なオプションとして追加する時期が来ていると感じています。設定ファイル(分かりにくいもの)にオプションを隠してしまうのではなく、シンプルなものにしてはどうでしょうか?ユーザーがGUIで静的DNSアドレスを設定する場合、その静的アドレスは上書きされるのではなく、そのまま適用されると想定すべきです。
参照
- Ubuntu Server 16.04のセキュリティを5つのステップで強化する方法(TechRepublic)
- Ubuntu Server 16.04 でリモートアクセス用に MySQL を設定する方法 (TechRepublic)
- uCareSystem で Debian/Ubuntu のシステムアップデートを簡素化する方法 (TechRepublic)
- ディレクトリフォルダを非表示にしてApacheのセキュリティを強化する方法(TechRepublic)

ジャック・ウォーレン
ジャック・ウォーレンは、TechRepublic、The New Stack、Linux New Mediaなどで受賞歴のあるライターです。20年以上にわたり様々なトピックを執筆し、オープンソースの熱心な推進者でもあります。ジャック・ウォーレンに関する詳細は、ウェブサイトjackwallen.comをご覧ください。