安裝及架設VPN-PPTP
安裝及架設VPN-PPTP
作者: zoob (vincent@myunix.adsldns.org)
版權聲明:可以任意轉載,轉載時請務必標明原始出處和作者資訊
前言
PoPToP
是在Linux上建置VPN的其中一種方法,它可以讓Linux、Windows 95、98、NT、2000可利用現有套件簡單的撥號網路與VPN
Server建立安全的VPN通道。目前可支援40及128位元的加密方式。PoPTop是適用於GPL授權方式的軟體。
PoPToP的首頁: http://www.moretonbay.com/con/pptp.html
安裝環境
Redhat 7.3(Kernel 2.4.20)
PPP-2.4.1
PPTP-1.1.4
一、設定及啟動PPP、PPTP
安裝PPP
(1)首先請先至 http://public.planetmirror.com/pub/mppe/ 下載 ppp-2.4.1-3mppe.src.rpm
(2)rpm -ivh ppp-2.4.1-3mppe.src.rpm
(3)cd /usr/src/redhat/SOURCE
(4)解壓縮ppp-mppe-2.4.1.tar.gz
(5)cd ppp-mppe-2.4.1
(6)./configure;make;make install
安裝pptpd
(1)首先請先至 http://sourceforge.net/project/showfiles.php?group_id=44827 下載 pptpd-1.1.4-b3.tar.gz
(2)解壓縮pptpd-1.1.4-b3.tar.gz
(3)./configure;make;make install
設定/etc/ppp/chap-secrets
增加帳號及密碼,範例如下:
# Secrets for authentication using CHAP
# client server secret IP addresses
vincent * 1234 *
設定/etc/pptpd.conf
範例如下:
debug
option /etc/ppp/options.pptp
localip 192.168.0.1
remoteip 192.168.1.1-100
註:localip和remoteip的最大連接數為100個,超過的話,將會忽略連接要求
設定/etc/ppp/options.pptp
此處的檔案名稱可隨意取名,但是須與/etc/pptpd.conf裡面的option選項的檔案相符合,範例如下:
lock
debug
auth
+chap
proxyarp
Enable IPforward
echo 1 > /proc/sys/net/ipv4/ip_forward
啟動pptpd
pptpd -d
注意/var/log/messages有無錯誤訊息
啟動成功後,會多出一interface,叫做ppp0
新增Windows 2000的「虛擬私人連線」
(1)新增連線
「桌面」->在「網路上芳鄰」按滑鼠右鍵->「內容」->「建立新連線」->「透過Internet連線到私人網路」->輸入主機名稱(192.168.0.1)->完成
(2)設定連線
請將連線內容裡「安全性」的「要求資料加密」取消選取->「確定」
(3)測試連線
Double Click該連線,輸入「使用者名稱」及「密碼」->連線
連線成功後,會多出一虛擬介面叫做「PPP adapter 虛擬私人連線:」
它的Ip address為192.168.1.xx
檢查是否能ping到192.168.0.1及192.168.1.0其它的ip
以上步驟只是讓你能建立PPTP連線,並未有加密的功能。如要增加加密功能,請參考以下步驟
二、PPP+MPPE
重新編譯Kernel
從 http://public.planetmirror.com/pub/mppe/ 下載linux-2.4.19-openssl-0.9.6b-mppe.patch.gz
(1)cd /usr/src/linux-2.4.20
(2)zcat /tmp/linux-2.4.19-openssl-0.9.6b-mppe.patch.gz | patch -p1
(3)開始compile kernel,這裡不加以敘述過程
請注意在compile kernel,在Network Device裡,一定要將下列項目編譯為Modules
- <M> PPP support for async serial ports
<M> PPP support for sync tty ports
<M> PPP Deflate compression
<M> PPP BSD-Compress compression
(4)Compile Kernel完畢後,請在/etc/modules.conf加入以下敘述
- alias char-major-108 ppp_generic
alias /dev/ppp ppp_generic
alias tty-ldisc-3 ppp_async
alias tty-ldisc-14 ppp_synctty
alias ppp-compress-18 ppp_mppe
alias ppp-compress-21 bsd_comp
alias ppp-compress-24 ppp_deflate
alias ppp-compress-26 ppp_deflate
(5)重新開機
(6)重新編譯ppp
請至 http://public.planetmirror.com/pub/mppe/ 下載 ppp-2.4.1-MSCHAPv2-fix.patch.gz 至 /tmp目錄
1. 至 /usr/src/redhat/SOURCE/ppp-mppe-2.4.1目錄下執行以下指令
zcat /tmp/ppp-2.4.1-MSCHAPv2-fix.patch.gz | patch -p1
./configure
make
make install
(7)修改/etc/ppp/options.pptp
- lock
debug
proxyarp
auth
+chap
+chapms
+chapms-v2
mppe-40
mppe-128
mppe-stateless
ms-wins 192.168.1.2
ms-dns 192.168.1.2
(8)重新啟動pptpd daemon
killall pptpd;pptpd -d
(9)建立VPN-PPTP連線
Windows 2000、XP
新增Windows 2000的「虛擬私人連線」
1.新增連線
「桌面」->在「網路上芳鄰」按滑鼠右鍵->「內容」->「建立新連線」->「透過Internet連線到私人網路」->輸入主機名稱(192.168.0.1)->完成
2.設定連線
請將勾選連線內容裡「安全性」的「要求資料加密」->「確定」
3.測試連線
Double Click該連線,輸入「使用者名稱」及「密碼」->連線
連線成功後,會多出一虛擬介面叫做「PPP adapter 虛擬私人連線:」
它的Ip address為192.168.1.xx
檢查是否能ping到192.168.0.1及192.168.1.0其它的ip
在右下角的網路連線圖示裡,點選滑鼠右鍵->選擇「狀態」->選擇「詳細資料」
此時的內容應該為
- 伺服器類型 PPP
傳輸 TCP/IP
驗證
MS CHAP V2
加密
MPPE 128
壓縮 無
PPP多重連結架構 關閉
伺服器IP位址 192.168.0.1
用戶端IP位址 192.168.1.1
Windows 9x
依作業系統不同至以下網址下載新的Dial Up Networking Tool,目前最新版本為1.4
Windows 95
http://www.microsoft.com/windows95/downloads
Windows 98
http://www.microsoft.com/windows95/downloads/corporate.asp
也可下載128位元Dial Up Networking Tool程式
http://support.microsoft.com/support/ntserver/128eula.asp
設定撥號網路
1.開啟撥號網路->建立新的連線->裝置請選擇Microsoft VPN Adapter->輸入PPTP Server(192.168.0.1)->完成
2.使用滑鼠右鍵點選剛剛建立的VPN連線->選取內容->選擇伺服器類型->勾選密碼加密->取消勾選Netbeui和Ipx/Spx->確定
3.點選VPN連線->輸入使用者名稱及密碼
4.完成
參考文件網址
http://www.poptop.org/
http://pptpclient.sourceforge.net/
http://public.planetmirror.com/pub/mppe/
註1:PPTP是走Protocol 47的GRE protocol,請記得在防火牆開啟此規則
註2:如要看到網路上的芳鄰時,請在/etc/ppp/options.ppp指定ms-wins選項即可
註3:為何無法連線至192.168.1.1以外的電腦?
請啟動ip_forward及proxyarp…..