Linuxでは/etc/resolv.conf
DNSサーバーを管理するプログラムが多数あるため、DNSのセットアップ時に頻繁に上書きされます。
DNSを正しく設定する方法は?
LinuxでのDNSの使用は完了していますインターネットドメインネームシステム(DNS)へのアクセスを提供するCライブラリの一連のルーチン。リゾルバー構成ファイル(resolv.conf
)には、リゾルバールーチンがプロセスによって最初に呼び出されたときに読み取られる情報が含まれています。つまり、DNSを要求する各プロセスは、ライブラリを介して/etc/resolv.conf
を読み取ります。 The NSSはこの上に重ねられ、/etc/nsswitch.conf
によって構成されます。
Linux DNS configはファイル/etc/resolv.conf
にあります[〜#〜] but [〜#〜]自動的に実行したいプログラム/サービスがいくつかあります/etc/resolv.conf
でDNS構成ファイルを管理および処理します。状況によっては、このファイルを自分で管理したい場合があります。 DNSを管理する各プログラム/サービスには、/etc/dnsmasq.conf
(dnsmasqサービス用)などの独自の構成ファイルがあり、接続の変更や他のイベントでDNS構成を追加します...簡単な解決策は、DNS構成ファイルをchattr +i /etc/resolv.conf
しかし、これは推奨されない場合があります。より良い解決策は、DNSを使用してすべてのプログラム/サービスを正しくセットアップすることです(dnsmasq/network-manager/resolvconf/etcなど)。
セットアップの完全なリストを次に示しますresolv.confの制御を取り戻すため上書きしないようにします(resolv.conf以外の場所からDNSを無効化/セットアップする方法 )resolvconfはresolv.confから独立したプログラムであることに注意してください。また、システム/構成によっては、ここにリストされているプログラムの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
設定ファイル
cat /etc/dnsmasq.conf
server=1.1.1.1
server=8.8.4.4
設定を更新します
Sudo systemctl restart dnsmasq.service
設定ファイル
/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
設定ファイル
$ 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
設定ファイル
$ cat /etc/dhcp3/dhclient.conf
supersede domain-name-servers <dns_ip_address1>,<dns_ip_address2>;
構成を更新
reboot
rdnssdを無効にする
systemctl disable --now rdnssd.service
無効を解決しました
systemctl disable --now systemd-resolved.service
設定ファイル
/etc/sysconfig/network/config
netconfigを無効にする
cat /etc/sysconfig/network/config
NETCONFIG_DNS_POLICY=""
構成を更新
reboot
/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