1. 程式人生 > >Ubuntu14.04用PPTP搭建VPN

Ubuntu14.04用PPTP搭建VPN

採用PPTP搭建VPN,優點是配置簡單快捷。將親身過程記錄下來供親們參考,並將過程中遇到的問題也一一列舉出來解決方式。。。

準備工作

1.先看看你的主機是否支援pptp,返回結果為yes就表示通過。

modprobe ppp-compress-18 && echo yes
2 .是否開啟了TUN,有的虛擬機器主機需要開啟,返回結果為cat: /dev/net/tun: File descriptor in bad state。就表示通過
cat /dev/net/tun

開始安裝

1.第一步需要安裝PPTP,以用來提供VPN服務.

sudo apt-get install pptpd
如果有問題的話比如提示找不到之類的,apt-get update 一下應該就可以了,然後再來一次就會自動完成安裝。

2.裝好了之後我們需要進行配置一下以讓它可以使用.
sudo vi /etc/pptpd.conf
取消掉以下 2 行的註釋:
localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245
分別是通過VPN連線後主機和客戶端所使用的IP,可以自行修改。注意這個IP在下面還會用的到。

sudo vi /etc/ppp/options.pptpd #編輯,儲存

name pptpd                        #自行設定的VPN伺服器的名字,可以任意
#refuse-pap                        #拒絕pap身份驗證
#refuse-chap                      #拒絕chap身份驗證
#refuse-mschap                 #拒絕mschap身份驗證
require-mschap-v2             #為了最高的安全性,我們使用mschap-v2身份驗證方法
require-mppe-128              #使用128位MPPE加密
ms-dns 8.8.8.8                   #設定DNS
ms-dns 8.8.4.4
proxyarp                            #啟用ARP代理,如果分配給客戶端的IP與內網絡卡同一個子網
#debug                              #關閉debug
lock
nobsdcomp
novj
novjccomp
#nologfd                            #不輸入執行資訊到stderr
logfile /var/log/pptpd.log    #存放pptpd服務執行的的日誌

3.然後我們需要分配賬號給自己使用.
sudo vi /etc/ppp/chap-secrets
這個是使用者列表檔案
在裡面新增賬戶按如下格式
username  pptpd  "password"  *
username為你的使用者名稱password為你的密碼,<strong>密碼用引號引起</strong>,最後的*號表示允許在任意IP連線到服務


4.至此服務弄好了,如果你sudo service pptpd restart一下,就應該已經能連線到該VPN了,但是連線了之後會發現還訪問不了外網。然後我們需要讓他能訪問外網。首先,

sudo vi /etc/ppp/pptpd-options
找到ms-dns,取消掉註釋,改成你喜歡的DNS比如114.114.114.114, 8.8.8.8, 8.8.4.4

5.然後我們要開啟核心IP轉發
sudo vi /etc/sysctl.conf
取消掉 net.ipv4.ip_forward=1 這一行的註釋.

修改立即生效
sysctrl -p

6.然後我們需要安裝iptables,用來實現請求的NAT轉發
sudo apt-get install iptables
然後開啟NAT轉發.
sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o bond0 -j MASQUERADE
192.168.0.0/24是你在上面設定的IP段,讓這個段轉發

注意bond0是你連線外網的那塊網絡卡,不一定是0也有可能是1或者看你的機器哪塊網絡卡連的外網了。這樣就以NAT的方式請求外網的東西了。不知道你的機器哪塊網絡卡連的外網的話ifconfig一下看看哪個網絡卡是外網IP就知道了。

7.最後,我們需要重啟服務,讓配置生效 .
sudo service pptpd restart

除錯:619錯誤

1、請檢查上面的配置是否全部正常執行完畢
2、執行下面的命令嘗試修復
rm /dev/ppp
mknod /dev/ppp c 108 0
3、若還是不行,執行下面的命令編輯pptpd.conf,並找到logwtmp,前面加#註釋掉,再重啟服務
vi /etc/pptpd.conf
4、請檢查你的路由器是否支援PPTP穿透,請嘗試連線公用VPN測試,或更換路由器測試,或直接連線寬頻測試,若確實是路由器不支援PPTP穿透,可以嘗試搭建L2TP VPN
5、檢查使用者名稱密碼是否有誤
注意上面修改檔案sudo vi /etc/ppp/chap-secrets時,要給密碼加上引號,這一點很重要
6、請向服務提供商詢問是否支援搭建VPN