你瞭解VPN的PPTP、L2TP、OpenVPN協議嗎?

 

一、PPTP、L2TP、OpenVPN三種隧道協議的概念

1、PPTP(Point toPoint Tunneling Protocol,點對點隧道協議)默認端口號:1723

PPTP,即PPTF協議。該協議是在PPP協議的基礎上開發的一種新的增強型安全協議,支持多協議虛擬專用網(VPN),可以通過密碼身份驗證協

議(PAP)、可擴展身份驗證協議(EAP)等方法增強安全性。可以使遠程用戶通過撥入ISP、通過直接連接Internet或其他網絡安全地訪問企業

網。

點對點隧道協議(PPTP)是一種支持多協議虛擬專用網絡的網絡技術,它工作在第二層。

通過該協議,遠程用戶能夠通過 Microsoft Windows NT工作站、Windows xp 、Windows 2000

和windows2003、windows7操作系統以及其它裝有點對點協議的系統安全訪問公司網絡,並能撥號連入本地ISP,通過Internet

安全鏈接到公司網絡。

PPTP協議是點對點隧道協議,其將控制包與數據包分開,控制包採用TCP控制。PPTP使用TCP協議,適合在沒有防火牆限制的網絡中使用。

百度百科:http://baike.baidu.com/link?url=hHnpi2pyUWox7o6tbuGhyEi-jUPBmtpxlWRvVvE_LZfTAFmQOY2KPXqUzfAPHcql

2、L2TP(Layer 2Tunneling Protocol,第二層隧道協議)

L2TP是一種工業標準的Internet隧道協議,功能大致和PPTP協議類似,比如同樣可以對網絡數據流進行加密。不過也有不同之處,比如PPTP要求網絡爲IP網絡,L2TP要求面向數據包的點對點連接;PPTP使用單一隧道,L2TP使用多隧道;L2TP提供包頭壓縮、隧道驗證,而PPTP不支持。

L2TP是一個數據鏈路層協議,基於UDP。其報文分爲數據消息和控

制消息兩類。數據消息用投遞 PPP

幀,該幀作爲L2TP報文的數據區。L2TP不保證數據消息的可靠投遞,若數據報文丟失,不予重傳,不支持對數據消息的流量控制和擁塞控制。控制消息用以

建立、維護和終止控制連接及會話,L2TP確保其可靠投遞,並支持對控制消息的流量控制和擁塞控制。

L2TP是國際標準隧道協議,它結合了PPTP協議以及第二層轉發L2F協議的優點,能以隧道方式使PPP包通過各種網絡協議,包括ATM、SONET和幀中繼。但是L2TP沒有任何加密措施,更多是和IPSec協議結合使用,提供隧道驗證。

L2TP使用UDP協議,一般可以穿透防火牆,適合在有防火牆限制、局域網用戶,如公司、網吧、學校等場合使用。

PPTP和L2TP二個連接類型在性能上差別不大,如果使用PPTP不正常,那就更換爲L2TP。

百度百科:http://baike.baidu.com/link?url=t6G3hu_r6-pfi-GN8cCXg5Vx3F_Rk4fEdvXS80l2zstTub7gXMNQzOIPTKfjd_FU

3、OpenVPN

OpenVpn的技術核心是虛擬網卡,其次是SSL協議實現。

虛擬網卡是使用網絡底層編程技術實現的一個驅動軟件,安裝後在主機上多出現一個網卡,可以像其它網卡一樣進行配置。服務程序可以在應用層打開虛擬網

卡,如果應用軟件(如IE)向虛擬網卡發送數據,則服務程序可以讀取到該數據,如果服務程序寫合適的數據到虛擬網卡,應用軟件也可以接收得到。虛擬網卡在

很多的操作系統下都有相應的實現,這也是OpenVpn能夠跨平臺一個很重要的理由。

OpenVPN使用OpenSSL庫加密數據與控制信息:它使用了OpenSSL的加密以及驗證功能,意味着,它能夠使用任何OpenSSL支持的算法。它提供了可選的數據包HMAC功能以提高連接的安全性。此外,OpenSSL的硬件加速也能提高它的性能。

