Home > RTX1100の設定

RTX1100の設定


  • Posted by: F&F
  • 2009年6月18日 10:43

RTX1100でホームUを使う設定、どうしてもmoperaをアクセスしようとするとmopera.net(ホームU用接続)のDNSを見に行ってしまう。
これはまあルータ君としては正しい動作と言えばそうなわけで… でもこれでは困る。

そこでデフォルトルートの他にns1(2).mopera.netへのルートを強制的に作ってみる。
いや、でもそうするとN-06Aからアクセスできないではないか。
でもN-06Aの方はそもそもVLANさえ張れればDNSは要らないはず。
Logを見ても、
PP[02] IP Commencing: UDP {N-06AのIPアドレス} > 220.159.233.1:53 (DNS Query [pwlanvoice.docomo.ne.jp])
となっている。

下の記事に戴いたコメントで ppp ipcp msext off を試してみたがこれはダメだった。
DNS情報を持ってきていなくてもmoperaのDNSに向かってpp2の経路を使おうとしてしまうからだ。

現状で解決策になりそうなのは、
1.pp1に強制的にルートを作る方法。
2.pp2に対してIP Masueradeを設定するのではなくスタティックNATを設定してしまう。
3.pp2のmasqueradeの対象アドレスをN-06Aに割り当てられる範囲に限定してしまう方法。

[1]
ip route 220.159.212.200 gateway pp 1
ip route 220.159.212.201 gateway pp 1

[2]
nat descriptor static 2 ipcp={N-06Aの割り当てIPアドレス}
※ipcpが指定可能かどうか不明なので、駄目な場合は他の指定で。

[3]
nat descriptor address outer 2 ipcp
nat descriptor address inner 2 {N-06A割り当てアドレスの最初-N-06A割り当てアドレス最後}


ただし[2]だとホームUの最大端末数である6台の同時使用を満足しなくはなるが、そんなに使っているわけではないから良いか。

様々な状況でうまく動作するのかどうか検証に時間がかかる。
とりあえず的なチェックだが
[1]成功
[2]失敗、NATテーブルが生成できないのでmopera.netに到達しない。
[3]失敗、[2]と同様に、どうしてもpp2に行きたいのだがNATテーブルが生成できない。

これも又原因不明なのだがいじくり回しているとNATタイマが更新されなくなってしまうのだ。
通信が行われればNATタイマは更新され、無通信状態が続くとそれがタイムアップしてNATテーブルを解放する。
しかしこの状態に陥ると通信が行われているにも関わらずNATタイマが更新されずにタイムアップしてテーブルを解放してしまう。
とうぜんそうなれば通信は途中で中断されるが、その通信を検知して今度は再度NATテーブルを割り当てる。
しかしどうやらこれだとVPNの中身が壊れるようで通信が成立しなくなる。

NAT関連では別の障害も経験していて、ステータス上はNATテーブルが出来ているのに通信できないというもの。
これに関しては一旦その設定を消去して再度書き直したら直った。
現在はこのNATテーブルタイマが交信されない状態に陥っている。
一旦設定を全消去して書き直したら直るのかな。

2点ほどヤマハに問い合わせをしてみた。

A1.NATタイマ値に関して
nat descriptor timer 1 protocol=udp port=domain 30
nat descriptor timer 1 protocol=tcp port=domain 30
と設定しているのに、実際は10秒でタイムアウトするのは何故か?

Q1.分かりません

A2.NATタイマの更新に関して
nat descriptor timer 1 300
とした場合、300秒以内に通信が行われればNATタイマは更新されるはずですよね?
更新されないケースはありますか?

Q2.更新されないケースはありません。

A3.実際には上記のことが起こっているのですが解析の手法は?
Q3.debug logを送って貰えれば見ます。


もう少し実験して、ダメなら仕方がないからRTX1100にはISP接続だけをやらせ、RT-200NEの方でホームU接続するか。
RT-200NEに無線LANカードを突っ込めばそれで済む。
しかしエレガントじゃないなぁ。

   

Comments:16

ymh 2009年6月18日 20:52

