Cisco ルータを DNS サーバとして使う
Cisco ルータは DNS サーバとして使うこともできます。とは言え、操作性も良いわけでは無いので、決してお勧めはしませんが・・・今回は IOS のバージョン 15.0(1)M2 で Cisco ルータの DNS 機能を検証してみました。
Cisco ルータで DNS 機能を有効化する
DNS サービスを起動するには "ip dns server" を設定します。これで Cisco ルータが UDP/53 を Listen 開始するようです。
| Router(config)# ip dns server ?
queue Configure queue parameters
view-group Configure a DNS view-list for global use on this system
|
A レコード、PTR レコードを登録する
A レコードを登録するには "ip host [FQDN] [Address]" を設定します。A レコードを設定すると、自動的に対になる PTR レコードも登録されます。
| Router(config)# ip host www.example.local 10.0.0.1 ?
A.B.C.D Host IP address
|
SOA レコードを設定する
SOA レコードを登録するには "ip dns primary [FQDN] soa [DNS Server] [MailAddress] [Refresh] [Retry] [Expire] [Minimum]" を設定します。
| Router(config)# ip dns primary example.local soa dns01.example.local root.example.local 3600 900 86400 3600
|
Linux サーバから dig で名前解決した結果
しかし、Linux サーバから dig で名前解決テストしてみると A レコードは正常に引けるものの、PTR が上手く解決出来ないようです???また、SOA は問い合わせるごとに Serial が自動的に増えているようです???(そもそも、Cisco ルータの設定上、シリアル番号は指定できないようです)
A レコードを問い合わせた結果
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 | $ dig @10.0.1.185 www.example.local. A
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5_5.3 <<>> @10.0.1.185 www.example.local. A
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 22229
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.example.local. IN A
;; ANSWER SECTION:
www.example.local. 10 IN A 10.0.0.1
;; Query time: 2 msec
;; SERVER: 10.0.1.185#53(10.0.1.185)
;; WHEN: Fri Apr 8 15:08:37 2011
;; MSG SIZE rcvd: 51
|
PTR レコードを問い合わせた結果
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 | $ dig @10.0.1.185 10.0.0.1 PTR
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5_5.3 <<>> @10.0.1.185 10.0.0.1 PTR
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 2043
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;10.0.0.1. IN PTR
;; AUTHORITY SECTION:
. 10800 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2011040701 1800 900 604800 86400
;; Query time: 32 msec
;; SERVER: 10.0.1.185#53(10.0.1.185)
;; WHEN: Fri Apr 8 15:09:49 2011
;; MSG SIZE rcvd: 101
|
SOA レコードを問い合わせた結果
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 | $ dig @10.0.1.185 example.local. SOA
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5_5.3 <<>> @10.0.1.185 example.local. SOA
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15552
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;example.local. IN SOA
;; AUTHORITY SECTION:
example.local. 3600 IN SOA dns01.example.local. root.example.local. 3511236465 3600 900 86400 3600
;; Query time: 2 msec
;; SERVER: 10.0.1.185#53(10.0.1.185)
;; WHEN: Fri Apr 8 15:21:20 2011
;; MSG SIZE rcvd: 117
|