
はじめに
過去にDNSエンジニアの経験があるのですが、最近DnsmasqというDNSソフトウェアがあるらしい、、、試してみねばということで、インストールしてみます。
bind、unboundは構築・運用経験有りです。
Dnsmasqとは?
小規模向けのDNS、DHCP機能を持ったソフトウェアとの事。
www.thekelleys.org.uk
早速インストール
今回は手元にあるRaspberry Pi Zeroを使用します。
OSインストールまでは、下記の記事を参考にしてください。
www.gachatsuku.com
dnsmasqのインストール
sudo apt-get install dnsmasq
設定
設定ファイルをコピっておきます。
# sudo cp -pi /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
設定ファイルを編集します
# sudo vi /etc/dnsmasq.conf
# diff /etc/dnsmasq.conf.orig /etc/dnsmasq.conf
19c19
< #domain-needed
---
> domain-needed
21c21
< #bogus-priv
---
> bogus-priv
74c74
< #local=/localnet/
---
> local=/gachatsuku.net/
135c135
< #expand-hosts
---
> expand-hosts
144c144
< #domain=thekelleys.org.uk
---
> domain=gachatsuku.net
hostsの設定
# sudo vi /etc/hosts
以下を追記
192.168.11.11 ns1.gachatsuku.net
サービス起動
# sudo service dnsmasq start
ポート確認
# netstat -an | grep ":53"
tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN
tcp6 0 0 :::53 :::* LISTEN
udp 0 0 0.0.0.0:5353 0.0.0.0:*
udp 0 0 0.0.0.0:53 0.0.0.0:*
udp6 0 0 :::5353 :::*
udp6 0 0 :::53 :::*
名前解決確認 ※クライアントは同NWのMac
# dig @192.168.11.11 ns1.gachatsuku.net
; <<>> DiG 9.10.6 <<>> @192.168.11.11 ns1.gachatsuku.net
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57998
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;ns1.gachatsuku.net. IN A
;; ANSWER SECTION:
ns1.gachatsuku.net. 0 IN A 192.168.11.11
;; Query time: 12 msec
;; SERVER: 192.168.11.11#53(192.168.11.11)
;; WHEN: Wed Jun 12 23:11:16 JST 2019
;; MSG SIZE rcvd: 63
# dig @192.168.11.11 google.com
; <<>> DiG 9.10.6 <<>> @192.168.11.11 google.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19214
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;google.com. IN A
;; ANSWER SECTION:
google.com. 300 IN A 172.217.27.78
;; Query time: 68 msec
;; SERVER: 192.168.11.11#53(192.168.11.11)
;; WHEN: Wed Jun 12 23:12:58 JST 2019
;; MSG SIZE rcvd: 55
内、外共にOK
logを吐いていなかったので、設定追加
# sudo vi /etc/dnsmasq.conf
# diff /etc/dnsmasq.conf.orig /etc/dnsmasq.conf
635c635,636
< #log-queries
---
> log-queries
> log-facility=/var/log/dnsmasq.log
logを見つつdigする
# sudo tail -f /var/log/dnsmasq.log
Jun 12 23:20:10 dnsmasq[21074]: query[A] google.com from 192.168.11.2
Jun 12 23:20:10 dnsmasq[21074]: cached google.com is 172.217.27.78
Jun 12 23:21:11 dnsmasq[21074]: query[A] ns1.gachatsuku.net from 192.168.11.2
Jun 12 23:21:11 dnsmasq[21074]: /etc/hosts ns1.gachatsuku.net is 192.168.11.11
手軽にサクッとできました。