最近想架VPN Server,查了一下資料,最常見的好像是OpenVPNpptp兩種方法

pptp的方式比較簡單,但是相對於OpenVPN較為不安全

是說我們系上的好像也是用pptp,所以我想問題應該不大吧

網路環境:

使用Public IP

單網卡

 

首先要先安裝pptpd

sudo apt-get install pptpd

 

接著修改/etc/pptpd.conf

這邊localip是Server 連線之後要用的IP,基本上跟Server本身的Public IP沒有關係,可以給個private ip就ok了

remoteip 是給VPN client的 private ip,大致給個範圍,可以不用像我一樣給了128個Private IP

應該是要看同時會有多少人使用來給範圍

至於為什麼我要從128開始,是因為我想保留前面的部份當作另外的用途

localip 192.168.0.1
remoteip 192.168.0.128-255

 

再下來是修改/etc/ppp/pptpd-options

這邊要注意一下裡面的name設定

通常會設成是pptpd

之後要跟/etc/ppp/chap-secrets裡的設定作對應

另外還有要設定ms-dns

就看那台Server原本指定的DNS IP,拿過來用就ok了

要看DNS IP設定可以到/etc/resolve.conf裡面去看

 

設定完後接下來就是帳號密碼的部份啦

修改/etc/ppp/chap/secrets

以下是大概的格式,這邊要注意pptpd是對應之前紅色的文字部份

*表示不從這邊設定IP,而是讀剛才的remoteip設定

你要的帳號 pptpd 你要的密碼 *

 

重啟pptpd

sudo /etc/init.d/pptpd restart

 

接下來試試看VPN連線看看

我的情形是還不行啦XD

查了一下資料,應該是有指定到private ip,但是封包在Server這邊傳不出去,因為沒設定

所以接下來還要再設定一下NAT的部份啦

 

設定一下iptables

sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

但是這樣的設定在每次重開機之後就會消失

所以設定完後可以用iptables-save將設定檔存起來,如:

sudo iptables-save > /etc/iptables-rules

如果出現權限問題就sudo su轉成root再做

但是存起來之後,他並不會幫你在每次重開機都讀那個檔

所以還要再設定,修改/etc/network/interfaces,最後面加上:

pre-up iptables-restore < /etc/iptables-rules

 

最後是修改/etc/sysctl.conf

找到以下這行,將前面的#給刪掉,#是代表註解

這樣才有forward 封包的功能

#net.ipv4.ip_forward=1

 

改完之後,更新sysctl的設定

sudo sysctl -p

 

OK! 到這裡之後應該是就可以連VPN了

如果還不行的話,可以重啟動看看

再不行的話,可以參考看看我下面的參考網頁,也許會有對你有用的資訊

 

參考網頁

http://www.eubuntu.net/viewthread.php?tid=135&sid=ihmKhL

http://blog.slps.tp.edu.tw/00086/?p=145

http://gsyan888.blogspot.com/2009/11/ubuntu-vpn-server.html

https://wangyan.org/blog/debian-pptp-vpn.html

http://jordy.easymorse.com/?p=272

文章標籤
創作者介紹

卡卡的程式部落格

卡卡 發表在 痞客邦 PIXNET 留言(0) 人氣()