- 印刷する
- PDF
DNS設定の点検
- 印刷する
- PDF
VPC環境で利用できます。
NAVERクラウドプラットフォームで提供する DNS設定を使用しない場合、内部管理のために提供されるサーバと正常な通信ができない場合があります。なるべく DNSを別途設定しないでください。別途 DNSを設定する場合、サーバイメージでサーバを作成したり、管理者パスワードを設定する過程などでエラーが発生することがあります。
CentOS, Rocky Linux
NAVERクラウドプラットフォームで提供している RedHat系の OSで DNS設定値とファイルを点検してください。
CentOS 7と Rocky Linux 8を対象に説明します。
DHCPから取得した NAVERクラウドプラットフォームの DNS設定値を確認します。VPC環境で提供される DNSサーバの IPアドレスは
169.254.169.53
と169.254.169.54
です。[root@centos78 ~]# grep domain-name /var/lib/dhclient/dhclient--eth0.lease option domain-name-servers 169.254.169.53,169.254.169.54; option domain-name-servers 169.254.169.53,169.254.169.54;
/etc/resolv.conf
ファイルの設定と内容を確認します。- ファイル内容が以下の情報と異なる場合、NAVERクラウドプラットフォームの DNSサーバと正常な通信ができない場合があります。ただし、ファイルを修正して OSを再起動すると、DHCPから受け取った NAVERクラウドプラットフォームの設定値に初期化されます。
[root@centos78 ~]# cat /etc/resolv.conf ; generated by /usr/sbin/dhclient-script nameserver 169.254.169.53 nameserver 169.254.169.54
nslookup
コマンドを実行して DNSクエリ動作を確認します。- 正常にクエリが動作する場合、
169.254.1.5
と169.254.80.160
が出力されます。[root@centos78 ~]# nslookup repo.ncloud.com Server: 169.254.169.53 Address: 169.254.169.53#53 Non-authoritative answer: repo.ncloud.com canonical name = repo.ncloud.grm.ncloud.com. Name: repo.ncloud.grm.ncloud.com Address: 169.254.1.5 Name: repo.ncloud.grm.ncloud.com Address: 169.254.80.160
- NAVERクラウドプラットフォームが提供している DNS以外の DNSを使用する場合、まったく異なる IPアドレスを受け取ることになります。
[root@centos78 ~]# nslookup repo.ncloud.com 8.8.8.8 Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: repo.ncloud.com canonical name = repo.ncloud.grm.ncloud.com. Name: repo.ncloud.grm.ncloud.com Address: 10.250.5.105
- 正常にクエリが動作する場合、
Ubuntu
NAVERクラウドプラットフォームで提供している Ubuntu 18.04、Ubuntu 20.04は systemd-resolvedを使用します。Ubuntu系の OSで DNS設定値とファイルを点検してください。
Ubuntu 18.04、Ubuntu 20.04を対象に説明します。
/etc/resolv.conf
ファイルの設定と内容を確認します。- ファイルの Symbolic Link有無を確認します。
- Ubuntu 18.04
root@ubuntu1804:~# ll /etc/resolv.conf lrwxrwxrwx 1 root root 29 Nov 13 2019 /etc/resolv.conf -> ../run/resolvconf/resolv.conf
- Ubuntu 20.04
root@ubuntu2004:~# ll /etc/resolv.conf lrwxrwxrwx 1 root root 39 Jan 24 2022 /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf
- Ubuntu 18.04
- ファイルの Symbolic Link有無を確認します。
ファイルの内容が以下の情報と同じか確認します。ただし、
options edns0 trust-ad
オプションは OSバージョンによってオプションがない場合やオプション項目が異なる場合があります。- Ubuntu 18.04
root@ubuntu1804:~# cat /etc/resolv.conf # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) ... 省略... nameserver 127.0.0.53
- Ubuntu 20.04
root@ubuntu2004:~# cat /etc/resolv.conf # This file is managed by man:systemd-resolved(8). Do not edit. ... 省略... nameserver 127.0.0.53 options edns0 trust-ad
- Ubuntu 18.04
DHCPから取得した NAVERクラウドプラットフォームの DNS設定値を確認します。
root@ubuntu2004:~# cat /run/systemd/resolved.conf.d/isc-dhcp-v4-eth0.conf [Resolve] DNS=169.254.169.53 169.254.169.54
OS上で設定された DNS設定値を確認します。VPC環境で提供される DNSサーバの IPアドレスは
169.254.169.53
と169.254.169.54
です。root@ubuntu2004:~# cat /run/systemd/resolve/resolv.conf ... 省略... nameserver 169.254.169.53 nameserver 169.254.169.54
- もし以下のように表示される場合、DNSサーバ設定が異常な状態です。
root@ubuntu2004:~# tail -2 /run/systemd/resolve/resolv.conf # No DNS servers known.
- 該当する場合、次のように処理できます。
root@ubuntu2004:~# cat /run/systemd/resolved.conf.d/isc-dhcp-v4-eth0.conf [Resolve] DNS=169.254.169.53 169.254.169.54 root@ubuntu2004:~# systemctl restart systemd-resolved root@ubuntu2004:~# tail -2 /run/systemd/resolve/resolv.conf nameserver 169.254.169.53 nameserver 169.254.169.54
- もし以下のように表示される場合、DNSサーバ設定が異常な状態です。
systemd-resolved
デーモンの起動有無と状態を確認します。- インストールされた unitリストで
systemd-resolved
デーモンがenabled
状態の場合に、起動後にも正常動作できます。root@ubuntu2004:~# systemctl list-unit-files | grep systemd-resolved.service systemd-resolved.service enabled enabled
systemd-resolved
デーモンがactive
状態の場合に、正常動作できます。root@ubuntu2004:~# systemctl status systemd-resolved.service ●systemd-resolved.service-Network Name Resolution Loaded: loaded (/lib/systemd/system/systemd-resolved.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2023-01-07 00:29:09 KST; 2 months 4 days ago Docs: man:systemd-resolved.service(8) https://www.freedesktop.org/wiki/Software/systemd/resolved https://www.freedesktop.org/wiki/Software/systemd/writing-network-configuration-managers https://www.freedesktop.org/wiki/Software/systemd/writing-resolver-clients Main PID: 587 (systemd-resolve) Status: "Processing requests..." Tasks: 1 (limit: 9421) Memory: 4.7M CGroup: /system.slice/systemd-resolved.service └─587 /lib/systemd/systemd-resolved
- IPアドレスが
127.0.0.53
の接続状態を確認します。systemd-resolve
サービスによって53(nameservice port)ポートを経由してLISTEN
中である必要があります。root@ubuntu2004:~# netstat -anp | grep 127.0.0.53 tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 587/systemd-resolve udp 0 0 127.0.0.53:53 0.0.0.0:* 587/systemd-resolve
- インストールされた unitリストで
systemd-resolve
サービスで DNS設定値を確認します。- 以下のコマンドでクエリを送信する DNSサーバ情報を確認します。
- Ubuntu 18.04
root@ubuntu1804:~# systemd-resolve --status Global DNS Servers: 169.254.169.53 169.254.169.54 ... 省略...
- Ubuntu 20.04
root@ubuntu2004:~# systemd-resolve --status Global LLMNR setting: no MulticastDNS setting: no DNSOverTLS setting: no DNSSEC setting: no DNSSEC supported: no Current DNS Server: 169.254.169.53 DNS Servers: 169.254.169.53 169.254.169.54 ... 省略...
- Ubuntu 18.04
- 以下のコマンドでクエリを送信する DNSサーバ情報を確認します。
/etc/hosts
ファイルの権限を確認します。/etc/hosts
ファイルの Other Userに read権限を付与する場合に、systemd-resolved
デーモンが正常動作します。デフォルト設定として/etc/hosts
ファイルの権限は、644になっています。
root@ubuntu2004:~# ls -l /etc/hosts -rw-r--r-- 1 root root 186 Jan 24 2022 /etc/hosts
nslookup
コマンドを実行して DNSクエリ動作を確認します。- 正常にクエリが動作する場合、
169.254.1.5
と169.254.80.160
が出力されます。root@ubuntu2004:~# nslookup repo.ncloud.com Server: 127.0.0.53 Address: 127.0.0.53#53 Non-authoritative answer: repo.ncloud.com canonical name = repo.ncloud.grm.ncloud.com. repo.ncloud.grm.ncloud.com canonical name = kr-vpc-init.ncloud.grm.ncloud.com. Name: kr-vpc-init.ncloud.grm.ncloud.com Address: 169.254.1.5 Name: kr-vpc-init.ncloud.grm.ncloud.com Address: 169.254.80.160
- NAVERクラウドプラットフォームが提供している DNS以外の DNSを使用する場合、まったく異なる IPアドレスを受け取ることになります。
root@ubuntu2004:~# nslookup repo.ncloud.com 8.8.8.8 Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: repo.ncloud.com canonical name = repo.ncloud.grm.ncloud.com. Name: repo.ncloud.grm.ncloud.com Address: 10.250.5.105
- 正常にクエリが動作する場合、
DNSに関するよくある質問
Q. DNSクエリ時に以下のように isc socket bindエラーが発生します。どうすればいいですか?
[root@ncp-server ~]# nslookup repo.ncloud.com
Server: 169.254.169.53
Address: 169.254.169.53#53
Non-authoritative answer:
repo.ncloud.com canonical name = repo.ncloud.grm.ncloud.com.
repo.ncloud.grm.ncloud.com canonical name = kr-vpc-init.ncloud.grm.ncloud.com.
Name: kr-vpc-init.ncloud.grm.ncloud.com
Address: 169.254.80.160
Name: kr-vpc-init.ncloud.grm.ncloud.com
Address: 169.254.1.5
nslookup: isc_socket_bind: address in use
この不具合は、顧客サービスネットワーク環境に対して ip local port_rangeの値が小さすぎたり、現在使用している socket portが過度に多い場合に発生します。
ip local port_rangeは以下のように確認できます。デフォルトでは、最小ポート32768、最大ポート60999に設定されています。
[root@ncp-server ~]# sysctl net.ipv4.ip_local_port_range
net.ipv4.ip_local_port_range = 32768 60999
再起動可能なサーバの場合は OSで再起動を行い、不可能な場合は現在使用しているソケット数を確認して不要なソケットを整理したり、ip local port_rangeの値を増やすことをお勧めします。
正常な状態で DNSクエリを行う場合は、下記のように出力されることが確認できます。
[root@ncp-server ~]# nslookup repo.ncloud.com
Server: 169.254.169.53
Address: 169.254.169.53#53
Non-authoritative answer:
repo.ncloud.com canonical name = repo.ncloud.grm.ncloud.com.
repo.ncloud.grm.ncloud.com canonical name = kr-vpc-init.ncloud.grm.ncloud.com.
Name: kr-vpc-init.ncloud.grm.ncloud.com
Address: 169.254.80.160
Name: kr-vpc-init.ncloud.grm.ncloud.com
Address: 169.254.1.5