OpenVPN所有的通信都基於一個單一的IP端口,默認且推薦使用UDP協議通訊,同時TCP也被支持。

在選擇協議時候,需要注意2個加密隧道之間的網絡狀況,如有高延遲或者丟包較多的情況下,請選擇TCP協議作爲底層協議,UDP協議由於存在無連接和重傳機制,導致要隧道上層的協議進行重傳,效率非常低下。

OpenVPN是一個基於SSL加密的純應用層VPN協議,是SSL VPN的一種,支持UDP與TCP兩種方式(說明:UDP和TCP是2種通訊協議,這裏通常UDP的效率會比較高,速度也相對較快。所以儘量使用UDP連接方式,實在UDP沒法使用的時候,再使用TCP連接方式)。

由於其運行在純應用層,避免了PPTP和L2TP在某些NAT設備後面不被支持的情況,並且可以繞過一些網絡的封鎖(通俗點講,基本上能上網的地方就能用OpenVPN)。

OpenVPN客戶端軟件可以很方便地配合路由表,實現不同線路(如國內和國外)的路由選擇,實現一部分IP走VPN,另一部分IP走原網絡。

百度百科:http://baike.baidu.com/link?url=00I2C_Gm7Xvcma3QJYHCrJJ0-xcdcNbcSAMNyuxozggQ0LVxeOkZklkiMqbL_j37D0ucvHfsWmlaZbQUlhxO3q

 

二、PPTP、L2TP、OpenVPN三種隧道協議的優缺點對比

易用性:    PPTP > L2TP >OpenVPN

速度:      PPTP > OpenVPN UDP> L2TP > OpenVPN TCP

安全性:    OpenVPN > L2TP >PPTP

穩定性:    OpenVPN > L2TP >PPTP

網絡適用性:OpenVPN > PPTP > L2TP

 

三、VPN協議的選擇

電腦上優先使用PPTP,無法使用可以嘗試L2TP,對安全性要求高的優先使用OpenVPN。手持設備推薦使用L2TP。

PPTP:      最常用,設置最簡單,大多數設備都支持;

L2TP:      支持PPTP的設備基本都支持此種方式,設置略複雜,需要選擇L2TP/IPSec PSK方式,且設置預共享密鑰PSK;

OpenVPN:最穩定,適用於各種網絡環境,但需要安裝第三方軟件和配置文件,較複雜。

 

這些協議飛翔vpn都有,現在立即註冊賬戶,飛翔vpn送180天免費使用權。也就是飛翔vpn/加速器是一款免費vpn,可免費使用180天,飛翔vpn官網:www.197top.com

 

四、CentOS PPTP 安裝與部署

1、準備環境

yum install perl ppp iptables

2、安裝PPTPD

對於32位CentOS,執行:

wgethttp://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.i386.rpmrpm -ivhpptpd-1.3.4-1.rhel5.1.i386.rpm

對於64位CentOS,執行:

wgethttp://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.x86_64.rpmrpm -ivhpptpd-1.3.4-1.rhel5.1.x86_64.rpm

3、修改配置

(1)修改主配置文件/etc/pptpd.conf.只需要加入下面兩行:

ocalip 192.168.254.1remoteip192.168.254.100-254

Localip這行是給vpn服務器設置一個隧道ip,Remoteip是自動分配給客戶端的ip地址範圍。

(2)修改選項文件/etc/ppp/options.pptpd.需要設定分配給客戶端的dns,因此僅需把ms-dns前的註釋去掉,改成可用的dns如下:

ms-dns 61.135.154.5  ms-dns 159.226.240.66

爲了方便查看調試信息,把debug行前面的註釋取消即可。Dump前的註釋也取消。

ms-dns 8.8.8.8ms-dns 8.8.4.4

(3)CentOS安裝pptpd添加帳號。通過編輯文件/etc/ppp/chap-secrets逐行加入;一個賬號佔一行。

一行分4列,其表示如下:用戶名  服務器名  密碼  ip

testuser pptpd testpwd *

