質問: 192.168.0.200 (static), DNS server, Linux) ``` 現在上図のような構成で、 * 有線無線両方付きルータ1台 (Rとする。192.168.0.1) をNAT * ルータ R の内側を 192.168.0.* で DHCP * Linuxサーバ S を1台LAN側に置き、ローカルIPアドレス固定(192.168.0.200)にし、namedを起動 * ルータ R の設定(後述)で、 + LAN側から特定のホスト名 (たとえば foo1.example.net, foo2,example.net) の名前解決のみ、DNSを S (192.168.0.200) に問い合わせるように設定 (**DNSルーティング設定**) + LAN側からのその他の名前解決は、ルータ R から返答する (ルータが global から与えられたDNSサーバが自動設定されている) と設定して使っております。(実際には foo1.example.net はサーバ S (192.168.0.200) を指していて、外から見た R の 80, 443 番などはこのサーバ S を見せるようにしています。これで、外からでも中からでも同じ名前で foo1 サーバにアクセスできるようにしています。) この、ルータ R の「DNSルーティング設定」は NECのAtermというWi-Fiルータにある機能を使っています。 DNSルーティング設定 この **「DNSルーティング設定」の機能がないルータに置き換える** ことを考えています。 その場合、現在のこの設定はできなくなるのですが、別の方法を使って今と同等のこと(上のようにfoo1に外からでも中からでも同じ名前でアクセスする)ができるのか、あるいは、これとは違う使い方になるが代替案があるのかということが質問したいことです。 どうかご教示願えれば幸いです。
回答: 新しいルータで、DHCP で配布する「参照DNSサーバー」情報を 192.168.0.200 にすることはできないでしょうか。 もしできるのであれば、LAN のクライアントは 192.168.0.1 ではなく、192.168.0.200 を参照するようになるので、後は 192.168.0.200 の DNSサーバーで、example.net は自身の持つゾーンを、それ以外は 192.168.0.1 または上位 DNSサーバーに forward すればいいと思います。 DNSサーバーは、ISC bind など、権威サーバー(コンテンツサーバー)機能とキャッシュサーバー(リゾルバ)機能の両方を持つものを想定しています。