在這個網路時代,很多人都為了安全上網而開始在網路上尋找VPN伺服器,但這種東西自己架總比較安全一些,這篇文章就是紀錄下如何在Ubuntu下使用pptpd來架設VPN伺服器。
注意:因為PPTP安全性不高,所以在蘋果的設備底下都找不到PPTP了,在商業層面也不建議使用他。
首先,老樣子,來更新一下系統吧!
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
再來要安裝pptpd套件
sudo apt-get install pptpd
編輯 pptpd.conf
vim /etc/pptpd.conf
在文件最下面,將localip及remoteip的 # 號拿掉
localip後方的IP位置是要輸入pptpd的IP區段
以下為我的範例設定
localip 192.168.70.1
remoteip 192.168.70.10-20
編輯pptpd-options這文件
vim /etc/ppp/pptpd-options
一進文件的上頭,有一個name,做為這個伺服器的名稱,你可以選擇不動,保持原樣就好,這個名稱將會跟我們後面要設定的文件 chap-secrets 有關
name pptpd
在文件中間尋找ms-dns並將兩行的#號都拿掉 並且在後面填入你喜歡的DNS伺服器,以下也提供幾個做為參考 中華電信 HiNet DNS = 168.95.1.1、168.95.192.1 Google Public DNS = 8.8.8.8、8.8.4.4 Cloudflare DNS = 1.1.1.1、1.0.0.1 設定完就可以存檔離開
ms-dns 8.8.8.8
ms-dns 8.8.4.4
再來編輯chap-secrets這個文件,這個文件是用來設定用戶登入的帳號密碼
vim /etc/ppp/chap-secrets
接下來要分別輸入client、server、secret以及IP addresses client:用戶登入的帳號 server:你剛剛在上方設定的name名稱 secret:用戶登入的密碼 IP addresses:欲分發的IP,也可以選擇填寫 * 讓他自動分發 輸入時,每個欄位使用Tab隔開 以下為我的範例,完成後存檔離開
# Secrets for authentication using CHAP
# client server secret IP addresses
David pptpd 1234 *
Amy pptpd 5678 *
開啟本機 IPv4 Forward 功能,編輯sysctl.conf
vim /etc/sysctl.conf
將 net.ipv4.ip_forward 前的#號拿掉,值設定1
net.ipv4.ip_forward=1
存檔後,讓剛剛的設定生效
sudo sysctl -p
設定iptables,讓pptpd可以通過你的網路 這邊每個人的設定方式可能不一樣,可以透過ifconfig來查詢你的網路介面卡 像我是透過pppoeconf撥號,預設介面卡名稱為ppp0
iptables -t nat -A POSTROUTING -s 192.168.70.0/24 -o ppp0 -j MASQUERADE
重啟pptpd
sudo systemctl restart pptpd
接著就可以嘗試透過你的Windows或是Android手機連線囉!