#navi(../)
* dnsmasqのネームサーバ機能で、A,AAAAレコードに関する最小限の設定とDNSラウンドロビン機能の利用方法 [#h619f7dc]
本資料はdnsmasqのネームサーバ機能の最小限の設定方法とDNSラウンドロビン機能の利用方法の手順を記しています。
#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)
*関連記事 [#r8520d2f]
-[[dnsmasqをDHCPサーバとして使う場合の最小限の設定例>Linux環境設定/dnsmasqをDHCPサーバとして使う場合の最小限の設定例]]
-[[dnsmasqネームサーバ機能でMX,PTR,SRV,TXT,CNAME,NAPTRといったDNSレコードの設定>Linux環境設定/dnsmasqでMX,PTR,SRV,TXT,CNAME,NAPTRといったDNSレコードの設定]]
* dnsmasqのネームサーバ機能 [#c1b017d8]
dnsmasqの基本機能の一つは、''/etc/hosts''ファイルの記述内容をDNSレコードとして、~
問い合わせに応じるネームサーバです。~
特別な記述方法はなく、通常の''/etc/hosts''がそのままAレコード(ホスト名に対応するIPv4アドレス)になります。
また、''/etc/hosts''にIPv6アドレスを記述すると、~
それはAAAAレコード(ホスト名に対応する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レコードのうち、~
もっとも一般的なAレコードとAAAAレコード、それに関連する最小限の設定と、~
DNSラウンドロビン機能を利用する手順を説明します。~
対象とするdnsmasqのバージョンは、Ubuntu12.04上のバージョン2.59です。
* DNSレコード [#ue3e7fb5]
DNSレコードは実験的なものも含めると、いろいろな種類がありますが、~
一般的によく知られているのは、A, AAAA, PTR, NS, MX, CNAME, TXT, SRVといったところだと思います。~
dnsmasqでは、A, AAAA, PTR, MX, CNAME, TXT, SRV, NAPTRのレコードを利用することができます。
* A, AAAAレコード [#yd70dff0]
もっとも一般的な、ホスト名に対応するIPアドレスを返すレコードです。~
いわゆる名前解決のためのレコードです。~
上述の通り、''/etc/hosts''の記述がそのままレコードの設定になります。
以下の設定オプションがA, AAAAレコードの生成に関連します。
** domain [#x046c7b7]
ドメイン名を指定します。~
下記のexpand-hostsとの組み合わせで、~
ホスト名とドメイン名を組み合わせたFQDNに対応します。
** expand-hosts [#w2775d98]
ドメイン名を付けた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 [#t8c2b8eb]
''/etc/hosts''ファイルの他に、任意のファイルをホスト情報ファイルにすることができます。~
ファイルの書式は''/etc/hosts''と同様です。~
''/etc/hosts''には書きたくないが、dnsmasqのネームサーバに与えたいホスト情報を記述することができます。
以上の設定オプションを用いた記述例は以下のようになります。~
(/etc/more_hostsは任意のホスト情報ファイルの名前です。)
expand-hosts
domain=example.tld
addn-hosts=/etc/more_hosts
* DNSラウンドロビン [#e99b1eb9]
DNSラウンドロビンは、あるホスト名のA, AAAAレコードの問い合わせに対して、~
複数のIPアドレスを順番に返していくというネームサーバの機能です。~
簡単な負荷分散などに利用します。
dnsmasqは、A,AAAAレコードのラウンドロビン機能のサポートしています。~
利用方法は''/etc/hosts''に同じホスト名で別のアドレスの行を複数設定するだけです。
''/etc/hosts''ファイル
192.168.20.1 ubuntu
192.168.20.2 ubuntu
192.168.20.3 ubuntu
192.168.20.4 ubuntu
''/etc/hosts''としては正しくない上記の記述を避けたければ、~
addn-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''を実行すると、~
以下のように複数のアドレスが順番にdnsmasqのネームサーバから返されているのが判ります。
% 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のネームサーバ機能で、~
A, AAAAレコードに関する最小限の設定と、~
DNSラウンドロビン機能の利用方法についてでした。
#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)