以下前言內容引用自 [D-Link 技術新知]
PPTP 與 L2TP 均為第二層的穿隧技術,適合具有 IP/IPX/AppleTalk 等多種協定的環境。IPsec、PPTP、L2TP 三者,最大的不同在於運用 IPsec 的技術,使用者可以同時使用 Internet 與 VPN 的多點傳輸功能 (包括 Internet/Intranet/Extranet/Remote Access...等),而 PPTP 及 L2TP 只能執行點對點 VPN 的功能,無法同時執行 Internet 的應用,使用時較不方便而在安全性方面,IPSec 會對整個傳輸資料做加密而 PPTP 及 L2TP 則是僅針對封包的再包 (Encapsulation) 並未對資料做加密處理,安全性相對較低。
本次實作的 [poptop] 其穿隧技術 (Tunneling) 為 PPTP。
在安裝 [poptop] 前先確定我們的核心是否有開啟 tun 裝置。
#/usr/src/sys/i386/conf/GW //GW 為 kernel name device tun # Packet tunnel. //確定此行沒註解掉
切換至 Ports Tree 路徑安裝 poptop 套件
#cd /usr/ports/net/poptop //切換到安裝路徑 #make install clean //安裝套件並清除安裝過程中產生不必要檔案
修改 poptop 設定檔 (pptpd.conf) 內容如下
#vi /usr/local/etc/pptpd.conf //修改內容如下 option /etc/ppp/ppp.conf //指定 ppp 設定檔路徑 listen 61.60.59.58 //指定要開放 VPN 連結的 Public IP localip 192.168.88.1 //指定 VPN Client 屆時的 Gateway IP remoteip 192.168.88.50-60 //指定發給 VPN client IP Range pidfile /var/run/pptpd.pid //指定 pid 檔案路徑
#vi /etc/ppp/ppp.conf //修改 ppp.conf 設定檔內容如下 loop: set timeout 0 set log phase chat connect lcp ipcp command set device localhost:pptp set dial set login ### Server (local) IP address, Range for Clients, and Netmask set ifaddr 192.168.88.1 192.168.88.50-192.168.88.60 255.255.255.0 //指定 VPN Client 的 Gateway IP 及發放的 IP Range set server /tmp/loop "" 0177 loop-in: set timeout 0 set log phase lcp ipcp command allow mode direct pptp: load loop enable chap enable MSCHAPv2 disable deflate pred1 deny deflate pred1 set mppe 128 stateless enable MPPE accept MPPE enable chap81 disable pap enable proxy accept dns ### DNS Servers to assign client set dns 192.168.1.1 //指定 VPN Client 的 DNS IP set device !/etc/ppp/secure
建立裝置設定檔內容如下
#vi /etc/ppp/secure //加入如下二行 #!/bin/sh exec /usr/sbin/ppp -direct loop-in
將該檔案權限設為 700 (安全性設定)
#chmod 700 secure
建立 VPN Client 密碼檔 (ppp.secret)
#vi /etc/ppp/ppp.secret //建立 VPN Client 帳號密碼檔 weithenn 123 //id、pwd
鍵入如下指令啟動 poptop 服務
#/usr/local/etc/rc.d/pptpd.sh start //啟動 poptop 服務
啟動 poptop 服務會開啟 Port 1723 (可參考 /etc/service) 也可利用 sockstat 來查看狀態
#sockstat | grep pptpd root pptpd 23468 15 tcp4 61.60.59.58:1723 *:* //啟動 poptop 服務