>A1.NATタイマ値に関して
>nat descriptor timer 1 protocol=udp port=domain 30
>nat descriptor timer 1 protocol=tcp port=domain 30
>と設定しているのに、実際は10秒でタイムアウトするのは何故か?

http://www.rtpro.yamaha.co.jp/RT/docs/nat-descriptor/nat-abstruct.html
こちらのURLで解説されておりますように
>4.10. DNS
>応答パケットを受信した直後にバインドを解消します。
>応答パケットを受信してから、バインドを解消するまでの時間は約10秒です。
という事情からではないでしょうか?

F&F Author Profile Page 2009年6月18日 20:59

なるほど、そう言うことでしたか。
有り難うございます。
それでpp2へDNS問い合わせに行くと通常のタイマになっていた訳ですね(応答が返らないから)。

NATタイマの更新、現在はされています。
何をトリガにされなくなるのかは分からないのですが、少なくともいじくり回さなければ安定しています。

ymh 2009年6月18日 23:12

いえいえ、先ずは1つ解決されたようでよかったです

>NATタイマの更新、現在はされています。
>何をトリガにされなくなるのかは分からないのですが、少なくともいじくり回さなければ安定しています。
何らかの原因でNATテーブル溢れが起きているような状況ですね
次回不安定になりましたら以下のコマンドで様子を見てみて下さい
show environment   メモリやCPUの空き状況
show nat descriptor address all  NATテーブル空き状況
nat descriptor log on  NATの作成・開放がdebugログにとれます

>ステータス上はNATテーブルが出来ているのに通信できないというもの。
>これに関しては一旦その設定を消去して再度書き直したら直った
NAT設定を再定義するとテーブルがクリアされますのでその影響で
治ったんではないでしょうか?
テーブルをクリアするコマンドがありますので次回試してみて下さい
clear nat descriptor interfece dynamic pp PP番号

詳細はこちらをご参照下さい
http://www.rtpro.yamaha.co.jp/RT/docs/nat-descriptor/command.html#operation

F&F Author Profile Page 2009年6月18日 23:32

NATテーブル使用量は20個から200個程度(情報メール送信時は2000個を超える)くらいで、昨晩はその接続できない状態(NATテーブルがタイマによって消滅する)になっていました。
N-06Aは定期的にリトライしますが、朝までその状態でした。
朝にN-06Aを持ち去ったのでpp2の接続は切れ、夜になってN-06Aを持ち帰ったら使えるようになっていました。

CPUとメモリ負荷はMRTGで取っているのですが、余裕はあると思われます。
http://www.fnf.jp/analog/mrtg.html

パケットは(NATテーブルがあれば)通る事と、パケットを等してもタイマが更新されないことからルータ側に原因があるのかなと思うのですが、おかしなパケット(少なくとも昨日まではDNS問い合わせが行ったりしていたので)を流したのでmopera.net側が何か嫌がったかな?と思ったり。

F&F Author Profile Page 2009年6月19日 00:40

今一旦切って再接続したら現象が起きました。
接続すればNATタイマは300秒になりますが、通信中も値が戻ることなく300秒後にはゼロになって通信が切れます。
NATテーブルの個数は26個(pp2では1個)、CPU負荷は5%。メモリ29%です。
ルートが、何故pp2を向いたヤツが出来ているのか。
61.195.209.195とか。


default - PP[01] static
61.195.209.195/32 - PP[02] temporary
61.195.209.198/32 - PP[02] temporary
61.195.209.200/32 - PP[02] temporary
61.195.209.202/32 - PP[02] temporary
192.168.1.0/24 192.168.1.1 LAN1 implicit
218.45.16.70/32 - PP[01] temporary
218.45.16.101/32 - PP[01] temporary
218.45.29.108/32 - PP[01] temporary
220.159.233.0/24 - PP[02] static

F&F Author Profile Page 2009年6月19日 00:50

N-06AをFOMAモードにして無線LANを切り、タイマでpp2が切断されたあと
clear nat descriptor interface dynamic pp 2
コマンドを発行(見る限りにおいてはNATテーブルは使われていなかったが)し、その後N-06Aを無線LANモードでスタートさせたら直りました。

ymh 2009年6月19日 12:14

