LinuxでのDNSの構成

LinuxでのDNSの構成

Linuxでは、/etc/resolv.confDNSサーバーを管理するプログラムが多いため、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

関連情報