我们有两个站点,一个大型的南方站点和一个小型的北方站点,它们之间有一个VPN,它们之间定义在两个Cisco PIX防火墙上。通过这个VPN,Shoretel IP电话流量以及所有其他网络流量都可以传输。我们最近把北方较小的办公室换成了Bt无限公司(Bt,光纤),所有的系统都工作得很好,也就是说,直到上周,它们都工作得很好。注意,那一天没什么变化。
来自曼彻斯特的VPN流量除了用于电话系统外,在各个方面都能工作。我们来自Shoretel的温和电话工程师告诉我们,这一切都是由于电话系统数据包在其业务上打开了DF (不碎片)位,所需的有效载荷为1472年,加上IPSec开销,1472年将无法适应线路。
如果我从我们的南方办事处到我们的北方办事处做了一个ping MTU测试,我会得到以下信息:
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不幸的是,这只会给出:
错误:无法识别的用法:不是密码ipsec {变换集安全关联}.键入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字节)和1458的BTs建议试图缓解这个问题。VPN的56字节开销意味着DF位设置为1472字节的数据包将始终由VPN丢弃。
有谁知道这个固件用于PIX的"pix(config)# crypto ipsec df-位清除-df“的等效命令吗?或者你还有其他想法吗?
北PIX的秘密ipsec sa节目如下:
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:南部PIX和北方PIX的MTU是:
mtu outside 1500
mtu inside 1500MTU自动被PIX设置为PPP的8个字节,我相信。
发布于 2012-06-12 00:00:55
对于超过出站接口MTU的流量,在添加IPSec开销后,有几个“修复”PIX/ASA侧。
将PIX/ASA上的MTU更改为较低的数目(1380是常见的),迫使发送站作出反应-并不总是以期望的方式作出反应。
更改MSS (仅适用于TCP,对UDP无效)
让PIX/ASA片段。
如果在内部IP报头中设置df-位,并且需要通过IPSec隧道进行分段,允许PIX/ASA清除df-位也是一种选择。
请注意,清除df位需要PIX/ASA操作系统7.0及更高版本。“尊敬的”PIX 6.3(5)不会削减它。
一个更重要的问题是为什么您的VoIP流量会绊倒MTU?我知道的所有VoIP编解码器(包括非常常见的G.711和G.729)每个“分组”编解码器的有效负载都小于160个字节。加上RTP、UDP和IP开销再加上56个字节的IPSec ESP,它还远未接近典型的以太网接口MTU。
您的VoIP管理员在需要1472字节L2有效负载的线路上推着什么?
参考:
IP语音-每个呼叫带宽消耗
科技资讯- VoIP码
https://serverfault.com/questions/396440
复制相似问题