#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)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS