2014年8月26日 星期二

[轉]PPTP VPN 伺服器架設

原文網址http://ethan.twbbs.org/2010/06/13/pptp-vpn/comment-page-1

虛擬私人網路,又稱為虛擬專用網路(英文︰Virtual Private Network,簡稱VPN),是一種常用於連接中、大型企業或團體與團體間的私人網路的通訊方法。虛擬私人網路的訊息透過公用的網路架構(例如:網際網路)來傳送內聯網的網路訊息。虛擬私人網路利用已加密的通道協議(Tunneling Protocol)來達到保密、傳送端認證、訊息準確性等私人訊息安全效果。若使用得法,這種技術可以用不安全的網路(例如:網際網路)來傳送可靠、安全的訊息。需要注意的是,加密訊息與否是可以控制的。沒有加密的虛擬私人網路訊息依然有被竊取的危險。(中文維基百科)
常用的虛擬私人網路協定有:
本文主要介紹的是 PPTP VPN
二、何謂 PPTP
點對點隧道協議PPTPPoint to Point Tunneling Protocol)是一種主要用於VPN的傳輸層網路協議。PPTP的協定規範本身並未描述加密或身份驗證的特性,然而常見的如Microsoft Windows帶有的實現都具備這些。PPTP以GRE(Generic Routing Encapsulation)協定向對方作一般的點對點傳輸。通過TCP1723埠來發起和管理GRE狀態。因為PPTP需要2個網路狀態,因此會對穿越防火牆造成困難。很多防火牆不能完整地傳遞連線,導致無法連接。這經常發生在Windows或Mac OSPPTP可配合MSCHAP-v2或EAP-TLS進行身份驗證 。使用VPN可配合微軟點對點加密〈MPPE〉進行連接時的加密(中文維基百科)
三、實作 PPTP VPN 伺服器
伺服器安裝環境:
OS: Ubuntu 10.04 LTS
在Ubuntu下安裝 pptpd 實在非常簡單,而且會自動依照程式相依性安裝必要的軟體。
sudo apt-get install pptpd
這樣,系統就已經安裝完畢!接下來,要進行設定檔的修改(總共有三個檔案)。
1. /etc/pptpd.conf
請在最後加上:
localip 172.28.104.1
remoteip 172.28.104.101-150
特別說明:這裡的IP應該和學校內部的IP為同網段,也就是給予 VPN client 內部的IP位址。
2. /etc/ppp/pptpd-options
這裡主要修改 ms-dns 設定,以學校為例,內部網路(NAT)應該都會有內部DNS,此處應設定為指向內部DNS
其中,name 維持預設的 pptpd 即可,稍後的設定檔中會用到(保持一致)
3. /etc/ppp/chap-secrets
這是與 windows client 進行 MS-Chap 驗證時的設定檔,用來設定連線帳號密碼及IP
其中,伺服器名稱(預設為pptpd)要跟剛才(pptpd-options)的相同,最後的*代表不限制連線的IP
修改完以上三個設定檔,便可以下指令重新啟動pptpd
/etc/init.d/pptpd restart
0614 重要補充:
pptp要能順利運作,伺服器一定要開啟 ipforward (IP轉送)的功能,請下指令
echo 1 > /proc/sys/net/ipv4/ip_forward
並且修改 /etc/sysctl.conf 中的設定
net.ipv4.ip_forward = 1 #啟用 IP 轉送
這樣應該就完成了,接下來就可以正式測試VPN的連線。
備註:防火牆設定
PPTP的運作需要使用 TCP Port 1723 及 IP Protocol GRE(47)
參考資料:

沒有留言:

張貼留言