- 1 1. はじめに
- 2 2. DNSの基礎知識(用語解説)
- 3 3. UbuntuでDNS設定を確認する
- 4 4. Ubuntu DNS設定の基本(GUI / CLI)
- 5 5. Netplanを使ったDNS設定(主にサーバー向け)
- 6 6. /etc/resolv.conf の扱い方と注意点
- 7 7. DNSサーバーを構築する方法(応用)
- 8 8. トラブルシューティング(よくある問題と解決策)
- 9 9. まとめ
- 10 FAQ(よくある質問)
- 10.1 1. UbuntuでDNS設定を変更したのに反映されません。原因は何ですか?
- 10.2 2. /etc/resolv.conf を直接編集しても大丈夫ですか?
- 10.3 3. nameserver 127.0.0.53 と表示されますが異常ですか?
- 10.4 4. Ubuntu DesktopとUbuntu ServerではDNS設定方法が違いますか?
- 10.5 5. DNSサーバーはどれを使うのがおすすめですか?
- 10.6 6. DNSを変えたらインターネットが遅くなることはありますか?
- 10.7 7. apt update が失敗して「名前解決できない」と出ます。DNSが原因ですか?
- 10.8 8. DNS設定を変更したら、VPNや社内ネットワークに影響しますか?
- 10.9 9. DNSキャッシュを消したいときはどうすればいいですか?
- 10.10 10. DNS設定が正しくできたか最終確認する方法はありますか?
1. はじめに
Ubuntuでインターネットを使っていると、突然「Webサイトが開けない」「apt update が失敗する」「社内サーバー名が引けない」といったトラブルに遭遇することがあります。
こうした問題の原因として意外と多いのが、DNS(名前解決)の設定です。
DNSは、ざっくり言えば 「ドメイン名(例:google.com)をIPアドレスに変換する仕組み」 です。
このDNSが正しく動いていないと、ネットワーク自体はつながっているのに、Webサイトやサーバーにアクセスできない…という状態になります。
この記事では、主要キーワード 「ubuntu dns設定」 に沿って、UbuntuでDNS設定を確認・変更する方法を、初心者にも分かりやすく整理して解説します。
1.1 この記事で分かること
この記事を最後まで読むと、次のことができるようになります。
- Ubuntuで現在のDNS設定を確認できる
- Ubuntu Desktop(GUI)でDNSを変更できる
- Ubuntu Server(CLI)でDNSを永続的に設定できる
systemd-resolvedと/etc/resolv.confの関係が理解できる- DNS設定が反映されない・名前解決できないときの原因を切り分けられる
1.2 この記事の対象読者
この内容は、次のような人に向いています。
- Ubuntuを使い始めたばかりで、DNSという言葉がまだ曖昧な人
- VPSや自宅サーバーでUbuntu Serverを運用している人
- ネットはつながっているのにWebや更新ができず困っている人
- DNSを固定したい(Google DNS / Cloudflare DNSなどを使いたい)人
1.3 UbuntuのDNS設定は「どこを触るべきか」が分かりにくい
UbuntuのDNS設定が難しく感じる理由は、単純に「DNSを入力する場所」が1つではないからです。
Ubuntuでは環境によって、DNSの管理方法が変わります。
- Ubuntu Desktop:GUI(ネットワーク設定画面)で設定することが多い
- Ubuntu Server:Netplan(設定ファイル)で管理することが多い
- 共通要素:
systemd-resolvedが裏で名前解決を管理している場合がある
さらに、ネットワーク関連の記事でよく出てくる /etc/resolv.conf は、Ubuntuの構成によっては「直接編集しても反映されない」ことがあります。
このあたりを知らないと、
- 設定したのに直らない
- 再起動したら戻った
- どの記事の手順を信じればいいか分からない
という状態になりがちです。
この記事では、こうした混乱を避けるために、UbuntuのDNS設定を体系的に整理して解説していきます。
1.4 対応するUbuntuのバージョンについて
本記事は主に、現在よく使われている以下のUbuntuを想定しています。
- Ubuntu 22.04 LTS
- Ubuntu 24.04 LTS
ただし、DNSの考え方や確認方法は、他のバージョンでもほぼ共通です。
細かい挙動(Netplanの設定ファイル名など)だけが異なることがあります。
2. DNSの基礎知識(用語解説)
UbuntuでDNS設定を正しく行うには、まず「DNSが何をしているのか」「どこで管理されているのか」をざっくり理解しておくと失敗しにくくなります。
ここでは初心者向けに、必要最低限のポイントだけ整理します。
2.1 DNSとは?(超ざっくり理解でOK)
DNS(Domain Name System)は、ドメイン名をIPアドレスに変換する仕組みです。
たとえば、あなたがブラウザで次のようにアクセスするとします。
https://www.google.com
しかし、コンピュータ同士の通信は基本的に「IPアドレス」で行われます。
142.250.xxx.xxxのような数字の住所
そこでDNSが裏側で、
www.google.com→142.250.xxx.xxx
という変換(名前解決)を行い、目的のサーバーに接続できるようにしてくれます。
つまりDNSは、インターネットの「電話帳」や「住所録」のような役割です。
2.2 DNS設定が重要になる場面
UbuntuでDNS設定が重要になるのは、主に次のような場面です。
- Webサイトが開けない(でもWi-FiやLANはつながっている)
apt updateやsnapの更新が失敗する- DockerやKubernetesなどで名前解決がうまくいかない
- 社内ネットワークのホスト名(例:
intra-server.local)が引けない - VPN接続中だけ特定のドメインが解決できない
- 広告ブロックDNSや高速DNSを使いたい
このようにDNSは「ネットワークが動くかどうか」の根本に近い部分なので、トラブル時の切り分けでも必ず登場します。
2.3 DNSサーバーとは?(どこに問い合わせているのか)
DNSの変換は、あなたのPCが勝手に計算しているわけではありません。
通常は、DNSサーバーに問い合わせて結果を受け取ります。
Ubuntuが名前解決するときは、次のような流れです。
- UbuntuがDNSサーバーへ問い合わせる
- DNSサーバーが「このドメインはこのIPだよ」と返す
- UbuntuがそのIPにアクセスする
DNSサーバーは、次のようなものが使われます。
- ルーター(家庭用Wi-FiルーターがDNSを配る)
- 社内DNSサーバー
- 公開DNS(Google DNS / Cloudflare DNSなど)
代表的な公開DNSは以下です。
- Google Public DNS:
8.8.8.8/8.8.4.4 - Cloudflare DNS:
1.1.1.1/1.0.0.1
どれが正解というより、環境と目的に合うものを選ぶのが大事です。
2.4 UbuntuでDNS設定がややこしい理由
Windowsや一部のOSでは、DNS設定の変更場所が比較的わかりやすいです。
しかしUbuntuの場合、次のように構成が分かれることがあります。
- GUI(NetworkManager)で管理している
- Netplanで管理している
systemd-resolvedがDNS処理をまとめている/etc/resolv.confが「実体」ではなくリンクになっている
その結果、ネット上の解説を見て
- 「
/etc/resolv.confを編集すればいい」 - 「いや、Netplanで設定しないとダメ」
- 「
systemd-resolvedの設定を変えるべき」
など、情報がバラバラに見えて混乱しがちです。
ですが安心してください。
これは「どれも間違い」という話ではなく、Ubuntuの構成によって正しい手順が変わるだけです。
この記事では、その見分け方も含めて解説します。
2.5 UbuntuのDNS管理で登場する重要ファイルと仕組み
DNS設定の記事でよく出てくる用語を、ここで整理しておきます。
2.5.1 /etc/resolv.conf とは?
/etc/resolv.conf は、Linuxで伝統的に使われてきた DNS設定ファイルです。
中身はこういう形式になっています。
nameserver 8.8.8.8
nameserver 1.1.1.1ただしUbuntuでは、このファイルが直接使われているとは限りません。
最近のUbuntuでは、/etc/resolv.conf が次のように 別のファイルへのリンク(シンボリックリンク) になっていることが多いです。
- systemd-resolved が自動生成したファイルを参照している
- NetworkManagerが生成したファイルを参照している
そのため、直接編集しても上書きされることがあります。
2.5.2 systemd-resolved とは?
systemd-resolved は、UbuntuでDNSの名前解決を管理する仕組み(サービス)です。
特徴としては次の通りです。
- DNS設定を一元管理しやすい
- DNSキャッシュを持つ
- 複数インターフェース(Wi-FiとVPNなど)でも扱える
Ubuntuの環境によっては、DNSの設定はここが実質的な中心になります。
2.5.3 Netplanとは?
Netplanは、Ubuntu Serverなどでよく使われるネットワーク設定の仕組みです。
設定ファイル(YAML)を書いてネットワーク構成を定義します。
DNSもNetplanの設定に含めることができます。
- IPアドレス
- ゲートウェイ
- DNSサーバー
などをまとめて管理できるため、サーバー用途では定番です。
2.6 DNSの設定変更で重要なのは「永続化」
UbuntuでDNSを設定するとき、特に重要なのは
- 再起動しても設定が残るか?(永続化)
です。
DNSの設定は一時的に変更できる場合もありますが、次のタイミングで元に戻ることがあります。
- 再起動した
- ネットワークを再接続した
- DHCP更新が走った
- VPNが切断された
この記事では「その場しのぎ」ではなく、目的に応じて正しく永続化する方法を解説します。
3. UbuntuでDNS設定を確認する
DNS設定を変更する前に、まずは 「今どうなっているか」 を確認するのが重要です。
Ubuntuでは環境によってDNSの管理方法が異なるため、最初に状態を把握しておくと失敗しにくくなります。
この章では、初心者でも迷わないように 確認手順を順番に 解説します。
3.1 まずは症状を整理する(DNS問題かどうか)
「DNSの問題っぽい」と思っても、実はネットワークそのものが切れているケースもあります。
最初に、次の2つを切り分けるのがコツです。
- IP通信はできているか?
- 名前解決ができているか?
3.1.1 IP通信の確認(pingでIP宛てに打つ)
まずはIPアドレスに対してpingを打ちます。
ping -c 4 8.8.8.8- 返信が返ってくる → ネットワーク自体は動いている可能性が高い
- 返信が返ってこない → DNS以前に 回線やルーティングの問題 の可能性
3.1.2 名前解決の確認(ドメイン宛てにping)
次に、ドメイン名でpingします。
ping -c 4 google.com- IPは通るのに、ドメインが通らない
→ DNS(名前解決)が原因の可能性が高いです
この2ステップは非常に重要なので、トラブル時は必ずやってください。
3.2 /etc/resolv.conf を確認する(DNSの入口)
Linuxでは伝統的に、DNS設定は /etc/resolv.conf を見れば分かることが多いです。
Ubuntuでもまずここをチェックします。
cat /etc/resolv.conf出力例(よくあるパターン):
nameserver 127.0.0.53
options edns0 trust-ad
search .ここで 127.0.0.53 となっている場合、Ubuntuは多くの場合 systemd-resolved経由でDNSを使っている 状態です。
3.2.1 /etc/resolv.conf がリンクかどうか確認する
Ubuntuでは /etc/resolv.conf がシンボリックリンクになっていることが多いので、次も確認します。
ls -l /etc/resolv.conf例:
lrwxrwxrwx 1 root root 39 ... /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.confこのように表示されるなら、/etc/resolv.conf は「実体」ではなく、別のファイルを参照しているだけです。
つまり、ここを直接編集しても、上書きされて意味がないことがあります。
3.3 systemd-resolvedの状態を確認する(中核をチェック)
Ubuntu 22.04/24.04では、DNSの管理が systemd-resolved になっていることが多いです。
DNS設定を正しく把握するには、ここを見るのが確実です。
3.3.1 resolvectl でDNS情報を確認する
Ubuntuでは resolvectl コマンドでDNS状態を確認できます。
resolvectl status見るべきポイントは次の通りです。
- DNS Servers:現在使っているDNSサーバー
- Current DNS Server:実際に優先されているDNS
- Link(インターフェース)ごとの設定:Wi-Fiや有線、VPNで違う場合がある
3.3.2 systemd-resolved が動いているか確認する
サービスの稼働状況も確認できます。
systemctl status systemd-resolved- active (running) → 稼働中
- inactive / failed → 停止している、または異常
DNSが不安定なとき、ここが落ちていることもあります。
3.4 nmcli(NetworkManager)でDNSを確認する(Desktopで有効)
Ubuntu DesktopではNetworkManagerがDNSを管理していることが多いです。
GUIで設定している場合でも、CLIから確認できます。
nmcli dev show | grep -E 'IP4.DNS|IP6.DNS'出力例:
IP4.DNS[1]: 192.168.1.1
IP4.DNS[2]: 1.1.1.1この表示がある場合、DNSはNetworkManager側から配布されている可能性が高いです。
3.5 Netplan設定の有無を確認する(Serverで重要)
Ubuntu ServerではNetplanがDNS設定を持っていることが多いです。
まず、設定ファイルが存在するか確認します。
ls /etc/netplan/例:
00-installer-config.yaml01-netcfg.yaml
などが表示されます。
3.5.1 Netplan設定ファイルの中身を見る
cat /etc/netplan/*.yamlDNS設定が書かれている場合は、次のような記述が見つかることがあります。
nameservers:
addresses:
- 1.1.1.1
- 8.8.8.8ここに書かれているなら、DNSの変更はNetplan側で行うのが基本です。
3.6 DNS設定が反映されないときに見るべきポイント
「設定したのに効かない」「すぐ戻る」という場合、よくある原因は次の通りです。
3.6.1 DHCPがDNSを上書きしている
DHCP(ルーターなど)から自動配布されたDNSが優先され、手動設定が上書きされるケースがあります。
3.6.2 VPNがDNSを切り替えている
VPN接続時は、DNSがVPN側のものに切り替わることがあります。
この場合、VPNを切ると元に戻るため「設定が効かない」と感じやすいです。
3.6.3 /etc/resolv.conf を直接編集している
Ubuntuでは /etc/resolv.conf が自動生成されることが多いため、直接編集しても
- 反映されない
- 再起動で戻る
という状態になります。
3.7 ここまでで分かる「あなたのUbuntuはどのタイプか」
ここまでの確認で、おおむね次のどれかに分類できます。
- Desktop(GUI中心):NetworkManager管理の可能性が高い
- Server(Netplan中心):NetplanでDNSを設定するのが基本
- systemd-resolved中心:
127.0.0.53が見える場合はこれ
次の章からは、実際にDNSを変更する手順に入ります。
4. Ubuntu DNS設定の基本(GUI / CLI)
UbuntuのDNS設定は、環境によって「どこで設定するのが正解か」が変わります。
ここでは初心者が迷わないように、まずは Desktop向け(GUI) と Server向け(CLI) に分けて解説します。
DNS設定の目的は共通で、最終的には次の状態を作ることです。
- Ubuntuが問い合わせるDNSサーバーを、意図したものに変更する
- その設定が再起動後も残る(永続化する)
4.1 GUIを使ったDNS設定(Ubuntu Desktop)
Ubuntu Desktopでは、多くの場合 NetworkManager がネットワーク設定を管理しています。
そのため、GUIで設定するのが一番シンプルです。
4.1.1 設定画面からDNSを変更する手順
Ubuntuのバージョンやデスクトップ環境によって多少表示は違いますが、基本的な流れは同じです。
- 画面右上のネットワークアイコンをクリック

- 「設定(Settings)⚙️」を開く

- 「ネットワーク」または「Wi-Fi」を選択

- 接続中のネットワークの「歯車(設定)⚙️」を開く
- 「IPv4」タブを開く
- DNS の欄を編集する
ここで重要なのは、DNSを手動指定したい場合は以下を選ぶことです。
- 「自動(DHCP)」 → 手動(Manual)
または - 「DNS自動」 → オフにする

このあたりの表記はUbuntuのUIによって変わりますが、「自動DNSを無効にして手動入力する」という考え方は共通です。
4.1.2 DNSサーバーの入力例(よく使われるもの)
DNS欄には、複数のDNSサーバーを入力できます。
入力形式はUIによって異なりますが、多くはカンマ区切りです。
例:
- Cloudflare DNS
1.1.1.1, 1.0.0.1 - Google Public DNS
8.8.8.8, 8.8.4.4
4.1.3 設定を反映させる方法
GUIで設定したあと、反映されない場合は次を試してください。
- Wi-Fiを一度オフ→オン
- 有線なら接続を切断→再接続
- PCを再起動(最後の手段)
確認コマンド例:
resolvectl statusまたは
nmcli dev show | grep -E 'IP4.DNS|IP6.DNS'4.1.4 GUI設定が向いているケース
次のような用途ならGUI設定が最も簡単です。
- 普段使いのPC(Ubuntu Desktop)
- 自宅Wi-FiでDNSを変更したい
- 特定のネットワークだけDNSを変えたい
4.2 CLIを使ったDNS設定(Server / Desktop共通)
Ubuntu ServerではGUIがないため、CLIで設定するのが基本です。
また、Desktopでも「確実に永続化したい」「構成を明示したい」場合はCLI設定が役立ちます。
ここで初心者がつまずきやすいポイントは、UbuntuのDNS設定が
- Netplan
- systemd-resolved
- NetworkManager
の組み合わせで動いていることがある点です。
この章では、まず systemd-resolved を使う基本パターン を扱います。
4.2.1 systemd-resolvedの設定ファイルを編集する
systemd-resolvedが有効な環境では、次の設定ファイルが中心になります。
/etc/systemd/resolved.conf
編集には nano を使うのが簡単です。
sudo nano /etc/systemd/resolved.conf中身はコメントが多いですが、DNSを指定したい場合は次の項目を設定します。
例(CloudflareとGoogleを指定):
[Resolve]
DNS=1.1.1.1 8.8.8.8
FallbackDNS=1.0.0.1 8.8.4.4ポイントは次の通りです。
DNS=がメインのDNSFallbackDNS=は予備(メインが死んだ時に使われる)
4.2.2 設定を反映する(サービス再起動)
編集したら、systemd-resolvedを再起動します。
sudo systemctl restart systemd-resolved反映確認:
resolvectl status4.2.3 /etc/resolv.conf が期待通りにならない場合
Ubuntuでは /etc/resolv.conf がリンクになっていることが多く、次のような表示になります。
ls -l /etc/resolv.confもし stub-resolv.conf を指している場合、/etc/resolv.conf には
nameserver 127.0.0.53
のように表示されることがあります。
これは異常ではなく、「ローカルのsystemd-resolvedが受け口になっている」だけです。
実際のDNSサーバーは resolvectl status を見れば分かります。
4.2.4 CLI設定が向いているケース
次のような場合はCLIでの設定が向いています。
- Ubuntu Server(GUIなし)
- VPSでDNSを固定したい
- 社内DNSや特定DNSを強制したい
- 設定内容をファイルで管理したい
4.3 どの方法を選ぶべきか(初心者向け結論)
迷ったら、次の基準で選べばOKです。
- Ubuntu Desktopで普段使い → GUI(ネットワーク設定)
- Ubuntu Server / VPS → Netplan(次章で解説)
- DNSが頻繁に変わる・複雑 → systemd-resolvedを理解して調整
次の章では、Ubuntu Serverで特に重要な Netplanを使ったDNS設定 を詳しく解説します。
5. Netplanを使ったDNS設定(主にサーバー向け)
Ubuntu Server(特に22.04/24.04)でDNS設定を行う場合、最も重要になるのが Netplan(ネットプラン) です。
Netplanは、ネットワーク設定をYAML形式のファイルで管理する仕組みで、IPアドレスやゲートウェイだけでなく DNSサーバーもここで指定できます。
この章では、初心者でも「どこをどう編集すればいいか」が分かるように、順番に説明します。
5.1 Netplanとは?(Ubuntuのネットワーク設定の中心)
Netplanは、Ubuntuでネットワークを設定するための仕組みです。
設定ファイルを編集し、netplan apply を実行することで反映します。
Netplanを使うと、次のような設定をまとめて管理できます。
- DHCP(自動設定)を使うかどうか
- 固定IPを設定するか
- ゲートウェイ(デフォルトルート)
- DNSサーバー(今回のテーマ)
5.2 Netplanの設定ファイルはどこにある?
Netplanの設定ファイルは通常ここにあります。
/etc/netplan/まずは一覧を確認します。
ls /etc/netplan/よくあるファイル名例:
00-installer-config.yaml01-netcfg.yaml50-cloud-init.yaml
VPSやクラウド環境では
50-cloud-init.yamlがあることが多いです。
5.3 NetplanでDNSを設定する基本形(DHCP + DNS指定)
多くの環境では、IPアドレスはDHCPで自動取得しつつ、DNSだけ固定したいケースがあります。
その場合は次のような形になります。
5.3.1 設定例(DHCPを使いながらDNSだけ指定)
例として、インターフェース名が eth0 の場合を示します。
network:
version: 2
ethernets:
eth0:
dhcp4: true
nameservers:
addresses:
- 1.1.1.1
- 8.8.8.8ポイントはここです。
dhcp4: true→ IPはDHCPで取得nameservers.addresses→ DNSサーバーを指定
5.3.2 設定ファイルを編集する手順
例:00-installer-config.yaml を編集する場合
sudo nano /etc/netplan/00-installer-config.yaml編集後は保存して閉じます。
5.4 Netplanで固定IP + DNSを設定する(サーバー運用向け)
固定IP環境では、DNSも明示しておくのが一般的です。
例として、固定IPとゲートウェイも含めた形を紹介します。
5.4.1 設定例(固定IP + DNS)
network:
version: 2
ethernets:
eth0:
dhcp4: false
addresses:
- 192.168.1.50/24
gateway4: 192.168.1.1
nameservers:
addresses:
- 192.168.1.1
- 1.1.1.1ここでの考え方は次の通りです。
- まずルーター(社内DNS)を優先
- 次に外部DNS(Cloudflareなど)を予備として追加
5.5 Netplan設定で初心者がやりがちなミス
Netplanは便利ですが、YAML形式のため 書き方ミスで反映できない ことがあります。
よくある落とし穴をまとめます。
5.5.1 インデント(スペース)がズレている
YAMLはインデントが命です。
タブではなく スペース を使うのが基本です。
例えば、次は間違いになりやすい例です(インデント崩れ)。
network:
version: 2
ethernets:
eth0:
dhcp4: true正しくはこうです。
network:
version: 2
ethernets:
eth0:
dhcp4: true5.5.2 インターフェース名が違う
eth0 ではなく、環境によっては次のような名前になっていることがあります。
ens33enp0s3enp1s0
確認方法:
ip linkまたは
ip a5.5.3 cloud-initに上書きされる
VPSやクラウド環境では cloud-init がNetplan設定を自動生成している場合があります。
その場合、50-cloud-init.yaml を直接編集しても、将来の再生成で戻る可能性があります。
このケースでは、運用方針として
- cloud-initを無効化する
- 追加のNetplanファイルで上書きする
などの対応が必要になることがあります。
(初心者の場合は、まずは「戻る可能性がある」と知っておくだけでも十分です)
5.6 Netplanの設定を反映する方法
編集が終わったら、設定を反映します。
5.6.1 反映前にテストする(推奨)
いきなり適用するとSSH接続が切れることがあるため、サーバーではテストが安全です。
sudo netplan tryこのコマンドは、一定時間内に確認できなければ元に戻る仕組みです。
SSH作業中にネットワークが落ちる事故を防げます。
5.6.2 設定を適用する
問題なければ適用します。
sudo netplan apply5.7 DNS設定が反映されたか確認する
Netplan適用後は、次の方法で確認できます。
5.7.1 resolvectlで確認する(おすすめ)
resolvectl statusDNS Serversに設定した値が出ていればOKです。
5.7.2 名前解決ができるか確認する
ping -c 3 google.comまたは dig が入っている場合:
dig google.com5.8 NetplanでDNSを設定するべき理由(結論)
Ubuntu Server環境では、DNSを適当に /etc/resolv.conf へ書くよりも、Netplanで管理する方が確実です。
- 永続化しやすい
- 構成が明示される
- 再起動やDHCP更新でも安定しやすい
次の章では、初心者が混乱しやすい /etc/resolv.conf の扱い方と注意点 を整理していきます。
6. /etc/resolv.conf の扱い方と注意点
UbuntuでDNS設定を調べていると、ほぼ必ず出てくるのが /etc/resolv.conf です。
しかしこのファイルは、Ubuntuの環境によっては 「編集しても意味がない」 ことがあります。
この章では、初心者がハマりやすいポイントを整理しつつ、どう扱うのが安全なのかを解説します。
6.1 /etc/resolv.conf とは何か?
/etc/resolv.conf は、Linuxで古くから使われてきた DNS設定ファイル です。
中身には、名前解決で使うDNSサーバーが書かれます。
典型的な内容はこうです。
nameserver 8.8.8.8
nameserver 1.1.1.1このファイルを見れば、
- 「このPCはどのDNSサーバーに問い合わせるのか」
が分かる、というのが昔からの基本でした。

6.2 Ubuntuでは /etc/resolv.conf が「実体ではない」ことがある
最近のUbuntu(22.04/24.04)では、/etc/resolv.conf が 自動生成される仕組み の一部になっていることが多いです。
つまり、あなたが編集したつもりでも、
- 再起動
- ネットワーク再接続
- DHCP更新
- VPN接続/切断
などで 勝手に書き換えられる ことがあります。
6.2.1 まずはリンクかどうか確認する
次のコマンドで確認できます。
ls -l /etc/resolv.confよくある例:
lrwxrwxrwx 1 root root 39 ... /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.confこのように表示された場合、/etc/resolv.conf は実ファイルではなく
- systemd-resolvedが生成するファイル
を参照しているだけです。
6.3 nameserver 127.0.0.53 は異常ではない
UbuntuでDNSを確認すると、次のような表示を見て不安になる人が多いです。
nameserver 127.0.0.53これは「ローカルループバック(自分自身)」を指しています。
ですが、これは故障ではありません。
Ubuntuが systemd-resolved を使っている場合、
- 127.0.0.53(ローカルの受け口)
→ その先に本物のDNSサーバー(1.1.1.1など)
という構造になっているだけです。
この状態では、実際に使われているDNSサーバーは resolvectl で確認するのが確実です。
resolvectl status6.4 /etc/resolv.conf を直接編集するのは推奨される?
結論としては、基本的に 推奨されません。
理由はシンプルで、
- すぐ上書きされる可能性が高い
- 永続化しない
- どこが管理しているのか分からなくなる
からです。
6.4.1 例:編集しても戻るパターン
「DNSを変えたい」と思ってこう書いても、
nameserver 1.1.1.1
nameserver 8.8.8.8数分後や再起動後に勝手に戻ってしまうことがあります。
このとき初心者は
- 「反映されない…なぜ?」
- 「Ubuntuは壊れてる?」
- 「自分のやり方が間違ってる?」
となりがちですが、単に 管理元が別にある だけです。
6.5 正しいDNS設定は「管理元」に合わせて行う
UbuntuでDNS設定を確実に変更するには、/etc/resolv.conf ではなく
- Netplan
- NetworkManager(GUI)
- systemd-resolved
など、実際の管理元に合わせて設定するのが正解です。
ここまでの記事で紹介した通り、基本の方針は次の通りです。
- Desktop → GUI(NetworkManager)
- Server → Netplan
- systemd-resolved中心 →
/etc/systemd/resolved.conf
6.6 どうしても /etc/resolv.conf を一時的に変えたい場合
まれに、次のような状況で一時的に変更したいことがあります。
- どうしても今すぐ名前解決を復旧させたい
- 復旧作業中で、恒久設定より優先して動かしたい
- あるDNSで動作確認だけしたい
この場合、注意点としては
- あくまで一時対応
- 再起動やネットワーク変更で戻る前提
で扱うのが安全です。
6.6.1 一時的に編集する(例)
sudo nano /etc/resolv.conf例:
nameserver 1.1.1.1
nameserver 8.8.8.8ただしこの方法は、環境によっては保存すらできない場合があります(リンク先が生成物のため)。
6.7 DNS設定が複雑になりやすいケース(注意)
UbuntuのDNS設定が特にややこしくなるのは、次のようなケースです。
6.7.1 VPN利用時
VPNを使うと、VPN側がDNSを強制することがあります。
- VPN接続中だけ社内ドメインが引ける
- VPNを切ると外部DNSに戻る
というのはよくある挙動です。
6.7.2 Dockerや仮想環境が絡む場合
Dockerや仮想環境は、独自のDNS設定を持つことがあります。
- ホストでは解決できるのにコンテナ内では解決できない
- 逆にコンテナ内だけ変なDNSになっている
というパターンもあります。
6.8 /etc/resolv.conf の扱い方(初心者向け結論)
初心者向けに結論をまとめると、こう考えるのが安全です。
/etc/resolv.confは「確認用」として見る- DNSを変更するなら「管理元(GUI/Netplan/systemd-resolved)」で行う
- 直接編集は、緊急時の一時対応に留める
次の章では、DNS設定の応用として「UbuntuをDNSサーバーとして使う」話を軽く紹介します。
7. DNSサーバーを構築する方法(応用)
ここまでの内容は「UbuntuのDNS設定=クライアント側の設定」でした。
つまり、Ubuntuが どのDNSサーバーへ問い合わせるか を決める話です。
一方で、少し応用的な使い方として
- Ubuntu自身をDNSサーバーとして運用する
という選択肢もあります。
「ubuntu dns設定」というキーワードで検索する人の中には、
- 家庭内ネットワークで名前解決を整理したい
- 小規模オフィスで社内DNSを持ちたい
- VPSで自分専用のDNSを動かしたい
という人も一定数いるため、記事に入れておくと網羅性が上がります。
7.1 UbuntuをDNSサーバーにするメリット
DNSサーバーを自前で用意すると、次のようなメリットがあります。
7.1.1 LAN内の機器を「名前」で管理できる
家庭や社内のネットワークでは、機器が増えるほど管理が面倒になります。
例:
- NAS:192.168.1.10
- プリンター:192.168.1.20
- 開発サーバー:192.168.1.30
これをDNSで名前解決できるようにすると、
nas.localprinter.localdevserver.local
のように、人間が覚えやすい形でアクセスできます。
7.1.2 広告ブロック・フィルタリング用途にも使える
DNSサーバーを自前で運用すると、ドメイン単位で制御しやすくなります。
- 特定の広告ドメインをブロック
- 社内で危険サイトを引けないようにする
- 子供用ネットワークの制限
といった使い方も可能です。
7.1.3 キャッシュDNSで高速化できることがある
DNSサーバーは問い合わせ結果をキャッシュできます。
同じドメインへのアクセスが多い環境では、体感的に名前解決が速くなる場合があります。
7.2 DNSサーバー運用でよく使われるソフト
UbuntuをDNSサーバーとして使う場合、代表的なのは次の2つです。
7.2.1 BIND9(王道・本格派)
BIND9は、DNSサーバーソフトの中でも定番です。
- 権威DNS(ゾーン管理)に強い
- 本格的な社内DNS運用向き
- 設定項目が多く、初心者には少し難しい
7.2.2 Unbound(軽量・キャッシュDNS向き)
Unboundは比較的軽量で、キャッシュDNS用途に向きます。
- キャッシュDNSとして使いやすい
- 設定がシンプル
- 小規模環境に向く
7.3 「DNSサーバー構築」は今回どこまでやるべきか?
この記事の主目的は「UbuntuのDNS設定(クライアント側)」なので、
DNSサーバー構築を深くやりすぎると話が広がりすぎます。
そのため、この記事では次のスタンスが最適です。
- 「DNSサーバー構築も可能」という選択肢を提示する
- 興味がある人向けに、別記事へ誘導する(内部リンク)
例:
- 「UbuntuでBIND9を使ってDNSサーバーを構築する方法」
- 「UnboundでキャッシュDNSを作る方法」
このように分けるとSEO的にも強くなります。
7.4 初心者がDNSサーバー構築で注意すべき点
DNSサーバー運用は便利ですが、注意点もあります。
7.4.1 外部公開するとセキュリティリスクがある
DNSサーバーをインターネットに公開する場合、設定を間違えると
- 不正利用される(オープンリゾルバ問題)
- DDoS攻撃の踏み台にされる
などのリスクがあります。
家庭内・社内だけで使うなら、外部公開しない設計が基本です。
7.4.2 DNSが落ちるとネットワーク全体が止まる
DNSはインフラなので、DNSサーバーが落ちると
- Webが見れない
- 更新できない
- サービスが不安定
といった問題が一気に起きます。
そのため運用するなら、
- DNSサーバーを2台にする
- fallback DNSを設定する
などの対策が理想です。
7.5 応用のまとめ
UbuntuはDNS設定を変更するだけでなく、
用途によっては DNSサーバーとして運用することも可能です。
ただし本格運用は難易度が上がるため、
- まずはクライアント側DNS設定を理解する
- 必要になったらDNSサーバー構築に進む
という順番が安全です。
次の章では、実際に困っている人が多い「DNSが効かない・名前解決できない」問題の対処法をまとめます。
8. トラブルシューティング(よくある問題と解決策)
UbuntuのDNS設定は、正しく変更したつもりでも
- 反映されない
- すぐ元に戻る
- 一部のサイトだけ開けない
といったトラブルが起きやすい分野です。
この章では「ubuntu dns設定」で検索する人が最も困りやすいポイントを、原因→確認→解決策の順番で整理します。
初心者でも切り分けできるように、できるだけ手順を具体化しています。
8.1 まずはDNS問題かどうか切り分ける
DNSが原因かどうかは、最初にここで判定できます。
8.1.1 IP宛てにpingが通るか確認
ping -c 3 8.8.8.8- 通る → 回線は生きている可能性が高い
- 通らない → DNS以前にネットワーク接続自体が怪しい
8.1.2 ドメイン宛てにpingが通るか確認
ping -c 3 google.com- IPは通るのにドメインが通らない
→ DNS(名前解決)の問題の可能性が高いです
8.2 DNSが効かない(名前解決できない)
DNSが原因っぽい場合、次の順で確認していくと早いです。
8.2.1 現在のDNSサーバーを確認する
まずは、Ubuntuが実際に使っているDNSサーバーを確認します。
resolvectl statusここで見るポイントは次の通りです。
DNS Servers:に意図したDNSが出ているか- Wi-Fi / 有線 / VPN など、LinkごとにDNSが違っていないか
8.2.2 /etc/resolv.conf を確認する
cat /etc/resolv.confもし次のようになっていても異常ではありません。
nameserver 127.0.0.53これは systemd-resolved が受け口になっているだけで、
実際のDNSサーバーは resolvectl status を見て判断します。
8.2.3 一時的にDNSサーバーを変えて確認する
切り分けとして、「今のDNSが壊れているだけ」かどうかを確認します。
例:Cloudflare DNSへ変更(※永続化ではなく検証目的)
- DesktopならGUIでDNSを
1.1.1.1に変える - ServerならNetplanでDNSを変える
そして、次で確認します。
ping -c 3 google.comこれで直るなら、元のDNS(ルーターや社内DNS)側が原因の可能性があります。
8.3 DNS設定を変えたのに反映されない
この症状は非常に多いです。
原因はだいたい「編集した場所が違う」「上書きされている」です。
8.3.1 /etc/resolv.conf を編集している(上書きされる)
Ubuntuでは /etc/resolv.conf が自動生成されることが多いため、直接編集しても反映されないことがあります。
確認:
ls -l /etc/resolv.confリンクになっている場合、管理元を変える必要があります。
- Desktop → GUI(NetworkManager)
- Server → Netplan
- systemd-resolved → resolved.conf
8.3.2 Netplanを編集したのに反映していない
Netplanは編集しただけでは反映されません。
必ず適用が必要です。
sudo netplan applyサーバーなら安全のため、まずはこれが推奨です。
sudo netplan try8.3.3 YAMLの書き方ミス(インデント崩れ)
Netplanが効かない原因として多いのがYAMLのインデントミスです。
確認するなら次のコマンドが役立ちます。
sudo netplan generateここでエラーが出るなら、YAMLが崩れています。
8.4 DNSが「すぐ元に戻る」
この場合、DNSがどこか別の仕組みで上書きされています。
8.4.1 DHCPがDNSを配っている
家庭や社内では、ルーターがDHCPでDNSを配布していることが多いです。
- DNSを固定したいなら「自動DNSをオフ」にする必要があります
- DesktopならGUIで「自動DNS」を無効にするのが基本です
8.4.2 VPNがDNSを強制している
VPN接続中だけDNSが変わることがあります。
確認方法:
- VPN接続中と切断後で
resolvectl statusを比較する
VPN接続時にだけ名前解決が変になる場合は、DNSがVPN側へ切り替わっている可能性が高いです。
8.5 一部のサイトだけ開けない/更新だけ失敗する
「ネットは動くけど一部だけおかしい」場合、DNS以外の要因も絡みます。
8.5.1 IPv6が原因で遅い・失敗する場合
環境によっては、IPv6が中途半端に使える状態になり
- 名前解決はできる
- でも通信が不安定
ということがあります。
この場合は、IPv6を無効化して改善するケースもありますが、
ネットワーク全体に影響するため慎重に判断してください。
8.5.2 キャッシュが悪さをしている場合
systemd-resolvedがキャッシュを持っている場合、
古い情報が残っているように見えることがあります。
キャッシュをクリアしたい場合は次を試します。
sudo resolvectl flush-cachesその後、再確認します。
resolvectl status8.6 apt update が失敗する(名前解決エラー)
Ubuntuでよくあるのがこれです。
Temporary failure in name resolutionCould not resolve ...
この場合はDNSの問題である可能性が高いです。
確認すべき流れは次の通りです。
- IP宛てping(8.8.8.8)
- ドメイン宛てping(google.com)
resolvectl statusでDNS確認- DNSを別のものに変更して再試行
8.7 トラブル時の最短チェックリスト(初心者向け)
最後に、困ったときの最短手順をまとめます。
- IPは通る?
ping -c 3 8.8.8.8 - ドメインは通る?
ping -c 3 google.com - DNSサーバーは何になってる?
resolvectl status - Netplanを使ってる?
ls /etc/netplan/ - 設定したなら反映した?
sudo netplan apply
これだけで、DNS問題の大半は切り分けできます。
9. まとめ
この記事では、検索キーワード 「ubuntu dns設定」 をテーマに、UbuntuでDNS設定を確認・変更する方法を、初心者にも分かりやすいように整理して解説しました。
DNSは「ネットワークがつながっているのにWebが開けない」「更新が失敗する」といった問題の原因になりやすく、Ubuntuを使うなら避けて通れない重要ポイントです。
9.1 UbuntuのDNS設定は「環境によって正解が変わる」
UbuntuのDNS設定が分かりにくい理由は、設定場所が1つではないからです。
代表的には次の3パターンがあります。
- Ubuntu Desktop(GUIあり)
→ NetworkManager(設定画面)でDNSを変更するのが基本 - Ubuntu Server(GUIなし)
→ Netplan(YAMLファイル)でDNSを管理するのが基本 - systemd-resolvedが中心の環境
→/etc/systemd/resolved.confとresolvectlが重要
「どれが正しいか」ではなく、あなたのUbuntuがどの構成なのかを先に確認することが成功のコツです。
9.2 /etc/resolv.conf は「編集するより確認用」として使うのが安全
DNS設定でよく登場する /etc/resolv.conf は、Ubuntuでは自動生成されている場合があります。
そのため、
- 直接編集しても反映されない
- 再起動すると元に戻る
ということが起きます。
初心者の場合は、次のように考えると安全です。
/etc/resolv.confは基本「確認用」- DNSを変えるなら「管理元(GUI / Netplan / resolved)」で変更する
9.3 トラブル時は「IP通信」と「名前解決」を分けて確認する
DNSの問題は、ネットワーク全体の問題と混ざりやすいです。
切り分けの基本はこの2ステップでした。
- IP宛てping(ネットワーク自体の確認)
- ドメイン宛てping(DNSの確認)
この2つをやるだけで、原因の方向性がかなり絞れます。
9.4 この記事の結論(初心者向けの最短ルート)
迷ったら、次の方針が最短です。
- DesktopならGUIでDNSを変更
- ServerならNetplanでDNSを設定
- 状況確認は
resolvectl statusが確実
そして、DNSを変えたら最後に必ず
- 名前解決ができるか(
ping google.comなど) - 設定が永続化しているか(再接続・再起動後)
をチェックすると安心です。
9.5 次にやるべきこと(おすすめ)
ここまで理解できたら、次のステップとして以下もおすすめです。
- よく使うDNS(Cloudflare / Googleなど)を目的別に選ぶ
- VPSや社内環境ならNetplan設定をテンプレ化して管理する
- DNSトラブル用の確認コマンドをメモしておく
DNSは「一度分かるとずっと使える知識」なので、ここで整理しておくと後々かなり楽になります。
FAQ(よくある質問)
1. UbuntuでDNS設定を変更したのに反映されません。原因は何ですか?
最も多い原因は、設定した場所がUbuntuの管理元と一致していないことです。
よくあるパターンは次の通りです。
/etc/resolv.confを直接編集したが、systemd-resolvedやNetworkManagerに上書きされた- Netplanを編集したが、
netplan applyを実行していない - GUIで設定したが、自動DNS(DHCP)が有効のままで上書きされている
まずは次で「実際に使われているDNS」を確認するのが確実です。
resolvectl status2. /etc/resolv.conf を直接編集しても大丈夫ですか?
結論として、恒久的な設定としてはおすすめできません。
Ubuntuでは /etc/resolv.conf が自動生成されることが多く、
- 再起動
- ネットワーク再接続
- DHCP更新
などで元に戻る可能性があります。
どうしても緊急対応で一時的に変更したい場合だけ使い、
本格的な設定は GUI / Netplan / systemd-resolved 側で行うのが安全です。
3. nameserver 127.0.0.53 と表示されますが異常ですか?
異常ではありません。
これはUbuntuが systemd-resolved を使っている場合によくある表示です。
127.0.0.53 は「自分自身(ローカル)」を指しており、
実際にはその先で
- 1.1.1.1
- 8.8.8.8
- ルーターのDNS
などに問い合わせています。
実際のDNSサーバーを確認したい場合は、次が確実です。
resolvectl status4. Ubuntu DesktopとUbuntu ServerではDNS設定方法が違いますか?
はい、違います。
- Ubuntu Desktop:GUI(NetworkManager)で変更するのが一般的
- Ubuntu Server:Netplan(YAML設定)で変更するのが一般的
ただし「DNSとは何か」「名前解決の仕組み」という意味では共通です。
5. DNSサーバーはどれを使うのがおすすめですか?
目的によって変わりますが、一般的に使われるのは次の2つです。
- Cloudflare DNS:
1.1.1.1/1.0.0.1 - Google Public DNS:
8.8.8.8/8.8.4.4
まずはどちらかに設定して、名前解決が安定するか試すのが現実的です。
社内ネットワークの場合は、社内DNSが必要なケースもあるので注意してください。
6. DNSを変えたらインターネットが遅くなることはありますか?
あります。DNSは通信そのものではなく「最初の名前解決」に関わるため、
状況によっては体感速度が変わることがあります。
ただし、遅さの原因がDNSではなく
- 回線品質
- Wi-Fiの電波
- サーバー側の混雑
であることも多いので、DNSだけで全て解決するわけではありません。
7. apt update が失敗して「名前解決できない」と出ます。DNSが原因ですか?
可能性は高いです。
次の2つを確認すると切り分けできます。
ping -c 3 8.8.8.8
ping -c 3 google.com- IP宛ては通るのに、ドメインが通らない
→ DNSが原因の可能性が高いです
その場合は resolvectl status でDNSサーバーを確認し、DNS設定を見直してください。
8. DNS設定を変更したら、VPNや社内ネットワークに影響しますか?
影響することがあります。
特にVPNでは、接続時にDNSがVPN側へ切り替わることがあり、
- 社内ドメインはVPN接続中だけ解決できる
- VPNを切ると外部DNSに戻る
という挙動になることがあります。
VPNを使う場合は、DNSを固定しすぎると逆に不便になるケースもあるため、用途に合わせて調整するのがおすすめです。
9. DNSキャッシュを消したいときはどうすればいいですか?
systemd-resolvedを使っている場合は、次でキャッシュを削除できます。
sudo resolvectl flush-cachesDNSを変更したのに古い情報が残っているように見える場合は、この操作で改善することがあります。
10. DNS設定が正しくできたか最終確認する方法はありますか?
次の3つをやっておくと安心です。
- DNSサーバー確認
resolvectl status- 名前解決の確認
ping -c 3 google.com- 更新系コマンドの確認
sudo apt updateこれで問題なければ、DNS設定はほぼ正常です。






