pekeqの日記

過去に書いたブログエントリから反響のあったものを抜粋しています

RTXシリーズのNATテーブル溢れ対策

RTXシリーズで、接続は切れていないのに通信できないというトラブルは、NATテーブルが溢れている可能性が高いです。

1) show nat descriptor addressコマンドでNATテーブルの利用状況を確認する

show nat descriptor addressコマンドで、「xx個使用中」となっている部分が、利用機種の制限値ギリギリになっていないかを確認する。制限値ギリギリで推移している場合は、NATテーブルあふれの可能性が高い。

機種別のNATテーブル制限値はこちら: http://www.rtpro.yamaha.co.jp/RT/manual/rt-common/nat/nat_descriptor_masquerade_port_range.html

56.15 動的 NAT ディスクリプタのアドレスマップの表示

> show nat descriptor address
参照NATディスクリプタ : 1000, 適用インタフェース : PP[01](1)
Masqueradeテーブル
    外側アドレス: ipcp/180.xx.xx.xx
    ポート範囲: 60000-64095, 49152-59999, 44096-49151   68個使用中

2) 特定ポートのNATタイムアウトを短くする

NATタイムアウトを短くしても無難そうな、http, httpsだけ、NATタイムアウトを短くする。
参考: http://jehupc.exblog.jp/17328735/

24.9 NAT の IP アドレスマップの消去タイマの設定

nat descriptor timer 1000 protocol=tcp port=80 120
nat descriptor timer 1000 protocol=tcp port=443 120

3) 全体のNATタイムアウトを短くする

デフォルトは900秒(=15分)なので、ちょっと短くする。
24.9 NAT の IP アドレスマップの消去タイマの設定

nat descriptor timer 1000 600

4) ホスト毎のNATセッション数を制限する

特にSkype等で、1台のPCから多数のコネクションを張っている場合に有効。
24.18 IP マスカレードで変換するホスト毎のセッション数の設定

nat descriptor masquerade session limit 1000 512