現在ルータとしてNetgear製のR7800というルータを使っています。それと同時に、私はドメインを持っているのでプライベートネットワークでDNSを構築して、特定のドメインの名前解決のために、そのDNSにアクセスします。R7800というルータでは、内部のDNSへの問い合わせがうまくできませんでした。今回は、Netgear製のR7800というルータで内部のDNSへの問い合わせをする方法を紹介します。v1.0.2.62原因ひとまず原因を探すために、R7800について色々と調べてみました。すると、R7800ではDnsmasqというDNSサーバが動作していることが分かりました。それと同時に、いくつかDNSの問い合わせを試してみると、必ずルータへ設定したDNSサーバに問い合わせしていることが分かりました。このようなことから、「DNSの問い合わせのパケットはルータを通って問い合わせるため、ルータのDnsmasqが勝手に問い合わせ先のDNSサーバを変えている」のが原因ではないかと推測しました。推測した原因から、対処法をやってみました。Dnsmasqについて調べてみると、特定のドメインだけDNSの問い合わせ先を変更できるということが分かりました。そのため、対処法として私が持っているドメインだけ内部のDNSサーバに問い合わせをするということにしました。設定は、Telnetでルータにアクセスして行います。アクセスし、Telnetを有効にします。Telnetでルータにアクセスしたら、Dnsmasqの設定ファイルが/etc/dnsmasq.confにあるので、viなどのエディタを使って次の内容を追記します。server=/ドメイン/DNSサーバのIPserver=/プライベートIPアドレスのネットワーク部.in-addr.arpa/DNSサーバのIPあとは、次のコマンドを実行してDnsmasqの設定を読み込みます。reloadこれで、特定のドメインの正引き、逆引きについては、内部のDNSへ問い合わせるようになりました。さいごに全ての名前解決を内部のDNSサーバに問い合わせていないため、完全な解決法ではないですが、ひとまず最低限の設定はできたと思います。ところで、NetgearのルータはLinuxが動いているようなので、結構操作が簡単でした。テーマで生成されています。