Linuxでは、/etc/resolv.conf
DNSサーバーを管理するプログラムが多いため、DNSを設定するときに扱われる場合が多いです。
DNSを正しく設定するには?
答え1
LinuxでのDNSの構成
LinuxでDNSの使用が完了しました。インターネットドメインネームシステム(DNS)へのアクセスを提供するCライブラリの一連のルーチン。パーサー構成ファイル(resolv.conf
)には、プロセスがパーサールーチンを初めて呼び出すときに読み取る情報が含まれています。つまり、DNSを要求するすべてのプロセスは/etc/resolv.conf
ライブラリを読み取ります。国家安全保障局その上に位置し、によって構成されます/etc/nsswitch.conf
。
Linux DNSの設定ファイルに配置/etc/resolv.conf
しかし、そこにあるDNS設定ファイルを自動的に管理して処理したい多くのプログラム/サービスがあります/etc/resolv.conf
。場合によっては、このファイルを直接管理したい場合があります。 DNSを管理する各プログラム/サービスには、独自の構成ファイル(例/etc/dnsmasq.conf
:dnsmasqサービス用)があり、接続の変更やその他のイベントにDNS構成を追加します。簡単な解決策はDNS設定ファイルをロックすることですchattr +i /etc/resolv.conf
。いいえ場合によっては、DNS(dnsmasq/network-manager/resolvconf/etc)を使用してすべてのプログラム/サービスを正しく設定する方が良い解決策であることをお勧めします。
DNSコントロールを取り戻す
完全な設定のリストです。resolv.confの制御権を再取得します。上書きしないでください(resolv.conf以外の場所でDNSを無効にする/設定する方法)resolvconfはresolv.confとは別のプログラムであり、システム/構成によっては、ここにリストされている1つ以上のプログラムがない可能性があります。
1. 構文解析構成:
構成ファイル
cat /etc/resolvconf/resolv.conf.d/head
nameserver 8.8.4.4
cat /etc/resolvconf/resolv.conf.d/base
nameserver 8.8.4.4
構成の更新
sudo resolvconf -u
resolvconfの無効化
systemctl disable --now resolvconf.service
2.Dnsmasqサービス:
構成ファイル
cat /etc/dnsmasq.conf
server=1.1.1.1
server=8.8.4.4
構成の更新
sudo systemctl restart dnsmasq.service
3. ネットワーク管理者:
構成ファイル
/etc/NetworkManager/*
DNSを無効にする
$ cat /etc/NetworkManager/conf.d/no-dns.conf
[main]
dns=none
DNSを有効にする
$ cat /etc/NetworkManager/conf.d/dns.conf
[main]
dns=default
[global-dns]
searches=example.com
[global-dns-domain-*]
解決されたサービスの使用
$ cat /usr/lib/NetworkManager/conf.d/resolved.conf
[main]
dns=systemd-resolved
resolvconfの使用
$ cat /usr/lib/NetworkManager/conf.d/resolvconf.conf
[main]
rc-manager=resolvconf
構成の更新
systemctl restart NetworkManager.service
4. ネットワークインターフェイス:
構成ファイル
$ cat /etc/network/interfaces
#nameservers
# or dns-search like so
# dns-search x.y
dns-nameservers 4.4.4.4 8.8.8.8
構成の更新
reboot
5.DHCP クライアント:
構成ファイル
$ cat /etc/dhcp3/dhclient.conf
supersede domain-name-servers <dns_ip_address1>,<dns_ip_address2>;
構成の更新
reboot
6.Rdnssdサービス:
rdnssdを無効にする
systemctl disable --now rdnssd.service
7. 解決サービス:
無効 解決済み
systemctl disable --now systemd-resolved.service
8. ネットワーク構成:
構成ファイル
/etc/sysconfig/network/config
ネットワーク構成の無効化
cat /etc/sysconfig/network/config
NETCONFIG_DNS_POLICY=""
構成の更新
reboot
DNSサーバーの設定
/etc/resolv.conf
構成例
#Cloudflare
nameserver 1.0.0.1
#Google
#nameserver 8.8.8.8
#nameserver 8.8.4.4
#Cloudflare
#nameserver 1.1.1.1
#Classic Config
#nameserver 192.168.1.1
#search lan
答え2
Fedora 36では、次のことを行いました。
# print existing DNS settings for all interfaces
$ resolvectl dns
# set new DNS
$ resolvectl dns enp0s22f6 8.8.8.8 8.8.4.4
# check again
$ resolvectl dns