testuser、testpwd對應修改爲自己希望的VPN登錄用戶名和密碼,* 表示有pptpd隨機分配ip。

 

(4)開啓ip轉發功能,將/etc/sysctl.conf 文件中net.ipv4.ip_forward設置爲 1 (如果沒有,則按照格式新建一行):

net.ipv4.ip_forward = 1

保存退出,執行:

/sbin/sysctl -p

4、設置iptables轉發

/etc/init.d/iptables start/sbin/iptables -tnat -A POSTROUTING -o eth0 -s 192.168.254.0/24 -jMASQUERADE/etc/init.d/iptables save/etc/init.d/iptables restart

注意,上面的192.168.254.0 應該與之前設置的網段對應。

5、設置開機啓動

chkconfig pptpd on

chkconfig iptables on

重啓計算機即可進行連接,並且能夠正常上網。

如果重啓服務器後,無法連接VPN,首先檢查服務器的PPTP服務1723端口是否已打開(注意設置防火牆允許此端口);如果可以連接VPN,但是無法正常上網,則檢查iptables是否正常轉發。

 

五、使用VPNFQ上網過程中的各種常見問題解決方法

1、連上VPN後無法訪問網站?

很多人連上了VPN,QQ提示在美國登陸。卻任然無法訪問一些國外的網站,或者打不開,或者打開很慢。其實都是因爲默認DNS的問題。連接VPN後IP已經更換爲國外IP如果你之前設置的是國內dns,就會出現這些問題。

只需要進入網上鄰居->查看網絡連接->右鍵本地連接(如果是無線上網,請選擇無線連接)點擊屬性->找到TCP/IP協議點擊屬性,

修改DNS爲首選8.8.8.8備選8.8.4.4。停用本地連接再啓用。或者進入命令提示行狀態下輸入“ipconfig

/flushdns”再次連接VPN,就會發現一切都正常了。

 

 

8.8.8.8和8.8.4.4均爲google的免費dns解析服務器,也可以使用OpenDNS爲:

208.67.222.222

208.67.220.220

2、連不上VPN,提示800錯誤?

如果連不上vpn服務器,並且提示800錯誤。

首先,VPN必須要在聯網狀態下才能使用。

其次,請檢查您的線路地址(vpn服務器地址)有沒有填錯,該欄是IP字段,諸如這樣的格式:222.22.2.2(IP格式是用三個.分隔的數字,每格數字位數爲1~3位),這段是不需要填入服務器地址一欄的。

如果都確認沒有問題,但是還是連不上VPN服務器,那推薦您嘗試vpn提供商所提供的客戶端連接。

3、登錄vpn服務器619錯誤?

如果您使用路由器上網,首先請嘗試將您的路由器的DMZ設置成您的主機地址,看是否能夠正常連接。

然後請您嘗試將VPN鏈接的屬性設置/安全/VPN類型改爲PPTP就連接,然後再嘗試一下。

如果還是不行,那麼這種情況大數多原因爲客戶機連接Internet的網關(如家庭寬帶路由或公司上網網關路由或防火牆)NAT-T功能關閉或對VPN支持性不好,主要是對GRE及PPTP協議的NAT-T不支持。

可打開網關路由的NAT-T功能,如果還是出現錯誤,則需要更換網關設備,現在市面上大多數設備已經支持或者建議您換個網絡環境試試看,如果其他網絡環境可以,則基本可以斷定是您的路由器或者防火牆不支持或者禁止了VPN PPTP協議,可以嘗試打開這個選項。

果你使用PPTP模式連接的話,需要開啓TCP47和TCP1723這兩個端口,也就是說路由器不能封這兩個端口,使用L2TP模式時需要開啓的是UDP

 500、UDP 1701、UDP

4500這幾個端口,同理路由器防火牆或者您安裝的防火牆軟件也不能屏蔽這些端口。如果路由器支持DMZ,請將路由器的DMZ設置成您的主機內網IP。

4、登錄vpn服務器691錯誤?

