Network Users' Group ``wheel'' / Dai ISHIJIMA's Page /
RTA55i / ローカルルータとDNSリカーシブサーバ

最終更新日: 2002/07/04


ローカルルータとリカーシブサーバ


RTA55iをインターネットアクセス用のブロードバンドルータとしてではなく、 ローカルルータ として無事に使うことができました。 しかし、ちょっと使ってみるとなんか挙動がヘン。 どこがヘンかというと、 DNSのリカーシブサーバとして思ったように働いてくれなかったのです (単にそういう仕様なのであって、 わたしが知らなかっただけだったのかも;^^)。 でも、設定をちょいと修正したら、思ったように動いてくれました。

ローカルルータとして使用する場合の ネットワークの構成は以下のようなものです。

       Internet
          |
     +---------+
     | gateway |
     +---------+
          | 192.168.254.1
          |
    ------+--------+------------  192.168.254.0/24
                   |
   192.168.254.254 | WAN(LAN2)
              +---------+
              |  RTA55i |NAT
              +---------+
              LAN1 | 192.168.0.1
                   |
    ------+--------+------------  192.168.0.0/24
          |
          |192.168.0.2
     +---------+
     |   PC    |
     +---------+
この状態で、PCからgatewayやインターネット上のマシンに うまくアクセスできていたのですが、 PCでネームサーバをRTA55iに指定すると、 うまくいきません。 このときのRTA55iの設定は、次のとおり。
	serial default console
	console character ascii
	console lines infinity
	ip lan1 address 192.168.0.1/24
	ip lan1 routing protocol none
	ip lan1 rip listen none
	ip lan2 address 192.168.254.254/24
	ip lan2 routing protocol none
	ip lan2 rip listen none
	ip lan2 nat descriptor 1
	ip route default gateway 192.168.254.1
	nat descriptor type 1 masquerade
	nat descriptor address outer 1 192.168.254.254
	nat descriptor address inner 1 192.168.0.1-192.168.0.254
	httpd service off
	dhcp service server
	dhcp server rfc2131 compliant except remain-silent
	dhcp scope 1 192.168.0.2-192.168.0.191/24
	dns server 192.168.254.1
	dns domain my.domain
	dns private address spoof on
	analog supplementary-service pseudo call-waiting
	analog extension dial prefix line
	analog extension dial prefix sip 9#
この状態で、RTA55iのコンソールから
	# ping gateway
としてもうまくいきません。
	# ping 192.168.254.1
なら、
	192.168.254.1 is alive
となりうまくいきます。 どうもネームサーバまわりがうまくいってないので、 PCやgatewayでtcpdump(8)まで動かしてみて調べましたが、 PCやgateway側は必要なパケットがやりとりされているようです。 たとえば、PCで
	% nslookup hogehoge.my.domain
のようにしてhogehoge.my.domain(仮名)を引いてみると、
	PC → RTA55iの53番にパケットが飛ぶ
	RTA55iの53番 → PC で RTA55iの名前 (setup.netvolante.jp) が返る
	PC → RTA55iの53番に hogehoge.my.domain 問い合わせのパケットが飛ぶ
	RTA55i → gateway に hogehoge.my.domain 問い合わせのパケットが飛ぶ
	gateway → RTA55i に hogehoge.my.domain のIPアドレスが返る
	…でもこのあと RTA55i → PC にhogehoge.my.domain のIPアドレスが返らない
	…そしてタイムアウト
のような感じです。

どうもよくわからないので、 RTA55iをcold startで初期化して、 一つずつ設定を入れなおしてみると、 NATを使わなければちゃんとリカーシブサーバとして動くことがわかりました。

結局、NATを使うときの内外のIPアドレスは、

	nat descriptor address outer 1 192.168.254.254
	nat descriptor address inner 1 192.168.0.1-192.168.0.254
ではなく、
	nat descriptor address outer 1 primary
	nat descriptor address inner 1 auto
としなければいけないようです (内側アドレスは auto でなく 192.168.0.1-192.168.0.254 の指定でも かまわないようです) 。

というわけで、結論としては、以下のように設定すればうまくいきました。

	serial default console
	console character ascii
	console lines infinity
	ip lan1 address 192.168.0.1/24
	ip lan1 routing protocol none
	ip lan1 rip listen none
	ip lan2 address 192.168.254.254/24
	ip lan2 routing protocol none
	ip lan2 rip listen none
	ip lan2 nat descriptor 1
	ip route default gateway 192.168.254.1
	nat descriptor type 1 masquerade
	nat descriptor timer 1 28800
	nat descriptor address outer 1 primary
	nat descriptor masquerade rlogin 1 on
	httpd service off
	dhcp service server
	dhcp server rfc2131 compliant except remain-silent
	dhcp scope 1 192.168.0.2-192.168.0.191/24
	dns server 192.168.254.1
	dns domain my.domain
	dns private name rta55i.my.domain
	analog supplementary-service pseudo call-waiting
	analog extension dial prefix line
	analog extension dial prefix sip 9#
なお、
	nat descriptor timer 1 28800
	nat descriptor masquerade rlogin 1 on
は、リモートマシンにsshでアクセスするため、 そして、リモートマシンにsshしたまましばらくほったらかしにしたときに コネクションが切れないようにするために付け加えました。
ご質問などありましたらお気軽に