PPTP 是一種 Windows 內建支援的 VPN 連線,雖然在最近幾年認為其安全性不足,不過如要應該用在一些比較簡易的場景或為了支援舊系統,還是可以考慮。
本文說明如何在 Ubuntu 上面架設一個 PPTP Server,以讓 Windows 與之建立一個 VPN 連線。這樣就可以在需要的時候建立個安全的連線而不用擔心有被偷聽的風險。
本文以 Ubuntu 20.04 搭配 Win10 做為說明,以下步驟都需要以 root 身份來執行。
套件安裝
以 root 身份安裝 pptpd 套件
1 |
apt-get install pptpd |
設定 PPTPD Server
編輯 /etc/ppp/chap-secrets,加入以下內容,帳號 “hello” 密碼 123456
1 |
"hello" * "123456" * |
編輯 /etc/pptpd.conf ,設定要分配的 IP。將以下的內容,加到最後面
1 2 |
localip 192.168.34.1 remoteip 192.168.34.2-200 |
編輯 /etc/ppp/pptpd-options ,加入其它的設定
1 2 3 4 5 6 7 8 |
lock auth require-chap # 使用 CHAP 密碼驗証方式,相容性較好 # 下面的設定在一些舊的 Linux 上可能需要,僅做為參考。mschap-v2 是更安全的密碼驗証方式,有需要可自行試驗 (chap 需先關閉)。 # Ubuntu 20.04 搭配 Win10,不需開啟就可以支援加密 #+mppe #rquire-mppe #require-mschap-v2 |
接著執行
1 |
pptpd -d -f -l 192.168.2.200 |
最後面的 IP ,是用要接受連線的介面 IP。
Windows 設定
要從 Windows 建立PPTP連線到Linux,用以下步驟設定。
在桌面的網路上面按右鍵,進入內容。可以看到「網路和共用中心」,按下「設定新的連線或網路」。
選擇連線到工作地點
選擇使用我的網際網路連線
接著要填入要連線的 VPN Server IP,也就是剛剛在 Linux 設定地方,所要監聽的 IP 位址。以本文為例,填入 192.168.2.200。
按下建立後,就會產生設定檔,但還不會建立連線。
要建立連線的話,在工作列右下角點一下網路,就會跳出可用的網路,按一下剛建立的 VPN。
選擇剛建立的項目,按下連線
帳號密碼,則填入剛 Linux 下設定的 hello / 123456。
測試設定
完成連線後,進入控制台看網路狀態,就可以看到拿到指定的 192.168.34.x 的 IP,資料也以 MPPE 128 的方式來進行加密。
在用 ping 測試一下,確定結果。成功!
結語
透過 PPTP 可以建立一個簡易的加密連線,雖然安全性不是最好,但是方便度/相容性還是不錯的。用 OPENVPN 當然也是可以達到,但Windows端就是要另外再安裝軟體,方便性還是差點。