「Linuxサーバーでネットワークが不安定…」
「DNSの設定を変更したいけど、どこをいじればいいの?」
「resolved.confって何?どうやって使うの?」
Linuxを使っていると、こんな疑問にぶつかることがあります。
実は、現代のLinuxシステムでは「resolved.conf」というファイルがDNS設定の重要な鍵を握っているんです。この記事では、resolved.confの基本から実践的な使い方まで、初心者の方にも分かりやすく解説します。
読み終わる頃には、あなたもDNS設定をスムーズに扱えるようになっていますよ!
resolved.confとは?DNS設定を管理する設定ファイル

resolved.confは、LinuxシステムのDNS設定を管理するための設定ファイルです。
DNSって何?
まずDNSについて簡単に説明しましょう。DNS(Domain Name System)は、「www.google.com」のような人間が読みやすいドメイン名を、コンピュータが理解できるIPアドレス(例:142.250.207.46)に変換するシステムのこと。
インターネット上の「電話帳」のようなものだと思ってください。
systemd-resolvedとの関係
resolved.confは、systemd-resolvedというサービスの設定ファイルです。
systemd-resolvedは、現代的なLinuxディストリビューション(Ubuntu 18.04以降、Fedora、Arch Linuxなど)で採用されているDNSリゾルバ(DNSサーバーに問い合わせるプログラム)です。
resolved.confのファイルの場所
resolved.confは以下の場所に配置されています。
メインの設定ファイル
/etc/systemd/resolved.conf
このファイルがメインの設定ファイルです。システム全体のDNS設定を管理します。
追加の設定ファイル(ドロップインファイル)
/etc/systemd/resolved.conf.d/*.conf
このディレクトリに追加の設定ファイルを置くこともできます。複数の設定を管理しやすくなるため、サーバー管理では推奨される方法です。
resolved.confで設定できる主な項目
resolved.confでは、以下のような項目を設定できます。
1. DNS(DNSサーバーの指定)
使用するDNSサーバーを指定します。
設定例:
[Resolve]
DNS=8.8.8.8 8.8.4.4
この例では、GoogleのパブリックDNS(8.8.8.8と8.8.4.4)を使うように設定しています。
2. FallbackDNS(予備のDNSサーバー)
メインのDNSサーバーが応答しないときに使う予備のDNSサーバーです。
設定例:
[Resolve]
FallbackDNS=1.1.1.1 1.0.0.1
CloudflareのDNS(1.1.1.1)を予備として設定しています。
3. Domains(検索ドメイン)
短縮名でホストを検索するときに使うドメインを指定します。
実例:
「server1」とだけ入力したときに、自動的に「server1.example.com」として検索させることができます。
設定例:
[Resolve]
Domains=example.com local
4. DNSSEC(DNSセキュリティ拡張)
DNSSECは、DNS応答の正当性を検証するセキュリティ機能です。
設定例:
[Resolve]
DNSSEC=yes
yes:DNSSECを有効化no:DNSSECを無効化allow-downgrade:可能な場合のみ有効化(デフォルト)
5. DNSOverTLS(DNS over TLS)
DNS通信を暗号化して、プライバシーを保護します。
設定例:
[Resolve]
DNSOverTLS=yes
yes:DNS over TLSを使用no:通常のDNSを使用opportunistic:可能な場合のみ暗号化
6. Cache(キャッシュ設定)
DNS応答をキャッシュするかどうかを設定します。
設定例:
[Resolve]
Cache=yes
キャッシュを有効にすると、同じドメインへの問い合わせが速くなります。
7. DNSStubListener(スタブリスナー)
ローカルのDNSスタブリスナーを有効にするかどうかを設定します。
設定例:
[Resolve]
DNSStubListener=yes
有効にすると、127.0.0.53でローカルDNSリゾルバが動作します。
resolved.confの実践的な設定例
実際の使用場面を想定した設定例を紹介します。
例1:GoogleとCloudflareのDNSを使う基本設定
[Resolve]
DNS=8.8.8.8 1.1.1.1
FallbackDNS=8.8.4.4 1.0.0.1
DNSSEC=yes
Cache=yes
この設定では:
- メインDNSとしてGoogleとCloudflareを使用
- 予備DNSも設定
- DNSSECとキャッシュを有効化
例2:プライバシー重視の設定
[Resolve]
DNS=1.1.1.1 1.0.0.1
DNSOverTLS=yes
DNSSEC=yes
Cache=yes
DNS over TLSを有効にして、DNS通信を暗号化しています。プライバシーを重視する場合におすすめです。
例3:企業ネットワークでの設定
[Resolve]
DNS=192.168.1.10 192.168.1.11
Domains=company.local
FallbackDNS=8.8.8.8
DNSSEC=no
社内DNSサーバーを使い、社内ドメインを検索できるようにしています。
resolved.confの編集方法と設定の反映
ステップ1:設定ファイルを編集
管理者権限でファイルを開きます。
sudo nano /etc/systemd/resolved.conf
または、viやvimを使っても構いません。
sudo vi /etc/systemd/resolved.conf
ステップ2:必要な設定を記述
コメント行(#で始まる行)を外して、値を設定します。
編集前:
#DNS=
#FallbackDNS=
編集後:
DNS=8.8.8.8 1.1.1.1
FallbackDNS=8.8.4.4 1.0.0.1
ステップ3:ファイルを保存
nanoの場合はCtrl + Oで保存、Ctrl + Xで終了します。
ステップ4:設定を反映
systemd-resolvedサービスを再起動して設定を反映させます。
sudo systemctl restart systemd-resolved
ステップ5:設定を確認
設定が正しく反映されたか確認しましょう。
resolvectl status
このコマンドで、現在のDNS設定や統計情報を確認できます。
トラブルシューティング:よくある問題と解決方法

問題1:設定が反映されない
原因:
NetworkManagerなど他のネットワーク管理ツールが干渉している可能性があります。
解決方法:
systemd-resolvedが優先されるように設定します。
sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
sudo systemctl restart systemd-resolved
問題2:名前解決ができない
原因:
DNSサーバーが応答していない、またはファイアウォールがブロックしている可能性があります。
確認方法:
resolvectl query google.com
このコマンドでDNS解決をテストできます。
解決方法:
- DNSサーバーのアドレスを確認
- ファイアウォール設定を確認(53番ポートが開いているか)
- 別のDNSサーバーを試す
問題3:DNSSEC検証エラー
原因:
一部のネットワーク環境やDNSサーバーではDNSSECが正しく動作しないことがあります。
解決方法:
DNSSECを無効化してみます。
[Resolve]
DNSSEC=no
resolved.confと/etc/resolv.confの違い
「/etc/resolv.confというファイルも見たことがあるけど、違いは何?」という疑問を持つ方も多いでしょう。
/etc/resolv.conf
従来から使われているDNS設定ファイルです。多くのプログラムがこのファイルを参照してDNS設定を読み取ります。
systemd-resolvedを使っている場合
systemd-resolvedが有効な環境では、/etc/resolv.confは実際にはシンボリックリンク(ショートカットのようなもの)になっています。
ls -l /etc/resolv.conf
このコマンドで確認すると、以下のようなリンクになっているはずです。
/etc/resolv.conf -> /run/systemd/resolve/stub-resolv.conf
つまり、resolved.confで設定した内容が、最終的に/etc/resolv.confとして反映される仕組みになっているんです。
パブリックDNSサーバーの選択肢
resolved.confで指定できる主なパブリックDNSサーバーを紹介します。
Google Public DNS
- プライマリ: 8.8.8.8
- セカンダリ: 8.8.4.4
- 特徴: 高速で信頼性が高い、最も人気
Cloudflare DNS
- プライマリ: 1.1.1.1
- セカンダリ: 1.0.0.1
- 特徴: プライバシー重視、DNS over TLS対応
Quad9
- プライマリ: 9.9.9.9
- セカンダリ: 149.112.112.112
- 特徴: セキュリティ重視、マルウェアサイトをブロック
OpenDNS
- プライマリ: 208.67.222.222
- セカンダリ: 208.67.220.220
- 特徴: フィルタリング機能あり
resolved.confを使うべきシステム
推奨される環境
- Ubuntu 18.04以降
- Fedora
- Arch Linux
- Debian 10以降
- openSUSE
これらのディストリビューションでは、systemd-resolvedがデフォルトで使われています。
使わない方が良い環境
- 古いディストリビューション(Ubuntu 16.04以前など)
- systemdを使わないシステム(Alpine Linuxなど)
これらの環境では、従来の/etc/resolv.confや、NetworkManagerを使った設定が適しています。
まとめ:resolved.confでDNS設定をマスターしよう
resolved.confは、現代的なLinuxシステムにおけるDNS設定の中心的なファイルです。
resolved.confのポイント:
- systemd-resolvedの設定ファイル
- /etc/systemd/resolved.confに配置
- DNS、DNSSEC、DNS over TLSなどを設定可能
- Ubuntu 18.04以降、Fedoraなどで標準採用
主な設定項目:
- DNS:使用するDNSサーバー
- FallbackDNS:予備のDNSサーバー
- Domains:検索ドメイン
- DNSSEC:セキュリティ拡張
- DNSOverTLS:暗号化通信
設定の反映方法:
- /etc/systemd/resolved.confを編集
- sudo systemctl restart systemd-resolved
- resolvectl statusで確認
おすすめパブリックDNS:
- Google:8.8.8.8
- Cloudflare:1.1.1.1
- Quad9:9.9.9.9
DNS設定は、インターネット接続の安定性やセキュリティに直結する重要な要素です。resolved.confを理解して、自分の環境に最適な設定を見つけてくださいね。
快適で安全なLinuxライフを!

コメント