利用vpn+nat解决客户voip被封锁的问题
时间:2009-07-03 23:10:00
来源:UltraLAB图形工作站方案网站
人气:10509
作者:admin
最近有个私交不错的客户it人员问我一个问题。客户自己买了一台mosa的voip 语音网关用来跟其他分公司进行voip通话,节省长途+国际话费。据说安装后的前一个星期用得很愉快,一个星期后就不行了。看来无锡电信盯得很紧嘛:)。
架构很简单
pbx---------voip gateway-----------internet-------------- voip gateway----pbx
网上找了一下相关资料,如下
封杀原理
由于VOIP技术的大量普及,直接影响到传统电信的利益,再加上我国在VOIP政策上还没有全部放开,所以电信在技术上对VOIP进行了全面封杀。直接影响到VOIP虚拟运营商的运行安全可靠性。
电信是怎样封杀VOIP的呢?电信封杀的第一步是先把VOIP找出来,找的方法是首先把所有的网络数据包截获下来,第二步是把截获的所有数据包交给分析服务器。分析服务器通过对所有网络数据包进行协议分析。如果分析出有voip数据包,就给出对应数据包的IP地址,电信就有理由怀疑这个IP正在做VOIP运用,分析出来VOIP数据包后,电信就会采取一定的封杀措施,目前电信采用的封杀措施大约有以下四种:
第一种封IP,分析出VOIP包的目标IP,目标IP就是我们的VOIP服务器的IP地址,源IP一般是ADSL的动态IP,一般没什么用,电信就对这个目标服务器IP进行封杀,所有到这个IP的数据包,不管是VOIP数据包,还是非VOIP数据包,均被电信路由器丢掉,就是我们俗称的封IP。也就是通过这个路由器是不可能访问到那个服务器的。对付这种封杀只能换服务器IP。
第二种封端口,第一种方案的缺点就是把封VOIP数据包也封了,例如http、smtp、telnet等等应用都封了,容易引起投诉,根据TCP/IP应用的特点,每个应用只占用一个特定的端口,所以分析软件首先分析出VOIP应用使用的端口,然后,对丢弃所有这个端口的数据,达到封杀VOIP的目的,这种封杀对正在这个服务器上运行的其他服务不受影响。
第三种封协议,对于第一种和第二种封杀封杀方法。一般从voip查出来到采取封杀措施都要滞后几天时间,而且中间需要一个手工干预的过程,一旦虚拟运营商被封之后,虚拟运营商会采取马上换IP或者是端口的方法来对付封杀。所以电信采用了更实时的封杀方法,一旦分析出是VOIP数据包,马上就丢弃该数据包。这样VOIP通讯就无法建立,整个过程全部自动完成,不需要人工干预,而且采用换IP或者端口都不能对付这种封杀行为。
第四种干扰声音,这种方法是,电信查出VOIP数据之后,并不丢弃VOIP数据,而是在VOIP的数据包中插入一些非法干扰数据,这样数据包到达目的地之后还原出来的声音就有干扰的噪音。电信通过这种方式达到封杀voip的目的。
电信是怎样封杀VOIP的呢?电信封杀的第一步是先把VOIP找出来,找的方法是首先把所有的网络数据包截获下来,第二步是把截获的所有数据包交给分析服务器。分析服务器通过对所有网络数据包进行协议分析。如果分析出有voip数据包,就给出对应数据包的IP地址,电信就有理由怀疑这个IP正在做VOIP运用,分析出来VOIP数据包后,电信就会采取一定的封杀措施,目前电信采用的封杀措施大约有以下四种:
第一种封IP,分析出VOIP包的目标IP,目标IP就是我们的VOIP服务器的IP地址,源IP一般是ADSL的动态IP,一般没什么用,电信就对这个目标服务器IP进行封杀,所有到这个IP的数据包,不管是VOIP数据包,还是非VOIP数据包,均被电信路由器丢掉,就是我们俗称的封IP。也就是通过这个路由器是不可能访问到那个服务器的。对付这种封杀只能换服务器IP。
第二种封端口,第一种方案的缺点就是把封VOIP数据包也封了,例如http、smtp、telnet等等应用都封了,容易引起投诉,根据TCP/IP应用的特点,每个应用只占用一个特定的端口,所以分析软件首先分析出VOIP应用使用的端口,然后,对丢弃所有这个端口的数据,达到封杀VOIP的目的,这种封杀对正在这个服务器上运行的其他服务不受影响。
第三种封协议,对于第一种和第二种封杀封杀方法。一般从voip查出来到采取封杀措施都要滞后几天时间,而且中间需要一个手工干预的过程,一旦虚拟运营商被封之后,虚拟运营商会采取马上换IP或者是端口的方法来对付封杀。所以电信采用了更实时的封杀方法,一旦分析出是VOIP数据包,马上就丢弃该数据包。这样VOIP通讯就无法建立,整个过程全部自动完成,不需要人工干预,而且采用换IP或者端口都不能对付这种封杀行为。
第四种干扰声音,这种方法是,电信查出VOIP数据之后,并不丢弃VOIP数据,而是在VOIP的数据包中插入一些非法干扰数据,这样数据包到达目的地之后还原出来的声音就有干扰的噪音。电信通过这种方式达到封杀voip的目的。
实际情况是客户所有的 voipgateway都是通过配置公网ip,通过internet来进行通话
mosa采用的是sip,由于无锡电信估计用了上面的方案3,或者4,让rtp建不起来, 客户端现在电话能振铃,但听不到声音,电信真坏阿。
知道了故障原因,解决就很方便。无锡----ipsec vpn------客户台湾总部,policy routing让voip gateway从台湾出 internet并在台湾出口router给一个固定ip做一对一的nat(pat不行, rtp还是建不起来)使之可以顺利建立rtp。
大陆router config
crypto isakmp policy 1
hash md5
authentication pre-share
crypto isakmp key cisco address 210.x.x.x
!
!
crypto ipsec transform-set set1 esp-des esp-md5-hmac
!
crypto map vpn 1 ipsec-isakmp
set peer 210.x.x.x
set transform-set set1
match address aa
reverse-route
!
!
!
interface Tunnel0 #p#page_title#e#
ip address 10.199.199.2 255.255.255.252
tunnel source Loopback0
tunnel destination 10.0.0.1
!
interface Loopback0
ip address 10.90.0.1 255.255.255.255
!
interface FastEthernet0
!
interface FastEthernet1
!
interface FastEthernet2
!
interface FastEthernet3
!
interface FastEthernet4
description wan
ip address 218.y.y.y 255.255.255.240
duplex auto
speed auto
crypto map vpn
!
interface Vlan1
ip address 192.168.11.254 255.255.255.0
ip policy route-map ippbx
!
ip classless
ip route 0.0.0.0 0.0.0.0 218.y.y.y
!
no ip http server
no ip http secure-server
!
ip access-list extended aa
permit ip host 10.90.0.1 host 10.0.0.1
!
access-list 110 permit ip 192.168.11.0 0.0.0.255 any
route-map ippbx permit 10-----------------------------让mosa的数据都走到 vpn tunnel
match ip address 110
set ip next-hop 10.199.199.1
hash md5
authentication pre-share
crypto isakmp key cisco address 210.x.x.x
!
!
crypto ipsec transform-set set1 esp-des esp-md5-hmac
!
crypto map vpn 1 ipsec-isakmp
set peer 210.x.x.x
set transform-set set1
match address aa
reverse-route
!
!
!
interface Tunnel0 #p#page_title#e#
ip address 10.199.199.2 255.255.255.252
tunnel source Loopback0
tunnel destination 10.0.0.1
!
interface Loopback0
ip address 10.90.0.1 255.255.255.255
!
interface FastEthernet0
!
interface FastEthernet1
!
interface FastEthernet2
!
interface FastEthernet3
!
interface FastEthernet4
description wan
ip address 218.y.y.y 255.255.255.240
duplex auto
speed auto
crypto map vpn
!
interface Vlan1
ip address 192.168.11.254 255.255.255.0
ip policy route-map ippbx
!
ip classless
ip route 0.0.0.0 0.0.0.0 218.y.y.y
!
no ip http server
no ip http secure-server
!
ip access-list extended aa
permit ip host 10.90.0.1 host 10.0.0.1
!
access-list 110 permit ip 192.168.11.0 0.0.0.255 any
route-map ippbx permit 10-----------------------------让mosa的数据都走到 vpn tunnel
match ip address 110
set ip next-hop 10.199.199.1
为了让vpn一直都是active ,做个sla,
ip sla 2
icmp-echo 10.0.0.1 source-ip 10.90.0.1
timeout 2000
frequency 30
ip sla schedule 2 life forever start-time now
icmp-echo 10.0.0.1 source-ip 10.90.0.1
timeout 2000
frequency 30
ip sla schedule 2 life forever start-time now
总部相关config
crypto isakmp policy 10
hash md5
authentication pre-share
crypto isakmp key cisco address 0.0.0.0 0.0.0.0
!
!
crypto ipsec transform-set set2 esp-des esp-md5-hmac
hash md5
authentication pre-share
crypto isakmp key cisco address 0.0.0.0 0.0.0.0
!
!
crypto ipsec transform-set set2 esp-des esp-md5-hmac
crypto dynamic-map vpnmap 11
set transform-set set2
match address test
reverse-route
set transform-set set2
match address test
reverse-route
!
crypto map vpntrans 100 ipsec-isakmp dynamic vpnmap
!
!
!
interface Tunnel500
ip address 10.199.199.1 255.255.255.252
ip nat inside---------------------------------------------------------大陆数据从这里进行nat
ip virtual-reassembly
ip policy route-map ippbx-teco
tunnel source Loopback99
tunnel destination 10.90.0.1
crypto map vpntrans 100 ipsec-isakmp dynamic vpnmap
!
!
!
interface Tunnel500
ip address 10.199.199.1 255.255.255.252
ip nat inside---------------------------------------------------------大陆数据从这里进行nat
ip virtual-reassembly
ip policy route-map ippbx-teco
tunnel source Loopback99
tunnel destination 10.90.0.1
interface Loopback99
ip address 10.0.0.1 255.255.255.255
ip address 10.0.0.1 255.255.255.255
interface Ethernet1
ip address 210.a.a.a 255.255.255.224
ip nat outside
ip virtual-reassembly
ip policy route-map aa
duplex auto
crypto map vpntrans
ip route 0.0.0.0 0.0.0.0 210.a.a.a
ip route 192.168.11.0 255.255.255.0 Tunnel500
ip http server
no ip http secure-server
!
ip nat inside source static 192.168.11.1 210..b.b.b ----------------static maping
ip route 192.168.11.0 255.255.255.0 Tunnel500
ip http server
no ip http secure-server
!
ip nat inside source static 192.168.11.1 210..b.b.b ----------------static maping
access-list 110 permit ip 192.168.11.0 0.0.0.255 any
access-list 120 permit ip any 192.168.11.0 0.0.0.255
route-map aa permit 10--------------------让回来的数据走到tunnel
match ip address 120
set interface Tunnel500
!
route-map ippbx-teco permit 10------------让出来的数据走到台湾internet 上
match ip address 110
set ip next-hop 210.17.56.222
access-list 120 permit ip any 192.168.11.0 0.0.0.255
route-map aa permit 10--------------------让回来的数据走到tunnel
match ip address 120
set interface Tunnel500
!
route-map ippbx-teco permit 10------------让出来的数据走到台湾internet 上
match ip address 110
set ip next-hop 210.17.56.222
nat后客户的问题就解决了,我后来又给他加了2个policy,
这台上面的2个policy 大家会觉得有点多余:),但用来理解 sip rtp建立是很有帮助的。简单点就是让rtp 数据包从哪里来回哪里去。 #p#page_title#e#
本文出自 “lili_love” 博客,出处http://lovelili.blog.51cto.com/276457/94777
下一篇:没有了