ルータの隠しDNSサーバ機能
普段我々が使っている、多くの場合プロバイダから貸与されているブロードバンドルータですが、簡易なDNSサーバ機能(DNSプロキシ、DNSキャッシュ、DNS中継機能などとも言われるそうです)が付いているものが多いようです。
ところがルータにログインしてみてもその設定項目がないものがあったりしてあまり積極的に使われているとは言いがたく、でもうまく利用できれば自宅でサーバを立ち上げている者にとってはもしかしたら他にDNSサーバを立ち上げる必要がなくなる可能性もあり、そう思って自分のルータについて少し調べてみました。
私の使っているルータはNEC Aterm WarpStar WD701CVというものです。Atermブランドならだいたい同じだと思います。
まずコマンドプロンプトからtelnetしてみます。
>telnet 192.168.0.1 login: Password: ### Welcom To WARPSTAR ###
nslookupしてコマンドとルータの機能を調べてみます。
>nslookup -h NSLOOKUP=>Usage : nslookup keyword option.. NSLOOKUP=> keyword option..: NSLOOKUP=> 01.help messege--------------------------- NSLOOKUP=> -help NSLOOKUP=> -h NSLOOKUP=> - NSLOOKUP=> 02.DNS standerd query search-------------- NSLOOKUP=> -shs NAME NSLOOKUP=> 03.DNS inverse query serach--------------- NSLOOKUP=> -shr IP_ADDRESS NSLOOKUP=> 04.local domain data list display--------- NSLOOKUP=> -lsl NSLOOKUP=> 05.local domain data regist--------------- NSLOOKUP=> -svl NAME IP_ADDRESS NSLOOKUP=> 06.local domain data delete--------------- NSLOOKUP=> -dll NAME NSLOOKUP=> 07.cache domain data list display--------- NSLOOKUP=> -lsc NSLOOKUP=> 08.cache domain data regist--------------- NSLOOKUP=> -svc NAME IP_ADDRESS NSLOOKUP=> 09.cache domain data clear---------------- NSLOOKUP=> -dlc NSLOOKUP=> 10.config data list display--------------- NSLOOKUP=> -lsr NSLOOKUP=> 11.config data regist--------------------- NSLOOKUP=> -setr RESNAME VALUE NSLOOKUP=> 12.dubug trace display-------------------- NSLOOKUP=> -dbg NSLOOKUP=> 13.dubug domain routing list display------ NSLOOKUP=> -lsd
このうち04-06がローカルの端末の名前を表示、登録、削除できる機能です。
まず04をやってみます。
>nslookup -lsl NSLOOKUP=>*********************************************** NSLOOKUP=>* LOCAL DOMAIN LIST(NUM/MAX_NUM= 1/ 30) NSLOOKUP=>*********************************************** NSLOOKUP=>NO IP_ADDRESS NAME NSLOOKUP=>001 192.168. 0. 1 warpstar-********
ルータがwarpstar-********の名前でアクセスできることが表示されます。
次に自宅鯖のアドレス192.168.0.10をwww.example.comで登録してみます。
>nslookup -svl www.example.com 192.168.0.10
再度表示してみます。
>nslookup -lsl NSLOOKUP=>*********************************************** NSLOOKUP=>* LOCAL DOMAIN LIST(NUM/MAX_NUM= 2/ 30) NSLOOKUP=>*********************************************** NSLOOKUP=>NO IP_ADDRESS NAME NSLOOKUP=>001 192.168. 0. 1 warpstar-7d56b0 NSLOOKUP=>002 192.168. 0. 10 www.example.com
これでDNSサーバをルータのアドレスにすれば、www.example.comで自宅鯖にアクセスできるはずです。
この機能が生きてくるのはスマートフォンを使っているときではないでしょうか。
たとえば自宅では無線LANで自宅鯖にアクセスし、外出先ではキャリアの回線でアクセスするとき、端末にhostsを登録しては自宅と外出先で同じドメイン名でアクセスできません。
しかし自宅ではルータをDNSサーバとして指定して上記の設定ができればそれが可能になります。
もし良かったら参考にしてみてください。
※この設定はルータを再起動したら消えてしまいます。再起動したら再度設定しましょう。
【関連記事】
- JuniperのルータOS「JUNOS」本を読む (2014年2月22日)
- Apacheの簡単な動作状況・ステータスの取得 (2010年4月6日)
- Apache:VirtualHost機能を使ったワームの残すログの排除法について (2010年4月6日)