PPTP VPN 實作
- 在 Fedora Core Linux 安裝 PPTPD & PPP_MPPE encryption module
- 從 Windows XP 建立 PPTP 連線
- 從 Linux X Desktop 建立 PPTP 連線
Step 1: 安裝 PPTPD & PPP_MPPE encryption module
環境需求
kernel 2.4.x
依序下載並安裝下列套件:
kernel 2.6.5 ~ 2.6.13
至 MPPE/MPPC kernel module for Linux 下載對應版本的 kernel patch
上好 patch 後, 依下述方式安裝 PPP MPPE 模組
kernel 2.6.15 (含)以上
cd /usr/src/linux
make menuconfig
Device Drivers -> Network device support -> PPP MPPE compression (M)
make modules
make modules_install
下載並安裝下列套件:
Step 2: 修改相關設定檔
vi /etc/rc.d/rc.local
#開機自動載入 ppp_mppe 模組, 並啟動 pptpd
modprobe ppp-compress-18
/etc/init.d/pptpd startvi /etc/modules.conf
alias net-pf-47 ip_gre
vi /etc/pptpd.conf
localip 192.168.1.1 #pptpd host 的內部 IP
remoteip 192.168.1.10-19 #pptp client 可被分配的 IP 範圍vi /etc/ppp/options.pptpd
name pptpd.mydomain.com #pptpd hostname
require-mschap-v2
require-mppe-128
ms-dns 192.168.1.1 #指向內部的 DNS Server
ms-wins 192.168.1.2 #指向內部的 WINS Server
logfile /var/log/ppp/pptpd.logvi /etc/ppp/chap-secrets
“user_name” “pptpd_hostname” “password” “allowed-source-ip”
第二個欄位可為 *, 表示自動識別 pptpd hostname
第四個欄位可為 *, 表示不限制 pptp client 的來源 IP
vi /etc/sysctl.conf
net.ipv4.ip_forward = 1 #啟用 IP 轉送
Step 3: 開放防火牆
iptables -A INPUT -p gre -j ACCEPT
iptables -A INPUT -p tcp –dport 1723 -j ACCEPT
Step 4: 立即啟用 PPTPD
echo 1 > /proc/sys/net/ipv4/ip_forward
modprobe ppp-compress-18
/etc/init.d/pptpd start
從 Windows XP 建立 PPTP 連線
檔案總管 → 網路上的芳鄰 (右鍵) → 內容 → 建立一個新連線
連線到我工作的地方的網路 → 虛擬私人網路連線
公司名稱: (隨意)
(勾選) 不要撥接起始連線
主機名稱或 IP 位址: pptpd.host.name
連線時, 使用者名稱與密碼將參照 chap-secrets 裡面的設定
如不想在連線後自動變更 Default Gateway, 於 PPTP 連線 Icon 上按右鍵, 點選「網路功能」→「Internet Protocol (TCP/IP)」→「內容」→「進階」→ 取消勾選「使用遠端網路的預設閘道」即可
從 Linux X Desktop 建立 PPTP 連線
以 SuSE Linux KDE Desktop 為例:
yast
安裝 libglade、libxml
w3m http://sourceforge.net/project/showfiles.php?group_id=33063
下載並安裝 pptp、pptpconfig、php4-pcntl-gtk、php4-pcntl
以一般使用者登入 KDE 桌面, 啟動 Konsole
PATH=$PATH:/usr/sbin:/sbin
sudo pptpconfig
依 pptpconfig 畫面提示填入 PPTP 連線設定即可
參考資料:
- PPTP VPN HOWTO (MPPE support) (pdf file)
- 中研院資科所 – 虛擬私人網路


没有评论▼