a. 這種情況大數多原因爲客戶機連接VPN服務器異常中斷,因爲某些vpn提供商的免費用戶限制一個帳戶同時只有一個客戶端連接使用,所以一旦異常斷開,則需等待一段時間才能重新連接。

b. vpn服務大多是有流量限制的,如果您的流量用完了也會提示此錯誤。

c. 如果您的用戶名含有特殊字符,如引號冒號等等,即使註冊了帳戶,但是由於VPN服務器不能識別這些特殊字符,VPN將拒絕認證,請您重新註冊一個帳戶。

5、登錄vpn服務器768錯誤?

使用windows xp很容易出現768錯誤,可以嘗試以下方法解決。

點擊電腦左下角”開始” -> “運行”,輸入命令“services.msc”,然後在服務中找到並啓用“IPSEC services”即可,如爲了方便以後經常使用L2TP IPsec VPN,則可以把該項服務設置爲“自動”。

6、登錄vpn服務器792錯誤?

使用L2TP模式時候出現VPN 792錯誤,由於缺省的Windows XP L2TP 傳輸策略不允許L2TP 傳輸不使用IPSec 加密。VISTA和WIN7以上系統沒有這個問題。

WIN XP用戶需要修改註冊表解決這個問題,手動修改:

a. 進入Windows XP 的“開始” “運行”裏面輸入“Regedt32”,打開“註冊表編輯

器”,定位“HKEY_Local_Machine \ System \ CurrentControl Set \ Services \ RasMan\ Parameters ”主鍵。

b. 爲該主鍵添加以下鍵值:

鍵值:ProhibitIpSec

數據類型:reg_dword

值:1

7、其他偶爾出現的錯誤提示(錯誤:691、721、756、651、711)怎麼解決呢?

錯誤691:

a. 更換線路嘗試。

b. 查看賬戶密碼是否正確。

c. 登陸網站後臺看下賬戶信息是否過期,或者看下在線還是離線狀態。

錯誤721:有防火牆限制、局域網用戶,如果公司、網吧、學校等場合可能被限制。使用之前可以測試下。

錯誤756:關閉連接器重新打開即可再次嘗試連接即可。

錯誤651:請重啓計算機

錯誤711:解決方法:啓動Remote Access Connection Manager與Network Connections與Telephony服務。

啓動方法一:開始->運行->在裏面輸入:services.msc ->(雙擊)Remote Access Connection Manager與Network Connections與Telephony->啓動這三項服務

啓動方法二:新建一個文本文件(後綴爲.txt)的文件,將下面的內容

複製進去:

@echo開啓VPN執行環境必要系統服務

@pause

sc config TapiSrv start= AUTO

sc config Netman start= AUTO

sc config RasMan start= AUTO

Net start TapiSrv

Net start RasMan

Net start Netman

@pause

點擊菜單->文件->另存爲;文件類型選“所有文件”;文件名“服務.bat”;保存好後雙擊打開“服務.bat”,即可完成系統服務設置

8、連接不上免費VPN怎麼辦?

連接不上VPN一般有多種原因,有可能是您的網絡不支持直接連接到VPN服務器,可以通過在命令行執行 ping vpn的ip

來測試。如果ping命令正常,那麼請使用telnet  vpn的ip

1723這個命令,如果無法連接,則說明您的防火牆或者路由器不支持PPTP的VPN,由於PPTP使用的TCP協議,適合沒有防火牆限制的網絡。而

L2TP使用的是UDP協議,一般可以穿透防火牆,適合有防火牆限制、局域網用戶,如公司、網吧、學校等場合。

9、能夠連上VPN服務器,但是馬上就斷開或者什麼網頁也打不開了怎麼辦?

出現這種情況一般是用戶使用路由器纔有的。

a. 首先很有可能是您的路由器開啓了QOS功能或SPI防火牆之類的會干擾VPN數據流的功能,請關閉它們以後再試試。

b. 如果所有網頁都打不開,首先先確認路由器分配的dns是否已經修改(使用windows的用戶需要清除dns緩存執行命令ipconfig /flushdns),然後查看路由器的MTU是否是默認值1492,如果不是請修改爲1492。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章