web-dev-qa-db-ja.com

PIX 506E、MTU、VPNパケットフラグメンテーションおよびShoretelIP電話システム

大きなSouthernサイトと小さなNorthernサイトの2つのサイトがあり、それらの間にVPNが2つのCiscoPIXファイアウォールで定義されています。このVPNを介して、ShoretelIP電話のトラフィックは他のすべてのネットワークトラフィックと同様に移動します。最近、小さな北部のオフィスをBt Infinity(ファイバー)に切り替えました。すべてのシステムが完全に機能しました。つまり、先週まで完全に機能していました。その日は何も変わらないことに注意してください。

マンチェスターからVPNを経由するトラフィックは、電話システムを除いて、あらゆる面で機能します。 Shoretelの飼いならされた電話エンジニアは、これはすべて、トラフィックでDF(フラグメント化しない)ビットがオンになっていて、必要なペイロードが1472である電話システムパケットが原因であると言っています。 IPSecオーバーヘッド、1472はラインMTUに適合しません。

南部のオフィスから北部のオフィスにpingMTUテストを実行すると、次のようになります。

C:\>ping <NorthernOfficeServerIP> -f -l 1472

Pinging <NorthernOfficeServerIP> with 1472 bytes of data:
Reply from <OutsideInterfaceOfSourthernPixIP>: Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.

PIXでのVPN設定は次のとおりです。

sysopt connection permit-ipsec
crypto ipsec transform-set chevelle esp-des esp-md5-hmac
crypto map transam 1 ipsec-isakmp
crypto map transam 1 match address 101
crypto map transam 1 set peer <Peer IP> 
crypto map transam 1 set transform-set chevelle
crypto map transam interface outside
isakmp enable outside
isakmp key ******** address <Peer IP> netmask 255.255.255.0
isakmp keepalive 10
isakmp nat-traversal 20
isakmp policy 1 authentication pre-share
isakmp policy 1 encryption des
isakmp policy 1 hash md5
isakmp policy 1 group 1
isakmp policy 1 lifetime 86400

PIXで最初に試したのは、次のようにパケットのDFフラグ)をクリアすることでした。

pix(config)# crypto ipsec df-bit clear-df outside

残念ながら、これは次のようになります。

エラー:認識されない使用法:[no] crypto ipsec {transform-set | security-association} ... helpまたは '?'と入力します使用可能なコマンドのリストについては。

しかし、私たちのPIXファームウェアは非常に由緒あるものであり、ショーバージョンは私に次のことを提供します。

Cisco PIX Firewall Version 6.3(5)
Cisco PIX Device Manager Version 3.0(4)

Compiled on Thu 04-Aug-05 21:40 by morlee

chathampix up 14 hours 54 mins

Hardware:   PIX-506E, 32 MB RAM, CPU Pentium II 300 MHz
Flash E28F640J3 @ 0x300, 8MB
BIOS Flash AM29F400B @ 0xfffd8000, 32KB

PIXのMTUサイズを変更してみましたが、問題を軽減するために、外部インターフェイスを1500、1492(PPPの場合は8バイト)、BTの推奨値を1458にしました。 VPNの56バイトのオーバーヘッドは、DFビットが1472バイトに設定されているパケットが常にVPNによってドロップされることを意味します。

このファームウェアを使用するPIXの「pix(config)#crypto ipsec df-bit clear-dfoutside」と同等のコマンドを知っている人はいますか?それとも他に何かアイデアはありますか?

更新:

北部PIXのshowcrypto ipsecsaは次のとおりです。

interface: outside
    Crypto map tag: transam, local addr. <NorthernOutsideInterfaceIP>

   local  ident (addr/mask/prot/port): (192.168.16.0/255.255.255.0/0/0)
   remote ident (addr/mask/prot/port): (192.168.0.0/255.255.255.0/0/0)
   current_peer: <SouthernOutsideInterfaceIP>:500
     PERMIT, flags={Origin_is_acl,}
    #pkts encaps: 107592, #pkts encrypt: 107592, #pkts digest 107592
    #pkts decaps: 114302, #pkts decrypt: 114302, #pkts verify 114302
    #pkts compressed: 0, #pkts decompressed: 0
    #pkts not compressed: 0, #pkts compr. failed: 0, #pkts decompress failed: 0
    #send errors 8, #recv errors 0

     local crypto endpt.: <NorthernOutsideInterfaceIP>, remote crypto endpt.: <SouthernOutsideInterfaceIP>
     path mtu 1492, ipsec overhead 56, media mtu 1492
     current outbound spi: 4ada0b77

     inbound esp sas:
      spi: 0xe7c2815(243017749)
        transform: esp-des esp-md5-hmac ,
        in use settings ={Tunnel, }
        slot: 0, conn id: 1, crypto map: transam
        sa timing: remaining key lifetime (k/sec): (4516828/21982)
        IV size: 8 bytes
        replay detection support: Y


     inbound ah sas:


     inbound pcp sas:


     outbound esp sas:
      spi: 0x4ada0b77(1255803767)
        transform: esp-des esp-md5-hmac ,
        in use settings ={Tunnel, }
        slot: 0, conn id: 2, crypto map: transam
        sa timing: remaining key lifetime (k/sec): (4598687/21980)
        IV size: 8 bytes
        replay detection support: Y


     outbound ah sas:


     outbound pcp sas:

また、SouthernPIXとNorthernPIXのMTUは次のとおりです。

mtu outside 1500
mtu inside 1500

MTUは、私が信じているPIXによってPPPの8バイト未満に自動的に設定されます。

3
MagicalArmchair

IPSecオーバーヘッドが追加された後にアウトバウンドインターフェイスMTUを超えるトラフィックの場合、PIX/ASA側にいくつかの「修正」があります。

PIX/ASAのMTUを小さい数値(1380が一般的)に変更して、送信ステーションに反応を強制します。必ずしも望ましい方法であるとは限りません。

MSSを変更します(TCPのみ、UDPには役立ちません)

PIX/ASAフラグメントを使用します。

内部IPヘッダーにdf-bitが設定されていて、IPSecトンネルを通過するためにフラグメンテーションが必要な場合は、PIX/ASAがdf-bitをクリアできるようにすることもオプションです。

df-bitをクリアするには、PIX/ASA OS 7.0以降が必要であることに注意してください。 「由緒ある」PIX6.3(5)はそれをカットしません。

さらに重要な質問は、VoIPトラフィックがMTUをまったくトリップさせている理由です。私が知っているすべてのVoIPコーデック(非常に一般的なG.711およびG.729を含む)は、「パケット」ごとに160バイト未満のコーデックペイロードを生成します。 RTP、UDP、およびIPオーバーヘッドを追加します。合計で約40バイト、L2ペイロードサイズが200バイト以下になります。 IPSec ESP用にさらに56バイトを追加しますが、それでも通常のイーサネットインターフェイスMTUにはほど遠いです。

1472バイトのL2ペイロードを必要とするネットワークを介してプッシュしているVoIP管理者は何ですか?

参照:

Voice Over IP-コールごとの帯域幅消費

技術情報-VoIPコーデック

2
Weaver