使用套件: 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

By admin

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料