利用vpn+nat解決客戶voip被封鎖的問(wèn)題
時(shí)間:2009-07-03 23:10:00
來(lái)源:UltraLAB圖形工作站方案網(wǎng)站
人氣:10339
作者:admin
最近有個(gè)私交不錯(cuò)的客戶it人員問(wèn)我一個(gè)問(wèn)題??蛻糇约嘿I了一臺(tái)mosa的voip 語(yǔ)音網(wǎng)關(guān)用來(lái)跟其他分公司進(jìn)行voip通話,節(jié)省長(zhǎng)途+國(guó)際話費(fèi)。據(jù)說(shuō)安裝后的前一個(gè)星期用得很愉快,一個(gè)星期后就不行了??磥?lái)無(wú)錫電信盯得很緊嘛:)。
架構(gòu)很簡(jiǎn)單
pbx---------voip gateway-----------internet-------------- voip gateway----pbx
網(wǎng)上找了一下相關(guān)資料,如下
封殺原理
由于VOIP技術(shù)的大量普及,直接影響到傳統(tǒng)電信的利益,再加上我國(guó)在VOIP政策上還沒(méi)有全部放開,所以電信在技術(shù)上對(duì)VOIP進(jìn)行了全面封殺。直接影響到VOIP虛擬運(yùn)營(yíng)商的運(yùn)行安全可靠性。
電信是怎樣封殺VOIP的呢?電信封殺的第一步是先把VOIP找出來(lái),找的方法是首先把所有的網(wǎng)絡(luò)數(shù)據(jù)包截獲下來(lái),第二步是把截獲的所有數(shù)據(jù)包交給分析服務(wù)器。分析服務(wù)器通過(guò)對(duì)所有網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行協(xié)議分析。如果分析出有voip數(shù)據(jù)包,就給出對(duì)應(yīng)數(shù)據(jù)包的IP地址,電信就有理由懷疑這個(gè)IP正在做VOIP運(yùn)用,分析出來(lái)VOIP數(shù)據(jù)包后,電信就會(huì)采取一定的封殺措施,目前電信采用的封殺措施大約有以下四種:
第一種封IP,分析出VOIP包的目標(biāo)IP,目標(biāo)IP就是我們的VOIP服務(wù)器的IP地址,源IP一般是ADSL的動(dòng)態(tài)IP,一般沒(méi)什么用,電信就對(duì)這個(gè)目標(biāo)服務(wù)器IP進(jìn)行封殺,所有到這個(gè)IP的數(shù)據(jù)包,不管是VOIP數(shù)據(jù)包,還是非VOIP數(shù)據(jù)包,均被電信路由器丟掉,就是我們俗稱的封IP。也就是通過(guò)這個(gè)路由器是不可能訪問(wèn)到那個(gè)服務(wù)器的。對(duì)付這種封殺只能換服務(wù)器IP。
第二種封端口,第一種方案的缺點(diǎn)就是把封VOIP數(shù)據(jù)包也封了,例如http、smtp、telnet等等應(yīng)用都封了,容易引起投訴,根據(jù)TCP/IP應(yīng)用的特點(diǎn),每個(gè)應(yīng)用只占用一個(gè)特定的端口,所以分析軟件首先分析出VOIP應(yīng)用使用的端口,然后,對(duì)丟棄所有這個(gè)端口的數(shù)據(jù),達(dá)到封殺VOIP的目的,這種封殺對(duì)正在這個(gè)服務(wù)器上運(yùn)行的其他服務(wù)不受影響。
第三種封協(xié)議,對(duì)于第一種和第二種封殺封殺方法。一般從voip查出來(lái)到采取封殺措施都要滯后幾天時(shí)間,而且中間需要一個(gè)手工干預(yù)的過(guò)程,一旦虛擬運(yùn)營(yíng)商被封之后,虛擬運(yùn)營(yíng)商會(huì)采取馬上換IP或者是端口的方法來(lái)對(duì)付封殺。所以電信采用了更實(shí)時(shí)的封殺方法,一旦分析出是VOIP數(shù)據(jù)包,馬上就丟棄該數(shù)據(jù)包。這樣VOIP通訊就無(wú)法建立,整個(gè)過(guò)程全部自動(dòng)完成,不需要人工干預(yù),而且采用換IP或者端口都不能對(duì)付這種封殺行為。
第四種干擾聲音,這種方法是,電信查出VOIP數(shù)據(jù)之后,并不丟棄VOIP數(shù)據(jù),而是在VOIP的數(shù)據(jù)包中插入一些非法干擾數(shù)據(jù),這樣數(shù)據(jù)包到達(dá)目的地之后還原出來(lái)的聲音就有干擾的噪音。電信通過(guò)這種方式達(dá)到封殺voip的目的。
電信是怎樣封殺VOIP的呢?電信封殺的第一步是先把VOIP找出來(lái),找的方法是首先把所有的網(wǎng)絡(luò)數(shù)據(jù)包截獲下來(lái),第二步是把截獲的所有數(shù)據(jù)包交給分析服務(wù)器。分析服務(wù)器通過(guò)對(duì)所有網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行協(xié)議分析。如果分析出有voip數(shù)據(jù)包,就給出對(duì)應(yīng)數(shù)據(jù)包的IP地址,電信就有理由懷疑這個(gè)IP正在做VOIP運(yùn)用,分析出來(lái)VOIP數(shù)據(jù)包后,電信就會(huì)采取一定的封殺措施,目前電信采用的封殺措施大約有以下四種:
第一種封IP,分析出VOIP包的目標(biāo)IP,目標(biāo)IP就是我們的VOIP服務(wù)器的IP地址,源IP一般是ADSL的動(dòng)態(tài)IP,一般沒(méi)什么用,電信就對(duì)這個(gè)目標(biāo)服務(wù)器IP進(jìn)行封殺,所有到這個(gè)IP的數(shù)據(jù)包,不管是VOIP數(shù)據(jù)包,還是非VOIP數(shù)據(jù)包,均被電信路由器丟掉,就是我們俗稱的封IP。也就是通過(guò)這個(gè)路由器是不可能訪問(wèn)到那個(gè)服務(wù)器的。對(duì)付這種封殺只能換服務(wù)器IP。
第二種封端口,第一種方案的缺點(diǎn)就是把封VOIP數(shù)據(jù)包也封了,例如http、smtp、telnet等等應(yīng)用都封了,容易引起投訴,根據(jù)TCP/IP應(yīng)用的特點(diǎn),每個(gè)應(yīng)用只占用一個(gè)特定的端口,所以分析軟件首先分析出VOIP應(yīng)用使用的端口,然后,對(duì)丟棄所有這個(gè)端口的數(shù)據(jù),達(dá)到封殺VOIP的目的,這種封殺對(duì)正在這個(gè)服務(wù)器上運(yùn)行的其他服務(wù)不受影響。
第三種封協(xié)議,對(duì)于第一種和第二種封殺封殺方法。一般從voip查出來(lái)到采取封殺措施都要滯后幾天時(shí)間,而且中間需要一個(gè)手工干預(yù)的過(guò)程,一旦虛擬運(yùn)營(yíng)商被封之后,虛擬運(yùn)營(yíng)商會(huì)采取馬上換IP或者是端口的方法來(lái)對(duì)付封殺。所以電信采用了更實(shí)時(shí)的封殺方法,一旦分析出是VOIP數(shù)據(jù)包,馬上就丟棄該數(shù)據(jù)包。這樣VOIP通訊就無(wú)法建立,整個(gè)過(guò)程全部自動(dòng)完成,不需要人工干預(yù),而且采用換IP或者端口都不能對(duì)付這種封殺行為。
第四種干擾聲音,這種方法是,電信查出VOIP數(shù)據(jù)之后,并不丟棄VOIP數(shù)據(jù),而是在VOIP的數(shù)據(jù)包中插入一些非法干擾數(shù)據(jù),這樣數(shù)據(jù)包到達(dá)目的地之后還原出來(lái)的聲音就有干擾的噪音。電信通過(guò)這種方式達(dá)到封殺voip的目的。
實(shí)際情況是客戶所有的 voipgateway都是通過(guò)配置公網(wǎng)ip,通過(guò)internet來(lái)進(jìn)行通話
mosa采用的是sip,由于無(wú)錫電信估計(jì)用了上面的方案3,或者4,讓rtp建不起來(lái), 客戶端現(xiàn)在電話能振鈴,但聽不到聲音,電信真壞阿。
知道了故障原因,解決就很方便。無(wú)錫----ipsec vpn------客戶臺(tái)灣總部,policy routing讓voip gateway從臺(tái)灣出 internet并在臺(tái)灣出口router給一個(gè)固定ip做一對(duì)一的nat(pat不行, rtp還是建不起來(lái))使之可以順利建立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的數(shù)據(jù)都走到 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的數(shù)據(jù)都走到 vpn tunnel
match ip address 110
set ip next-hop 10.199.199.1
為了讓vpn一直都是active ,做個(gè)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
總部相關(guān)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---------------------------------------------------------大陸數(shù)據(jù)從這里進(jìn)行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---------------------------------------------------------大陸數(shù)據(jù)從這里進(jìn)行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--------------------讓回來(lái)的數(shù)據(jù)走到tunnel
match ip address 120
set interface Tunnel500
!
route-map ippbx-teco permit 10------------讓出來(lái)的數(shù)據(jù)走到臺(tái)灣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--------------------讓回來(lái)的數(shù)據(jù)走到tunnel
match ip address 120
set interface Tunnel500
!
route-map ippbx-teco permit 10------------讓出來(lái)的數(shù)據(jù)走到臺(tái)灣internet 上
match ip address 110
set ip next-hop 210.17.56.222
nat后客戶的問(wèn)題就解決了,我后來(lái)又給他加了2個(gè)policy,
這臺(tái)上面的2個(gè)policy 大家會(huì)覺(jué)得有點(diǎn)多余:),但用來(lái)理解 sip rtp建立是很有幫助的。簡(jiǎn)單點(diǎn)就是讓rtp 數(shù)據(jù)包從哪里來(lái)回哪里去。 #p#page_title#e#
本文出自 “lili_love” 博客,出處http://lovelili.blog.51cto.com/276457/94777
下一篇:沒(méi)有了