dnsmasqのネームサーバ機能で、A,AAAAレコードに関する最小限の設定とDNSラウンドロビン機能の利用方法 †本資料はdnsmasqのネームサーバ機能の最小限の設定方法とDNSラウンドロビン機能の利用方法の手順を記しています。 関連記事 †dnsmasqのネームサーバ機能 †dnsmasqの基本機能の一つは、/etc/hostsファイルの記述内容をDNSレコードとして、 また、/etc/hostsにIPv6アドレスを記述すると、 /etc/hostsに以下のように記述しておくと、 192.168.20.1 ubuntu 2001:5c0:871b:0:20a:85ff:fe01:8628 ubuntu 以下のようなDNSレコードがdnsmasqにより生成されます。 % host -a ubuntu 192.168.10.1 Trying "ubuntu" Using domain server: Name: 192.168.10.1 Address: 192.168.10.1#53 Aliases: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27069 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;ubuntu. IN ANY ;; ANSWER SECTION: ubuntu. 0 IN A 192.168.20.1 ubuntu. 0 IN AAAA 2001:5c0:871b:0:20a:85ff:fe01:8628 Received 69 bytes from 192.168.10.1#53 in 82 ms % この記事では、dnsmasqのネームサーバ機能で利用できるDNSレコードのうち、 DNSレコード †DNSレコードは実験的なものも含めると、いろいろな種類がありますが、 A, AAAAレコード †もっとも一般的な、ホスト名に対応するIPアドレスを返すレコードです。 以下の設定オプションがA, AAAAレコードの生成に関連します。 domain †ドメイン名を指定します。 expand-hosts †ドメイン名を付けたFQDNでの問い合わせにも応じます。 % host ubuntu.example.tld 192.168.10.1 Using domain server: Name: 192.168.10.1 Address: 192.168.10.1#53 Aliases: ubuntu.example.tld has address 192.168.20.1 % addn-hosts †/etc/hostsファイルの他に、任意のファイルをホスト情報ファイルにすることができます。 以上の設定オプションを用いた記述例は以下のようになります。 expand-hosts domain=example.tld addn-hosts=/etc/more_hosts DNSラウンドロビン †DNSラウンドロビンは、あるホスト名のA, AAAAレコードの問い合わせに対して、 /etc/hostsファイル 192.168.20.1 ubuntu 192.168.20.2 ubuntu 192.168.20.3 ubuntu 192.168.20.4 ubuntu /etc/hostsとしては正しくない上記の記述を避けたければ、 /etc/hostsファイル 192.168.20.1 ubuntu 2001:5c0:871b:0:20a:85ff:fe01:8628 ubuntu /etc/more_hostsファイル 192.168.20.2 ubuntu 192.168.20.3 ubuntu 192.168.20.4 ubuntu 2001:5c0:871b:0:20d:bff:fe26:6c9a ubuntu 複数行を設定したレコードへの問い合わせ結果は以下になります。 % host ubuntu.example.tld 192.168.10.1 Using domain server: Name: 192.168.10.1 Address: 192.168.10.1#53 Aliases: ubuntu.example.tld has address 192.168.20.2 ubuntu.example.tld has address 192.168.20.4 ubuntu.example.tld has address 192.168.20.3 ubuntu.example.tld has address 192.168.20.1 ubuntu.example.tld has IPv6 address 2001:5c0:871b:0:20a:85ff:fe01:8628 ubuntu.example.tld has IPv6 address 2001:5c0:871b:0:20d:bff:fe26:6c9a % このホストubutuに対してpingを実行すると、 % ping -c 1 ubuntu PING ubuntu (192.168.20.1) 56(84) bytes of data. 64 bytes from ubuntu (192.168.20.1): icmp_req=1 ttl=64 time=2.24 ms --- ubuntu ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 2.242/2.242/2.242/0.000 ms % ping -c 1 ubuntu PING ubuntu (192.168.20.2) 56(84) bytes of data. 64 bytes from ubuntu (192.168.20.2): icmp_req=1 ttl=64 time=10.3 ms --- ubuntu ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 10.345/10.345/10.345/0.000 ms % ping -c 1 ubuntu PING ubuntu (192.168.20.4) 56(84) bytes of data. 64 bytes from ubuntu (192.168.20.4): icmp_req=1 ttl=64 time=5.48 ms --- newmars ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 5.483/5.483/5.483/0.000 ms % 以上、dnsmasqのネームサーバ機能で、 |