Ubuntuのネットワーク設定でDNSサーバーをCUIから設定する方法

スポンサーリンク
スポンサーリンク

UbuntuではDNSサーバーの指定は /etc/resolv.conf で 127.0.0.53 と指定されていますが、実際はDHCPサーバから取得したDNSサーバや、GUI等で指定したDNSサーバが参照されます。
従って、DNSサーバーの指定は、GUI等での指定や、DHCPサーバの設定変更で行う必要があります。/etc/resolv.conf を直接いじったりでは、いけません。(このあたりの話は次の記事に書いています)
ここでは、DNSサーバーをCUIから指定する方法を説明します。

Ubuntuで指定されているDNSサーバ 127.0.0.53 – パソコン鳥のブログ

スポンサーリンク

NetplanのYAMLファイルで指定

.yaml に dhcp4: false の行がある場合

/etc/netplan/ の下にある .yaml ファイルに dhcp4: false の行がある場合の設定方法です。
(dhcp4 の行自体が無い場合は、以降の「nmtuiコマンドで設定」の手順を確認してください)

次のように nameservers の下の addresses の箇所でDNSサーバーを記述します。
以下の例では 10.8.46.2 です。

network:
    ethernets:
        eth0:
            dhcp4: false
            addresses:
            - 10.8.46.57/24
            gateway4: 10.8.46.1
            nameservers:
                addresses:
                - 10.8.46.2
    version: 2

変更後、次のコマンドで反映させます。

netplan apply

.yaml に dhcp4: true の行がある場合

/etc/netplan/ の下にある .yaml ファイルに、次のように dhcp4: true の行がある場合です。
(dhcp4 の行自体が無い場合は、以降の「nmtuiコマンドで設定」の手順を確認してください)

network:
  ethernets:
    eth0:
      dhcp4: true

この場合は、DHCPサーバーで設定されているDNSサーバーが使用されます。
(使用するDNSサーバーは /run/systemd/resolve/resolv.conf で確認できます)

この時、DHCPサーバーでの設定を無視してDNSサーバーを指定することはできません。

無理やり下のように DNSサーバーの設定を記述できますが(netplan apply 実行で反映)、DHCPサーバーから取得したDNSサーバーと、ここで指定したDNSサーバー両方が指定されます。
このようにUbuntuで複数DNSサーバが指定された場合は、最も早いDNSサーバの応答が利用されます。

network:
  ethernets:
    eth0:
      dhcp4: true
      nameservers:
        addresses:
          - 8.8.8.8

  version: 2

nmtuiコマンドで設定

/etc/netplan/ の下にある .yaml ファイルが、次のように renderer: NetworkManager となっている場合は、nmtuiコマンドで設定します。

network:
  version: 2
  renderer: NetworkManager

nmtuiコマンドを実行します。

nmtui

次のようなメニューが出るので、”接続の編集”を選択して Enterを押します。

設定を編集する接続を選択して Enter を押します。

以降は、「IPアドレスを手動設定している場合」「IPアドレスを自動取得にしている場合」いずれかの手順を確認してください。

IPアドレスを手動設定している場合

次のような画面になるので、DNSサーバーを指定し、<OK>を選択してEnterを押します。

後は Escキーを押すと、元の画面に戻っていき、最後に nmtui が終了します。

設定の反映は次のコマンドで行います。

systemctl restart NetworkManager

IPアドレスを自動取得にしている場合

次のような画面になるので、<表示する> を選択して Enter を押します。

DNSサーバーの箇所の <追加…> を押します。

DNSサーバーを記述します。
また、”自動的に取得された DNS パラメーターを無視” にチェックします。
もしチェックしない場合は、DHCPサーバーから取得したDNSサーバーと、ここで指定したDNSサーバー両方が指定されたことになります。Ubuntuで複数DNSサーバが指定された場合は、最も早いDNSサーバの応答が利用されます。

最後に、画面下部の <OK>を選択してEnterを押します。

後は Escキーを押すと、元の画面に戻っていき、最後に nmtui が終了します。

設定の反映は次のコマンドで行います。

systemctl restart NetworkManager

コメント

タイトルとURLをコピーしました