一、VPN資料轉送協議:PPTP、L2TP
PPTP L2TP
基於IP的互連網 基於多種廣域網路串連 介質入框架轉送,IP,X.25
沒有前序壓縮 前序壓縮
沒有隧道身分識別驗證 隧道身分識別驗證
採用PPP加密 使用IPSec加密
二、官方網站:
http://l2tpd.sourceforge.net/
三、在linux下構建xl2tp vpn 的方法
從http://www.xelerance.com/software/xl2tpd/上下載xl2tpd-1.2.4.tar.gz
解壓後,進入該解壓目錄,然後編譯、安裝:
tar -zxvf xl2tpd-1.2.4.tar.gz
cd xl2tpd-1.2.4
make
make install
安裝完畢後,修改相關的設定檔:
1、修改/etc/xl2tpd/xl2tpd.conf,內容如下:
mkdir /etc/xl2tpd
cp examples/xl2tpd.conf /etc/xl2tpd/
vi /etc/xl2tpd/xl2tpd.conf
[global]
listen-addr = 192.168.1.67
port=1701
auth file=/etc/ppp/chap-secrets
[lns default]
ip range = 192.168.9.128-192.168.9.254
local ip = 192.168.9.99
require chap = yes
refuse pap = yes
require authentication = yes
name = LinuxVPNserver
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes
2、修改/etc/ppp/options.xl2tpd,內容如下:
cp examples/ppp-options.xl2tpd /etc/ppp/options.xl2tpd
vi /etc/ppp/options.xl2tpd
ipcp-accept-local
ipcp-accept-remote
ms-dns 192.168.1.1
ms-dns 192.168.1.3
ms-wins 192.168.1.2
ms-wins 192.168.1.4
noccp
auth
crtscts
idle 1800
mtu 1410
mru 1410
nodefaultroute
debug
lock
proxyarp
connect-delay 5000
3、修改/etc/ppp/chap-secrets,內容如下
"test" * "test" *
4、編輯/etc/init.d/xl2tpd檔案,內容如下:
#!/bin/sh
#
# xl2tpd This shell script takes care of starting and stopping l2tpd.
#
# chkconfig: - 80 30
# description: Layer 2 Tunnelling Protocol Daemon (RFC 2661)
#
# processname: xl2tpd
# config: /etc/xl2tpd/xl2tpd.conf
# pidfile: /var/run/xl2tpd.pid
#Servicename
SERVICE=xl2tpd
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
if [ ${NETWORKING} = "no" ]
then
exit 0
fi
[ -x /usr/local/sbin/$SERVICE ] || exit 0
RETVAL=0
start() {
echo -n "Starting $SERVICE: "
if [ ! -d /var/run/xl2tpd ]
then
mkdir /var/run/xl2tpd
fi
daemon /usr/local/sbin/$SERVICE
RETVAL=$?
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$SERVICE
echo ""
return $RETVAL
}
stop() {
echo -n "Stopping $SERVICE: "
killproc $SERVICE
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$SERVICE
return $RETVAL
}
restart() {
stop
start
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status $SERVICE
RETVAL=$?
;;
restart|reload)
restart
;;
condrestart)
[ -f /var/lock/subsys/$SERVICE ] && restart || :
;;
*)
echo "Usage: $SERVICE {start|stop|status|restart|reload|condrestart}"
exit 1
esac
用chmod命令給xl2tpd檔案賦予可執行許可權。
chmod +x /etc/init.d/xl2tpd
將xl2tpd加入到系統服務中去:
chkconfig --add xl2tpd
chkconfig xl2tpd --level 35 on
也可以通過在終端:#xl2tpd -c /etc/xl2tpd/xl2tpd.conf -D 啟動xl2tpd服務
四、防火牆開網關連接埠:
#l2tp ipsec vpn
iptables -I RH-Firewall-1-INPUT 10 -p udp -m udp --dport 1701 -j ACCEPT
iptables -I RH-Firewall-1-INPUT 10 -p udp -m udp --dport 4500 -j ACCEPT
iptables -I RH-Firewall-1-INPUT 10 -p udp -m udp --dport 500 -j ACCEPT
五、配置Windows XP 作為L2TP 用戶端
按照以下步驟配置Windows XP 電腦,使其成為L2TP 用戶端。
1. 配置L2TP 撥號連線:
1)進入Windows XP 的“開始” “設定” “控制台”,選擇“切換到分類別檢視”。
2)選擇“網路和網際網路連線”。
3)選擇“建立一個您的工作位置的網路連接”。
4)選擇“Virtual Private Cloud串連”,單擊“下一步”。
5)為串連輸入一個名字為“l2tp”,單擊“下一步”。
6)選擇“不撥此初始串連”,單擊“下一步”。
7)輸入準備串連的L2TP 伺服器的IP 位址“202.101.35.218”,單擊“下一步”。
8)單擊“完成”。
9)雙擊“l2tp”串連,在l2tp 串連視窗,單擊“屬性”。
10)選擇“安全”屬性頁面,選擇“進階(自訂設定)”,單擊“設定”。
11)在“資料加密”中選擇“可選加密(沒有加密也可以串連)”。
12)在“允許這些協議”選中“不加密的密碼(PAP)”、“Challenge Handshake 驗證通訊協定(CHAP)”、“Microsoft CHAP(MS-CHAP)”,單擊“確定”。
13)選擇“網路”屬性頁面,在“VPN 類型”選擇“L2TP IPSec VPN”。
14)確認“網際網路通訊協定 (IP)(TCP/IP)”被選中。
15)確認“NWLink IPX/SPX/NetBIOS Compatible Transport Prococol”、“微軟網路檔案. 和列印共用”、“微軟網路客戶”協議沒有被選中。
單擊“確定”,儲存所做的修改。
2. 修改註冊表
預設的Windows XP L2TP 傳輸策略不允許L2TP 傳輸不使用IPSec 加密。可以通過修改XP 註冊表來禁用預設的行為:
手工修改:
1)進入Windows XP 的“開始” “運行”裡面輸入“Regedt32”,開啟“登錄編輯程式”,
定位“HKEY_Local_Machine \ System \ CurrentControl Set \ Services \ RasMan \Parameters ”主鍵。
2)為該主鍵添加以下索引值:
索引值:ProhibitIpSec
資料類型:reg_dword
值:1
3)儲存所做的修改,重新啟動電腦以使改動生效。
提示:必須添加“ProhibitIpSec”註冊表索引值到每個要使用L2TP 的運行Windows XP 作業系統的電腦。
3. 使用L2TP 隧道串連到HiPER L2TP 伺服器
1)確認電腦已經串連到Internet(可能是撥號連線或者是固定IP 接入)。
2)啟動前面步驟中建立的“l2tp”撥號連線。
3)輸入的l2tp 串連的使用者名稱:vpn_mobile 和密碼:vpntest。
4)單擊“串連”。
5)串連成功後,在MS-DOS 方式下輸入“ipconfig”,可以看到一個在HiPER L2TP 服
務器位址集區中的地址,就是HiPER L2TP 伺服器分配給原生IP 位址。