dnsmasqでプライベートなDNSサーバを立てる
こんばんは。 急遽内部向けにDNSサーバが必要になったのでどうするか考えていた所、
dnsmasqってのがOpenstack novaの内部で動いてたよなーと思い出したので検証してみます。
IP | 用途 |
---|---|
10.0.0.2/24 | インターネット用DNS |
10.0.0.107/24 | 内部DNS |
10.0.1.89/24 | 内部DNS |
10.0.3.211/24 | 問合せ元のクライアント、インターネットアクセス不可 |
内部DNSサーバでの作業
dnsmasqはyum dnsmasqでインストールできます。
- hosts
10.0.0.107 ins.local 10.0.1.89 ins.local 10.0.3.211 trustsv.local
- /etc/resolv.conf
nameserver 127.0.0.1 nameserver 10.0.0.2
最後にdnsmasqを起動して終わりです簡単です。
問合せ元のクライアント作業
- resolv.conf
nameserver 10.0.1.89 nameserver 10.0.0.107 options timeout 3 attempts 5
問合せテスト
クライアントで実行してみるとins.localに複数ホストが関連付けられているのが確認できました。
[root@ip-10-0-3-211 ~]# dig ins.local ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31712 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;ins.local. IN A ;; ANSWER SECTION: ☆ins.local. 0 IN A 10.0.1.89 ☆ins.local. 0 IN A 10.0.0.107
インターネット上のホストも解決できました。
[root@ip-10-0-3-211 ~]# dig google.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27443 ;; flags: qr rd ra; QUERY: 1, ANSWER: 11, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;google.com. IN A ;; ANSWER SECTION: google.com. 294 IN A 173.194.117.165 google.com. 294 IN A 173.194.117.164 google.com. 294 IN A 173.194.117.163 google.com. 294 IN A 173.194.117.162 google.com. 294 IN A 173.194.117.161
う〜ん、便利です。
PTRやMX等も設定できるらしいので、次はPTRの実装をしてみます。 多分続く。