人気ブログランキング | 話題のタグを見る
RTX1000でNATテーブルが溢れた
RTX1000でIPマスカレードを使ってて、ふとNATテーブルを確認すると、結構な量使ってました。
には以下のコマンドが使えます。IPマスカレードの変換テーブルも見れます。

show nat descriptor address
...
Masqueradeテーブル
外側アドレス: 192.168.0.150 ポート範囲=60000-64095 3015個使用中
プロトコル 内側アドレス 宛先 マスカレード TTL(秒)


このままでは端末が増えたときにテーブル使いきってしまうおそれがあるため、ポート範囲を広げようと思いました。
デフォルトが60000-64095っぽいので、nat descriptor masquerade port range コマンドで40000-60000までにしてみます。


nat descriptor masquerade port range 1 40000 20000
エラー: パラメータが範囲を越えています


なぬ?
どうやら調べてみると、RTX1000はポート範囲は 4096 しか使えないようです。
RTX1500や1100も同様でした。
RTX1200はポート範囲20000までいけるようです。(仕様のNATセッション数)

どうしたものか悩んでると、ともちゃ日記 - 元大学生の悪魔^H^H魔神OL日記-で対応策が載ってました。

どうやら、NATテーブルで保持してるセッション情報の保持期間を短くしてやるといいようです。
デフォルトは全プロトコルで15分間(900秒)IPマスカレードのセッション情報を保持しているようです。

この保持期間を変更するには、nat descriptor timerコマンドを使うようです。


NATディスクリプタ1の全プロトコルでセッション保持期間を10分に変更するには以下のようにします。

nat descriptor timer 1 600


TCPの80宛のセッション保持期間を120秒にするには以下のようにします。

nat descriptor timer 1 protocol=tcp port=80 120


セッション保持期間を短くすると確かに、使うポート範囲が小さくなり使用するNATテーブルの使用量を抑えれました。


これでもポート消費量が減らず、特定の端末が大量にセッションを消費している場合はnat descriptor masquerade session limitコマンドでホスト毎のセッションの最大数を指定してやるといいようです。(RTX1100以上。RTX1000は使えないみたい)

例えば以下のようにすると端末毎のセッション数を200に出来ます。

nat descriptor masquerade session limit 1 1 200



参考:
RTX1000設定-sshが切れる/NATテーブル溢れ
YAMAHA RTX1100 とセッション数制限 - かぼちゃ日記
by Jehoshaphat | 2012-02-06 00:47 | ネットワーク


<< SunRayで誰かが動画再生す... スプーラが異常終了してから起動しない >>