NATテーブルあふれ等による問題やリソース不足等ではなさそうですね

N-06Aとdocomo網の間はESP over UDPのIPsecのようですが
通常ESP over UDPの場合natに特別な設定はいらないはずなので、謎ですね
http://www.corebuilder.net/Corebuilder/2008/11/n906il-u.html

pp2では1つのみのNATテーブルが出来ていたそうですが
nat descriptor log on でNATテーブルの動作が表示できますので
N-06AがホームUを使用しているときに最大でいくつどの様なポートやプロトコルで
NATテーブルを生成するか見て頂けないでしょうか

こちらは何故出来るのかは分かりませんが、どのタイミングで出来ているのかは
ip route change log onで分かるのではないかとおもいます
61.195.209.195/32 - PP[02] temporary
61.195.209.198/32 - PP[02] temporary
61.195.209.200/32 - PP[02] temporary
61.195.209.202/32 - PP[02] temporary

F&F Author Profile Page 2009年6月19日 12:26

N-06Aがコネクトするときには通常3つのNATテーブルが使われるようです。
(nat descriptor log onだとLog容量がものすごくなるので全部はチェックしていません)
ポートは最初に53番(これで接続開始だと思います)、その後500番と4500番が残り、500番(だったと思う)はタイムアウトして消滅します。
残った方は1分ごとにN-06Aからパケットが出て保持されるのが普通の状態です。(あとで再度確認します)

F&F Author Profile Page 2009年6月19日 16:21

接続からNATが1個になるまでのlogを取り、pp2のみ抽出しました。
面倒なのでIPのままですが、192.168.1.240がN-06Aに割り当てられたIPアドレスです。

Jun 19 16:08:43 gate [DHCPD] Allocates 192.168.1.240: 00:16:97:89:f5:fc
Jun 19 16:08:45 gate PP[02] IP Commencing: UDP 192.168.1.240:32851 > 220.159.233.1:53 (DNS Query [pwlanvoice.docomo.ne.jp])
Jun 19 16:08:45 gate PPPOE[02] Connecting to PPPoE server
Jun 19 16:08:45 gate PPPOE[02] PPPoE Connect
Jun 19 16:08:45 gate PP[02] PPP/IPCP up (Local: 220.159.52.2, Remote: 61.195.209.195)
Jun 19 16:08:46 gate [NAT(2):PP02] Bound UDP 220.159.52.2.60043 192.168.1.240.500 ==> 220.159.233.39.500
Jun 19 16:08:46 gate [NAT(2):PP02] Bound UDP 220.159.52.2.60044 192.168.1.240.4500 ==> 220.159.233.39.4500
Jun 19 16:08:55 gate [NAT(2):PP02] Released UDP 220.159.52.2.60042 192.168.1.240.32851 ==> 220.159.233.1.53
Jun 19 16:13:46 gate [NAT(2):PP02] Released UDP 220.159.52.2.60043 192.168.1.240.500 ==> 220.159.233.39.500

ymh 2009年6月20日 12:33

ありがとうございます

1.pwlanvoice.docomo.ne.jpの名前解決のためUDP53でNAT1つめ開始(10秒後にタイムアウトでNAT開放)
2.IPsec IKEの為UDP500でNAT2つめ開始(300秒後にタイムアウトでNAT開放)
3.IPsec ESP over UDPの為UPD4500でNAT3つめ開始(1分ごとにN-06Aからの接続維持通信でNAT持続)

このような動作になり、最終的に3.で作成されたUDP4500のNATのみで
通常はタイマーが正常に更新されホームUを使用できていて、なにかのタイミングでそのNATテーブルが更新されなくなり
タイムアウトで消えて通信不能ということでしょうか

>その通信を検知して今度は再度NATテーブルを割り当てる。
>しかしどうやらこれだとVPNの中身が壊れるようで通信が成立しなくなる。
また、通信不能になった後は再び1.から処理が行われて回復するわけではなく
通信ができなくなるとのことですが、ここから回復させるにはなにをすると
通信が再開しますか?

F&F Author Profile Page 2009年6月20日 13:27

