安裝及架設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…..