CentOS7のDNSについてのメモ
名前解決の順番
①resolverがnsswitch.confで名前解決の順番を確認
↓
②指定された順番通りに名前解決を行う
/etc/nsswitch.conf : 名前解決で何を使うかの順番が書いてあるファイル
#hosts: db files nisplus nis dns
host: files dns myhostname
files : /etc/hostsファイルを参照して名前解決を行う
dns : /etc/resolv.conf : DNSを使って名前解決を行う。問い合わせるDNSサーバーを設定するファイル。
myhostname : これを記述すると、/etc/hostsに自分のホスト名いれなくても良い
/etc/hosts : ホスト名とIPアドレスの結び付けを書くファイル。
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
IPアドレス ホスト名 の順に書く。ホスト名は複数記述可能。
/etc/resolve.conf : 問い合わせるDNSサーバーを設定するファイル。このファイルはデフォルトでNetworkManager経由で管理される。
# Generated by NetworkManager
nameserver 192.168.0.1
domain localhost
search local2 local3
domain : コンピュータが所属するドメイン
search : domainを複数指定できるようにしたもの
nameserverは複数書くことが出来る。複数書いた場合は、上から順にDNSサーバーへ問合せしていく
domainを書くと、名前解決をする時にホスト名だけを入力した時に、domainの後ろに書いたドメイン名を付加して名前解決を行ってくれる
例: ①のコマンドを実行すると、②のコマンドを実行したのと同じになる
① ssh localhost
② ssh localhost.localdomain
searchを書くと、domainを複数指定できるようになる。
例: ①のコマンドを実行すると、②、③のコマンドを実行したのと同じになる。※②で名前解決されたら③は実行されない。
① ssh localhost
② ssh localhost.local2
③ ssh localhost.local3
NetworkManager : ネットワーク管理をするソフトウェア
nmcliコマンドを使用して、ネットワーク管理を行うことが推奨されている。
resolver(リゾルバ) : 名前解決を行うソフトウェアプログラム。リゾルバは2種類ある。
スタブリゾルバ : DNSサーバーへ問合せをする、クライアント側のプログラム。OSから提供されるC言語のライブラリ群らしい。
フルサービスリゾルバ : スタブリゾルバからのリクエストを受けて、IPアドレスの検索を行う。
★用語まとめ
DNS(Domain Name System) = ホスト名とIPアドレスの結びつけをするシステム。
名前解決 = ホスト名とIPアドレスと結びつける処理のこと。(ホスト名からIPアドレスを調べること)
resolver = 名前解決をするソフトウェア。nsswitch.confはresolverで使用される設定ファイル。