タイトルどおり。
パブリックDNSは使わない。
RTX830
RTX830のDNSリカーシブサーバー機能を使う。
dns host lan1 <--- lan1インターフェースからのアクセスを許可する
dns service recursive <--- DNS リカーシブサーバーとして動作
dns server 宅内DNSサーバー edns=on <--- 上位DNSサーバーとして宅内DNSサーバーを指定
dns srcport 1024-65535
dns cache use on <--- キャッシュを使う
dns cache max entry 256
dns notice order dhcp me <--- DHCPでは自機(RTX830)をDNSサーバーとして通知する。
以上の設定で
LAN内の端末 —> RTX830 —-> 宅内DNSサーバー —> ISP(JCOM)のDNSサーバー
の順で問い合わせを行う。
宅内DNSサーバー
Pi-holeをホスト。上位DNSサーバーには、JCOMがDHCPで通知しているDNSサーバーを指定。
結果
RTX830、Pi-holeともにキャッシュなしの場合
RTX830はclear dns cache
、Pi-holeはsudo pihole reloaddns
でいったんキャッシュをクリア。その後
dnsperftestでテスト。
RTX830のIPアドレスは192.168.0.1に設定
$ bash ~/dnsperftest/dnstest.sh |sort -k 22 -n
test1 ... Average
jcom1 22 ms 36.00
level3 23 ms 36.50
jcom2 49 ms 47.00
cloudflare 98 ms 47.90
192.168.0.1 21 ms 48.30
quad9 22 ms 52.40
google 95 ms 57.00
キャッシュなしだと大体50 msくらい
RTX830、Pi-holeともにキャッシュありの場合
$ bash ~/dnsperftest/dnstest.sh |sort -k 22 -n
test1 ... Average
192.168.0.1 4 ms 13.00
jcom1 19 ms 36.80
level3 25 ms 36.90
google 22 ms 44.30
cloudflare 107 ms 45.80
jcom2 98 ms 52.80
quad9 25 ms 66.50
キャッシュありだと10~15msくらい。