Ubuntu 16.04
 

Dnsmasq : インストール
2016/09/06
 
小規模な内部ネットワーク向けの軽量な DNS フォワーダー/DHCPサーバーソフトウェア Dnsmasq のインストールと設定です。
[1] Dnsmasq をインストールします。
root@dlp:~#
apt-get -y install dnsmasq
[2] Dnsmasq の設定です。
root@dlp:~#
vi /etc/dnsmasq.conf
# 19行目:コメント解除 (ドメイン名の無いクエリは上位サーバーに問い合わせない)

domain-needed
# 21行目:コメント解除 (プライベートIPの逆引き要求は上位サーバーに問い合わせない)

bogus-priv
# 53行目:コメント解除 (resolv.confに記述のサーバーに上から順に問い合わせる)

strict-order
# 67行目:追記 (設定したドメインについては指定のサーバーに問い合わせる)

server=/server.education/10.0.0.10
# 135行目:コメント解除 (ホスト名に自動的にドメイン名を付加する)

expand-hosts
# 145行目:追記 (ドメイン名を定義)

domain=srv.world
root@dlp:~#
systemctl start dnsmasq

[3] IPアドレスとホスト名のエントリは /etc/hosts へ登録します。
以上の設定により、クライアントからの要求に対して、設定した内部ドメインは /etc/hosts を参照し、その他は上位のDNSサーバーに問い合わせて結果を返します。
root@dlp:~#
vi /etc/hosts
# 設定するエントリを追記
10.0.0.30       dlp.srv.world dlp 

root@dlp:~#
systemctl restart dnsmasq

[4] 内部ネットワーク内の任意のクライアントから名前解決可能か確認しておきます。
なお、Dnsmasq を稼働させると、/etc/resolv.conf の設定は 127.0.0.1 固定になり、/etc/network/interfaces のネームサーバー設定は /var/run/dnsmasq/resolv.conf で管理されるようになります。
root@desktop:~#
vi /etc/network/interfaces
# 名前解決の参照先を自身に変更

dns-nameservers
10.0.0.30
root@desktop:~#
systemctl restart ifup@ens3
root@desktop:~#
dig dlp.srv.world.


; <<>> DiG 9.10.3-P4-Ubuntu <<>> dlp.srv.world.
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4735
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1280
;; QUESTION SECTION:
;dlp.srv.world.                 IN      A

;; ANSWER SECTION:
dlp.srv.world.          0       IN      A       10.0.0.30

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu Sep 08 09:47:08 JST 2016
;; MSG SIZE  rcvd: 58

root@desktop:~#
dig -x 10.0.0.30


; <<>> DiG 9.10.3-P4-Ubuntu <<>> -x 10.0.0.30
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45750
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1280
;; QUESTION SECTION:
;30.0.0.10.in-addr.arpa.                IN      PTR

;; ANSWER SECTION:
30.0.0.10.in-addr.arpa. 0       IN      PTR     dlp.srv.world.

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu Sep 08 09:48:01 JST 2016
;; MSG SIZE  rcvd: 78
 
Tweet