通信再開は最初の手順スタートさせればOKです。
一端N-06A側をFOMAモードにして無線LANを切断し、再度無線LANモードにすると最初からスタートします。
ただ時間をおいておくと勝手にリトライもするようなのですが時間は不明(30分とか1時間単位だと思う)
希に沢山のNATテーブルが使われる(10個位か)事があって、それは決まったポートではないように見えますが、発生頻度が低いのでよく分かっていません。

このNATテーブルタイムアウトで切断が起き始めると何度リスタートしてもダメになります。
前回教えていただいたclear nat descriptor interface dynamic pp 2を発行すると正常化したので、まだ一度しかやっていないのですが影響しているのかも知れません。

現在知人宅でRT-200NEで実験中なのですが、ここでも切断が起きて訳が分からなくなっています。
RT-200NEは詳細なログも取れないので。

F&F Author Profile Page 2009年6月20日 16:25

RT-200NEでの実験その後です。
何度かやってもNATタイムアウト→回線切断という状態でした。
そこでN-06Aを再起動(電源OFF→ON)したら、今のところ正常になっています。

ymh 2009年6月22日 07:15

RT-200NEでも起こりますか
こうなるとN-06Aの問題のような感じですね

NATテーブルの遷移からNATトラバーサルを使用したIPsecを使用しているようですが
通常最終的にUDP4500のみになった後、UDP4500では定期的に
キープアライブメッセージを送り、NATの接続維持を行いますが
何かのタイミングでこれが正しく働かなくなるような感じですね

>希に沢山のNATテーブルが使われる(10個位か)事があって、
>それは決まったポートではないように見えますが、
>発生頻度が低いのでよく分かっていません。
暗号化とは別の管理用のなにかでしょうか
こちらは通信仕様が非公開なのでよくわかりませんね

IPsecの通信断問題、その他の通信内容については
lan port-mirroring コマンドでポートミラーリングができますので
パケットキャプチャしてみてはいかがでしょうか

F&F Author Profile Page 2009年6月22日 07:35

RT-200NEでドコモの推奨設定と違うのは、自動切断をONにしていることで、そのタイマ値は300秒としていました。
昨日はこれを1800秒に延長したところまでで時間切れ、また機会を見てやらせて貰おうと思います。
RTX1100の方は昨晩から現在まではたぶん切れていないと思います。
たぶんというのは、手動による通信をしないようにしてMRTGでパケットのグラフを見ているから(通信してしまうと低容量通信が埋もれて見えなくなってしまう)です。

これを見ると30分に1回くらいのペースで何かやっている感じがします。
しかし、通常は1分ごとのパケットでNATタイマと接続が保持されている訳で、何かをやっていたとしても関係ないはずです。

まあ、今までの実験の結果からしても正しく動作するかどうかはその時次第みたいな感じもあるので結論を導き出すには時間がかかりそうですが、何か分かってきたら報告したいと思います。

ymh 2009年6月24日 05:40

その後いかがでしょうか?
またホームU関連のブログエントリ楽しみにしております

F&F Author Profile Page 2009年6月24日 07:42

おかげさまでRTX1100はうまく動作しています。
おかしな?ルートも消して以来再度生成はされていません。
接続が切れることも今のところありません。
RT-200NEの方は環境の都合でその後実験できていませんが。

次はフレッツスクエアにでもつないでみるかと(moperaの代わりに)思っていますが、DNSの方を細工してfletsの名前引きの場合にflets側のDNSにフォワードするように設定するなどが面倒で。

接続自体は普通にpp3を作ってルートを書けばいいと思いますが。

コメント投稿には JavaScript が必要です。ブラウザのJavaScript 機能を有効にしてください。

サインインしなくてもコメントの投稿は出来ます。
サインインしている場合はお名前などを入力せずに、そのまま投稿できます。

登録は簡単&それによって何かが起きるわけではないのでお気軽にどうぞ。
登録ページ書き込み→確認メール送信→確認メールのURLクリックで承認、の手順です。
確認メールに書かれたURLにアクセスしないと登録は完了せず、正しいログイン状態に移行できません。
コメント フォーム
コメント投稿完了までには少し時間がかかります。
二重投稿にご注意下さい。

Home > RTX1100の設定



VC