CentOS 5.6 安装L2TP VPN以及2种客户端连接方法

更新时间:2023-11-30 00:39:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

CentOS 5.6 安装L2TP VPN以及2种客户端连接方法

第二层隧道协议L2TP(Layer 2 Tunneling Protocol)是一种工业标准的Internet隧道协议,它使用UDP的1701端口进行通信。L2TP本身并没有任何加密,但是我们可以使用IPSec对L2TP包进行加密。L2TP VPN比PPTP VPN搭建复杂一些。 网络环境:

Eth0: 192.168.58.128/255.255.255.0 DNS:8.8.8.8 (可访问外网) Eth1:192.168.238.129(内网)

(vpn分配的IP网段)10.0.0.0/255.255.0.0

说明,我看了网上许多文档,深受其害。经历了个各种磨难,终于领悟了?以下省略N个字。如果相信我,请往下看。

关闭selinux setenforce 0

关闭防火墙

/etc/init.d/iptables stop

linux同步北京时间 ntpdate ntp.fudan.edu.cn

一、修改包转发设置

复制以下两段代码在终端里运行:

for each in /proc/sys/net/ipv4/conf/* do

echo 0 > $each/accept_redirects echo 0 > $each/send_redirects done

echo 1 >/proc/sys/net/core/xfrm_larval_drop

修改内核设置,使其支持转发,编辑/etc/sysctl.conf文件: vi /etc/sysctl.conf

将“net.ipv4.ip_forward”的值改为1。 使修改生效: sysctl -p

二、安装L2TP(xl2tpd和rp-l2tp)

xl2tpd是由Xelerance Corporation维护的l2tpd应用。但是xl2tpd没有l2tp-control,需要从rp-l2tp这个里面提取。所以要装这两个软件包。 1、安装必备软件:

yum install -y libpcap-devel ppp policycoreutils yum clean all

使用rpm 安装ppp pptpd

安装EPEL(企业级 Linux提供的扩展软件源) 如果是centos 5.x系列,请安装以下文件

rpm -ivh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

【如果是centos 6.x系列,请安装以下文件

rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm vi /etc/yum.repos.d/epel.repo 将所有的https改成http yum clean all】 yum安装xl2tpd

yum install -y xl2tpd

2、xl2tpd配置文件: cd /etc/xl2tpd/

cp xl2tpd.conf xl2tpd.conf.bak vi xl2tpd.conf 修改红色字段:

注意local ip后面填写的IP地址不是外网地址,也不是内网地址,而是虚拟网关的IP地址

[lns default]

;最大有65533个客户端

ip range = 10.0.0.2-10.0.255.254 local ip = 10.0.0.1 require chap = yes refuse pap = yes

require authentication = yes name = LinuxVPNserver ppp debug = yes

pppoptfile = /etc/ppp/options.xl2tpd length bit = yes

3、配置ppp/options.xl2tpd文件: cd /etc/ppp/

cp options.xl2tpd options.xl2tpd.bak vi options.xl2tpd

删除所有内容,增加以下内容: require-mschap-v2 ms-dns 8.8.8.8 ms-dns 8.8.4.4 asyncmap 0 auth crtscts lock

hide-password modem debug

name xl2tpd proxyarp

lcp-echo-interval 30

lcp-echo-failure 4

4、设置拨号用户名和密码:

cp chap-secrets chap-secrets.bak vi chap-secrets

test表示用户名,xl2tpd表示服务类型,123表示密码,*表示允许所以IP地址连接

# Secrets for authentication using CHAP

# client server secret IP addresses

####### redhat-config-network will overwrite this part!!! (begin) ########## ####### redhat-config-network will overwrite this part!!! (end) ############ test xl2tpd 123 *

5、以debug方式启动l2tp,查看有无错误: xl2tpd -D 显示如下:

xl2tpd[3580]: setsockopt recvref[30]: Protocol not available xl2tpd[3580]: This binary does not support kernel L2TP.

xl2tpd[3580]: open_controlfd: Unable to open /var/run/xl2tpd/l2tp-control for reading. 出现以上错误时,需要手动建立xl2tpd目录 mkdir /var/run/xl2tpd 再次执行xl2tpd -D

xl2tpd[3617]: setsockopt recvref[30]: Protocol not available xl2tpd[3617]: This binary does not support kernel L2TP.

xl2tpd[3617]: open_controlfd: Unable to open /var/run/xl2tpd/l2tp-control for reading. [root@NBX1 ppp]# mkdir /var/run/xl2tpd [root@NBX1 ppp]# xl2tpd -D

xl2tpd[3619]: setsockopt recvref[30]: Protocol not available xl2tpd[3619]: This binary does not support kernel L2TP.

xl2tpd[3619]: xl2tpd version xl2tpd-1.3.1 started on NBX1.localdomain PID:3619 xl2tpd[3619]: Written by Mark Spencer, Copyright (C) 1998, Adtran, Inc. xl2tpd[3619]: Forked by Scott Balmos and David Stipp, (C) 2001 xl2tpd[3619]: Inherited by Jeff McAdams, (C) 2002

xl2tpd[3619]: Forked again by Xelerance (www.xelerance.com) (C) 2006 xl2tpd[3619]: Listening on IP address 0.0.0.0, port 1701

说明已经在监听端口了。现在可以在windows上建立L2TP拨号连接了。 三、设置开机启动

chkconfig --level 3 xl2tpd on 启动xl2tp

/etc/init.d/xl2tpd start 查看监听端口

netstat -naptlu | grep xl2tpd

udp 0 0 0.0.0.0:1701 0.0.0.0:*

3671/xl2tpd

Linux L2TP客户端连接方法

关闭selinux setenforce 0

关闭防火墙

/etc/init.d/iptables stop

linux同步北京时间 ntpdate ntp.fudan.edu.cn

安装EPEL(企业级 Linux提供的扩展软件源) 如果是centos 5.x系列,请安装以下文件

rpm -ivh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm 【如果是centos 6.x系列,请安装以下文件

rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm vi /etc/yum.repos.d/epel.repo 将所有的https改成http yum clean all】 安装xl2tpd

yum install -y xl2tpd

配置xl2tpd文件 cd /etc/xl2tpd/

cp xl2tpd.conf xl2tpd.conf.bak vi xl2tpd.conf

;VPN名称为testvpn [lac testvpn] ;l2tp帐号 name = test

; l2tp server的IP lns = 192.168.58.128

; pppd拨号时使用的配置文件

pppoptfile = /etc/ppp/peers/testvpn.l2tpd ppp debug = yes

设置拨号配置文件 cd /etc/ppp/peers/ vi testvpn.l2tpd

remotename testvpn

#如果服务器是windows下面域环境这里的写法应为“域名\\\\用户名”用 用\\ 对\\进行转义 user \

password %unit 0 lock nodeflate nobsdcomp noauth persist nopcomp noaccomp maxfail 5 debug

启动xl2tpd

/etc/init.d/xl2tpd start

拨号之前,确保 /var/run/xl2tpd/l2tp-control文件存在 ll /var/run/xl2tpd/l2tp-control

跟踪日志

tail -f /var/log/messages

开启另外一个终端,开始拨号

echo 'c testvpn' > /var/run/xl2tpd/l2tp-control

观察跟踪日志,出现succeeded表示成功,倒数第2行表示获得一个10.0.0.2的IP地址 May 25 12:55:19 NBX1 xl2tpd[18207]: Connecting to host 192.168.58.128, port 1701

May 25 12:55:21 NBX1 xl2tpd[18207]: Connection established to 192.168.58.128, 1701. Local: 17176, Remote: 29929 (ref=0/0).

May 25 12:55:21 NBX1 xl2tpd[18207]: Calling on tunnel 17176

May 25 12:55:21 NBX1 xl2tpd[18207]: Call established with 192.168.58.128, Local: 46829, Remote: 60461, Serial: 1 (ref=0/0)

May 25 12:55:21 NBX1 pppd[18291]: pppd 2.4.4 started by root, uid 0 May 25 12:55:21 NBX1 pppd[18291]: Using interface ppp0

May 25 12:55:21 NBX1 pppd[18291]: Connect: ppp0 <--> /dev/pts/2

May 25 12:55:24 NBX1 pppd[18291]: CHAP authentication succeeded: Access granted May 25 12:55:24 NBX1 pppd[18291]: CHAP authentication succeeded May 25 12:55:24 NBX1 pppd[18291]: local IP address 10.0.0.2 May 25 12:55:24 NBX1 pppd[18291]: remote IP address 10.0.0.1 May 25 12:58:43 NBX1 kernel: rtc: lost some interrupts at 1024Hz. May 25 12:59:28 NBX1 kernel: rtc: lost some interrupts at 1024Hz. May 25 13:00:41 NBX1 last message repeated 11 times

May 25 13:06:32 NBX1 dhclient: DHCPREQUEST on eth0 to 192.168.58.254 port 67 May 25 13:06:32 NBX1 dhclient: DHCPACK from 192.168.58.254

May 25 13:06:32 NBX1 dhclient: bound to 192.168.58.136 -- renewal in 751 seconds 查看网卡配置 ifconfig

发现多了一个ppp0的网卡

ppp0 Link encap:Point-to-Point Protocol

inet addr:10.0.0.2 P-t-P:10.0.0.1 Mask:255.255.255.255

UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:16 errors:0 dropped:0 overruns:0 frame:0 TX packets:23 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3

RX bytes:902 (902.0 b) TX bytes:1360 (1.3 KiB)

l2tp连接上后,需要数据通过此ppp0接口出去的话,就需要配置路由了 route add -net default dev ppp0

ping VPN网关地址

PING内网地址

PING 百度地址

以上都没有问题

Window XP客户端连接方法

XP默认不允许使用L2TP连接,需要修改注册表才可以 使用regepdt32进入注册表

找到HKEY_Local_Machine\\System\\CurrentControl Set\\Services\\RasMan\\Parameters 新建dword值

重名为ProhibitIpSec,修改数值为1

最后重启电脑

点击属性

选择高级-设置

选择可选加密

选择L2TP

输入用户名test,密码123

连接成功之后

Ping 服务器内网地址

注意,这个时候,客户端是无法上网的

如果需要上网的话,需要进行以下操作 点击test连接,右键属性

本文来源:https://www.bwwdw.com/article/oait.html

Top