因為我是用 static IP 所以就不用設定 AP ( router )
先檢查這兩個模組:
$> modprobe ip_nat_pptp
$> modprobe ip_conntrack_pptp
正常來說應該不會有什麼問題,至少我的 RPi 上沒有顯示任何錯誤
沒問題以後就直接安裝
$> apt-get install pptpd
接下來到 /etc/pptpd.conf 設定 localip 和 remoteip
我將這兩個分開變成:
localip 192.168.59.1 # RPi 上的 IP ,但是不是對外的那個,可以隨便設定
remoteip 192.168.79.1-100 # 設定 100 組 IP 給使用者用
然後到設定檔 /etc/ppp/pptpd-options
這邊查了不少資料,以下是我的設定檔:
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
ms-dns <DNS-IP1>
ms-dns <DNS-IP2> #可以設定多組 DNS
proxyarp
nodefaultroute
debug
dump
lock
nobsdcomp
logfile /var/log/pptpd.log #log file
novj
novjccomp
idle 2592000
接著設定登入的帳號密碼
格式為:
client server secret IP addresses
之間用 tab 作區隔,可以使用 * 萬用字元。
之後設定 ip forward,要去修改 /etc/sysctl.conf
把 net.ipv4.ip_forward=1 註解拿掉,也就是要讓他可以 forward ipv4
接著讓系統知道設定有修改過了,要 Update
$> sudo sysctl -p
最後要去 iptables
$> iptables -t nat -A POSTROUTING -s {remoteips} -o eth0 -j MASQUERADE
其中 {remoteips} 就是剛剛在 /etc/pptpd.conf 設定的
以我的設定為例,最簡單的方式就是 192.168.79.0/24 ( mask 掉全部 )
這樣設定完以後,重新啟動 pptpd
$> service pptpd restart
不過有些網站還是上不去,後來找到一個網頁:
http://www.tomatosoft.biz/blog/2011/10/21/cant-access-certain-site-with-pptp/
照他的設定:
$> iptables -I FORWARD -p tcp --syn -i ppp+ -j TCPMSS --set-mss 1356
原本不能連上的網頁就連上了。
( 打完收工 )
之後有遇到問題再說 ... 目前這樣已經大部分都可以連了 :)