此篇文章由 My Tech Notebook的 Calvert 所提供
更多文章內容可參考 My Tech Notebook
1.安裝 pptpd
1 |
apt-get install pptpd |
2.編輯 /etc/pptpd.conf
1 |
vim /etc/pptpd.conf |
將以下幾行設定前的註解符號 # 去除
1 |
option /etc/ppp/pptpd-options localip 192.168.0.1 remoteip 192.168.0.234-238,192.168.0.245 |
註:localip 為 Server 連線後使用的位址,remoteip 則為要配發給 VPN Client 的位址。
3.編輯 /etc/ppp/pptpd-options
1 |
vim /etc/ppp/pptpd-options |
此檔內 name 預設為 pptpd,該名稱需與 /etc/ppp/chap-secrets
內的設定相對應。
1 |
# Authentication name pptpd |
將 ms-dns 前方之註解符號 # 去除,並填上正確的 DNS
1 |
# Network and Routing ms-dns 168.95.192.1 ms-dns 168.95.1.1 |
4.編輯 /etc/ppp/chap-secrets
,加入使用者
1 |
vim /etc/ppp/chap-secrets |
此檔案格式為:
1 |
UserName ServerName Password IPaddresses |
UserName:VPN 連線帳號
ServerName:對應 /etc/ppp/pptpd-options 的 name
Password:VPN 連線密碼
IPaddresses:是否指定 IP Address,不指定則填 “*”,便會依照 /etc/pptpd.conf
內之 remoteip 自動配發 IP。
Example:
1 |
eddy pptpd vpntest * mike pptpd myvpn 192.168.0.234 |
5.重啟 pptpd 服務
1 |
/etc/init.d/pptpd restart |
到此步驟時,理論上已可 VPN 連限至 Server,但僅可存取 Server 內資源,無法連到外部網路。
6.開啟 ipv4 forward
1 |
vim /etc/sysctl.conf |
尋找 #net.ipv4.ip_forward=1
將前方註解符號 # 去除,然後存檔。
執行以下指令使 ipv4 forward 生效。
1 |
sysctl -p |
7.為 iptables 新增一條 nat 規則
1 |
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE |
註:若為伺服器採 pppoe 連線,則將 eth0 改為 ppp0
設定完畢後應可由 VPN 連線至外部網路
8.儲存 iptables 規則以便下次開機時可讀取,否則上方新增之規則重開機後便會消失
1 |
iptables-save > /etc/iptables-rules |
編輯 /etc/network/interfaces
,尋找與 iptables 規則相對應之節點
1 |
iface eth0 inet static |
下方加入
1 |
pre-up iptables-restore < /etc/iptables-rules |
往後重開機時便會自動讀取 /etc/iptables-rules
內設定之規則。
評論
此文章尚無評論。