leiqunniの日記: 【教えてエロい人】ネームサーバの設定はルーターかクライアントか 3
日記 by
leiqunni
今までルータのネームサーバににGoogleのパブリックDNSを設定して、
ルータ配下のクライアントはDHCPでネームサーバにルータのIPアドレスを配っていた。
ルータはDD-WRTで、dnsmasqが動いている(実はDnsmasqが何か詳しく知らない)。
ここで実は、クライアントのWindowsのネームサーバをルータではなく、
直接8.8.8.8を見に行かせたら速いんではないかと気付いた。
要は、dnsmasqとWindowsのどちらのDNSのキャッシングの性能とかが良いか、
という問題に帰結すると思うのですが、
WindowsはDNSをキャッシングとかしますか?
自分で調べますた (スコア:2)
Windows 10ではデフォルトで、DnscacheというDNSクライアントのサービスが走っており、
これがリゾルバキャッシュしていました。
それでリゾルバキャッシュのフラッシュは、
ipconfig /flushdns
でしたが、このサービスを止めるには、
net stop dnscache
でした。もちろん止めると性能落ちます。
もしかしたらライブラリでキャッシングしてりとか思ってましたが、
ではなくてちゃんとデーモンが動いてたのですね。
MaxCacheTtl(デフォ86,400秒)もMaxNegativeCacheTtl(デフォ900秒)も、
レジストリでいじくるつくーるで変更できます。
考察ですが、インターネットにかけるコストはどちらも変わらず、
ルータの貧弱なハードウェア(と言っても、MIPS 24Kc V7.4 680MHz 128MB)でキャッシュするよりも、
豪勢なクライアント自身でやったほうが動きを把握しやすいので、
WindowsのネームサーバにパブリックDNSを設定することにしました。
。。。いや、DHCPでパブリックDNSを配れば良いのか。
どのみちネームサーバは192.168.1.1じゃなくなってよ。
#32bit CPUが680MHZで駆動して、メモリが128MBもあるのかあ。
#X68000ってなんだったんだろうなあ。
教えたらエロいと思われちゃう(///) (スコア:0)
WindowsはDNSリゾルバキャッシュしますよ。
どちらの設定が早いかは、まぁその環境での実測しかないかと。
Re: (スコア:0)
エロいから答えちゃう。
もし、 Windows のリゾルバキャッシュを捨てたいなら、 ipconfig /flushdns とすると消せます。
こんな感じ。
↓
C:\>ipconfig /flushdns
Windows IP 構成
DNS リゾルバー キャッシュは正常にフラッシュされました。
---
だけど、プロバイダの配布しているリゾルバで名前解決したほうがネットワーク的に早いと思います。
Google puplic DNS 使うなら、 Quad9 とか、 Quad1 も使っておいた方がいいような気がするっスけど……
もしかすると OP53B されちゃったりするかも