在 Linux 安裝 VPN Server 教學 (pptpd on CentOS)


VPN 簡介

VPN (Virtual Private Network) 虛擬私人網路,簡單的說就是透過 Internet 建立一條 Point-to-point Protocol 連線,利用這個 PPP 與不在同一個網段的網路建立連線。再講白一點就是透過 Internet 加入私有網路,在企業典型的 Intranet 架構中,也常遇到跨地區私有網路共享的問題,因此也常用這個方法解決網路資料傳輸與安全問題(因為 VPN 可以加密)。由於 VPN 直接透過 Internet 建立連線,可省下遷專線的龐大費用,算是很超值的作法,而且標準的 PPTP 比那種需要安裝軟體的 VPN 好用太多了。

CentOS 安裝 VPN Server (pptpd)

網路上有很多教學,但是都缺東缺西,今天介紹的設定方式經過實驗後可以在 Windows XP, Mac OS, Windows 7 順利連線,當然加密也是沒問題的。

今天教學用 CentOS 6.3 安裝 pptpd 套件,很可惜 CentOS 內建的官方套件沒有包進來,所以我們只好自行下載 RPM File,網址與載點如下:

網址:http://rpm.pbone.net/index.php3/stat/4/idpl/12353571/dir/centos_other/com/pptpd-1.3.3-1.i386.rpm.html

載點:ftp://ftp.pbone.net/mirror/rpms.arrfab.net/centos/5/i386/pptpd-1.3.3-1.i386.rpm

下載與安裝 pptpd

安裝好以後要修改以下設定檔,編輯 /etc/ppp/options

加入以下設定

再來編輯 /etc/ppp/options

加入以下參數,大部分都看不懂,所以也沒辦法說明囉.......-_-

最後編輯 /etc/ppp/options.pptpd

加入以下設定

建立帳號密碼,修改 /etc/ppp/chap-secrets

這個檔案與 pppoe 是共用的,用明文建立感覺很不安全!一行一行加入你要使用的帳號密碼,這些帳號在系統中可以不存在沒關係。

開啟 Forward,主要是為了能夠進行 NAT,如果你不需要 NAT 也可以不要開,在大陸或國外會蠻好用的。

如上,修改「net.ipv4.ip_forward = 1」讓開機後自動啟用 Forward。

最後啟動 pptp 並且設定 pptpd 開機自動啟用

順利啟動後就可以測試連線了,連線的過程中可以觀看 /var/log/message 與 /var/log/pptpd.log (剛有設定到) 來進行除錯,當有 VPN Client 連上後使用 ifconfig 可以看到建立的 PPP 連線。

如果只是下達 service pptpd stop 並不會將 PPP 斷線,若是要關閉 VPN Server 同時斷線那麼請輸入以下命令:

VPN 防火牆與 NAT 設定

由於我習慣防火牆都是使用白名單策略,因此需要加入以下 Rules:

Windows XP 建立 VPN 連線的方法

Windows 雖然很簡單,還是介紹一下,請照著以下方式設定即可:

開啟「控制台」中的「網路連線」並點擊「新增連線精靈」,如下:

winxp-pptp-1

按下「下一步」

winxp-pptp-2

選擇「連線到我工作的地方的網路」(有點饒舌)點選「下一步」

winxp-pptp-3

選擇「虛擬私人網路連線」點選「下一步」

winxp-pptp-4

輸入一個名稱,點選「下一步」

winxp-pptp-5

選擇要連線的 Internet,點選「下一步」

winxp-pptp-6

輸入伺服器位置 (不一定要 IP 也可以用 Hostname),點選「下一步」

winxp-pptp-7

選擇是否建立捷徑,點選「完成」

winxp-pptp-2

啟動後輸入帳號密碼直接「連線」即可

winxp-pptp-9

連不上或連上後有問題記得查閱 log

結論

以前我的 VPN Server 都是透過 Router 實作,買台便宜的 ASUS 520GU 刷 Dual Tomato 就可以擁有很多好用的功能。前陣子有礙 Router CPU 與 記憶體不夠用,這台功能強大的 NAT 已經被換掉,從此過著沒有 VPN 可以用的生活,最近真的需要用到了,只好自己安裝與架設。

有別於低階硬體 + RouteOS 架設出來的 VPN,用 PC 速度更快連線數也多,更不怕加密拖累了 Router,目前試用的感覺還不錯,有需要的朋友們可以試看看。

參考資料

Facebook 留言

廣告

樂樂童鞋