內容目錄
使用套件: poptop
安裝套件:
apt-get install pptpd
主要設定檔如下列三個:
/etc/pptpd.conf
/etc/ppp/pptpd-options
/etc/ppp/chap-secrets
都不需要改很多
/etc/pptpd.conf
設定檔路徑, 應該不需要改
option /etc/ppp/pptpd-options
設定local端的ip
localip 192.168.0.1
設定給予遠端的ip
remoteip 192.168.0.1-254
/etc/ppp/pptpd-options
首先要注意的是 name 這個標籤
之後會提到 /etc/ppp/chap-secrets 這個檔案,其中的第二個欄位必須與之相同
name pptpd # 預設為 pptpd
這個檔案要改的部份為ms-dns, 設定給予client的DNS server
ms-dns 168.195.1.1
最多似乎只能設兩個, 超過的話使用windows連線也無法使用第三個以後的DNS
/etc/ppp/chap-secrets
帳號密碼設定檔
共四欄,第一欄為連線帳號,
第二欄要設定成/etc/ppp/pptpd-options中的name
第三欄為密碼
第四欄為連線IP
user pptpd test 192.168.0.1 #打*星號代表不指定ip
設定完成之後使用
/etc/init.d/pptpd start
將其啟動
開啟 ipv4 forward sudo
vim /etc/sysctl.conf
#將以下值改為1 net.ipv4.ip_forward=1
使修改生效 $ sudo sysctl -p
設定一下iptables
1
|
sudo iptables -t nat -A POSTROUTING -s 192.168.0.0 /24 -o eth0 -j MASQUERADE |
但是這樣的設定在每次重開機之後就會消失
所以設定完後可以用iptables-save將設定檔存起來,如:
1
|
sudo iptables-save > /etc/iptables-rules |
如果出現權限問題就sudo su轉成root再做
但是存起來之後,他並不會幫你在每次重開機都讀那個檔
所以還要再設定,修改/etc/network/interfaces,最後面加上:
1
|
pre-up iptables-restore < /etc/iptables-rules |
Linux iptables設定
- 修改 /etc/rc.local
root@Linux:# vi /etc/rc.local
打開 forward, 找到下面這一行, 去除
echo "1" > /proc/sys/net/ipv4/ip_forward
cat /proc/sys/net/ipv4/ip_forward →檢查是否開啟ip_forward
1
#在 $IPTABLES -P FORWARD ACCEPT 這一行的下方, 加入以下數行
###-----------------------------------------------------###
啟動 VPN 內部對外轉址
###-----------------------------------------------------###
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE
iptables -A FORWARD -i ppp0 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o ppp0 -j ACCEPT
注意: ppp0 這網卡代號可能因 pptpd 軟體而異,請下指令 ifconfig 查詢正確代號
------------------------------------------------------
#在此區塊底下加上 vpn 連線限制
###-----------------------------------------------------###
拒絕外部 IP 連至內部 port 號
###-----------------------------------------------------###
###--------------------------------------------------------------###
限制外面取用 VPN 連線, ex: 只開放 220.130.230.77及 163.26.182.0/24 撥入
###--------------------------------------------------------------###
$IPTABLES -A INPUT -p tcp -s 220.130.230.77 --dport 1723 -j ACCEPT
$IPTABLES -A INPUT -p tcp -s 163.26.182.0/24 --dport 1723 -j ACCEPT
$IPTABLES -A INPUT -p tcp -s 127.0.0.1 --dport 1723 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 1723 -j DROP
* 啟用新規則列
root@Linux:# service rc.local start
Hits: 80