L2tp ipsec VP搭建

L2TP是一种工业标准的Internet隧道协议,功能大致和PPTP协议类似,比如同样可以对网络数据流进行加密。不过也有不同之处,比如PPTP要求网络为IP网络,L2TP要求面向数据包的点对点连接;PPTP使用单一隧道,L2TP使用多隧道;L2TP提供包头压缩、隧道验证,而PPTP不支持。

基本信息
中文名称 L2TP 英文原义 Layer 2 Tunneling Protocol
中文释义 第二层隧道协议 L2TP命令头 12 16 32 bit

主要应用:

连接中要设置L2TP连接,方法同PPTP设置,同样是在连接属性窗口的"网络"选项卡中,将类型设置为"L2TP IPSec **"即可。

第二层隧道协议(L2TP)是用来整合多协议拨号服务至现有的因特网服务提供商点。PPP 定义了多协议跨越第二层点对点链接的一个封装机制。特别地,用户通过使用众多技术之一(如:拨号 POTS、ISDN、ADSL 等)获得第二层连接到网络访问服务器(NAS),然后在此连接上运行 PPP。在这样的配置中,第二层终端点和 PPP 会话终点处于相同的物理设备中(如:NAS)。

L2TP 扩展了 PPP 模型,允许第二层和 PPP 终点处于不同的由包交换网络相互连接的设备来。通过 L2TP,用户在第二层连接到一个访问集中器(如:调制解调器池、ADSL DSLAM 等),然后这个集中器将单独得的 PPP 帧隧道到 NAS。这样,可以把 PPP 包的实际处理过程与 L2 连接的终点分离开来。

对于这样的分离,其明显的一个好处是,L2 连接可以在一个(本地)电路集中器上终止,然后通过共享网络如帧中继电路或英特网扩展逻辑 PPP 会话,而不用在 NAS 上终止。从用户角度看,直接在 NAS 上终止 L2 连接与使用 L2TP 没有什么功能上的区别。L2TP 协议也用来解决"多连接联选组分离"问题。多链接 PPP,一般用来集中 ISDN B 通道,需要构成多链接捆绑的所有通道在一个单网络访问服务器(NAS)上组合。因为 L2TP 使得 PPP 会话可以出现在接收会话的物理点之外的位置,它用来使所有的通道出现在单个的 NAS 上,并允许多链接操作,即使是在物理呼叫分散在不同物理位置的 NAS 上的情况下。

LNS表示L2TP网络服务器(L2TP Network Server),是PPP端系统上用于处理L2TP协议服务器端部分的设备。它作为L2TP隧道的另一侧端点,是LAC的对端设备,是被LAC进行隧道传输的PPP会话的逻辑终止端点。

与PPTP不同:

PPTP和L2TP都使用PPP协议对数据进行封装,然后添加附加包头用于数据在互联网络上的传输。尽 管两个协议非常相似,但是仍存在以下几方面的不同:

1.PPTP要求互联网络为IP网络。L2TP只要求隧道媒介提供面向数据包的点对点的连接。L2TP可以在IP(使用UDP),帧中继永久虚拟电路(PVCs),X.25虚拟电路(VCs)或ATM VCs网络上使用。

2.PPTP只能在两端点间建立单一隧道。L2TP支持在两端点间使用多隧道。使用L2TP,用户可以针对不同的服务质量创建不同的隧道。

3.L2TP可以提供包头压缩。当压缩包头时,系统开销(overhead)占用4个字节,而PPTP协议下要占用6个字节。

4.L2TP可以提供隧道验证,而PPTP则不支持隧道验证。但是当L2TP或PPTP与IPSEC共同使用时,可以由IPSEC提供隧道验证,不需要在第2层协议上验证隧道

5.L2TP访问集中器(L2TP Access Concentrator,LAC)是一种附属在网络上的具有PPP端系统和L2Tpv2协议处理能力的设备,它一般就是一个网络接入服务器软件,在远程客户端完成网络接入服务的功能。

6.L2TP网络服务器(L2TP Network Server,LNS)是用于处理L2TP协议服务器端的软件。

L2TP支持的协议

IP协议、IPX协议和NetBEUI协议

一、L2tp **环境搭建

Centos7 L2tp ipsec VP

1)外网一台:IP地址是192.168.152.121 **地址是10.0.0.0网段
2)路由器:外网IP是192.168.152.91 内网IP是192.168.1.10
3)内网两台:IP地址是192.168.1.11(windows) 192.168.1.12(xp)

1、安装EPEL源(CentOS7官方源中已经去掉了xl2tpd,或者官网手动下载)

在centos7 版本后, 提供ipsec 服务包由libreswan替代了openswan
首先安装 yum install xl2tpd yum install libreswan

2、修改ipsec的配置文件(在配置文件里加入这一行,充许传透nat建立l2tp连接)

vim /etc/ipsec.conf(只添加一行nat_traversal=ye即可)
Centos7 L2tp ipsec VP

3、建立ipsec 与 l2tp 服务关联的配置文件 vim /etc/ipsec.d/l2tp_psk.conf

(因为这个文件没有所以需要手动创建)
Centos7 L2tp ipsec VP
Centos7 L2tp ipsec VP

4、当建立l2tp连接时,需要输入预共享密匙,以下为预共享密匙的配置文件。

(如果这个文件也没有也需要手动创建,访问的IP地址和密码)
Centos7 L2tp ipsec VP
Centos7 L2tp ipsec VP

5、修改内核支持,可以对照以下配置修改,修改完后运行sysctl -p 使配置生效

Centos7 L2tp ipsec VP
Centos7 L2tp ipsec VP
Centos7 L2tp ipsec VP

6、检验ipsec服务配置

//重启ipsec systemctl restart ipsec
Centos7 L2tp ipsec VP

//检验ipsec服务配置 ipsec verify
Centos7 L2tp ipsec VP

7、启动服务

//启动ipsec systemctl start ipsec
Centos7 L2tp ipsec VP
//设置为开机自启 systemctl enable ipsec
Centos7 L2tp ipsec VP

8、修改L2tp的配置文件 vim /etc/xl2tpd/xl2tpd.conf

Centos7 L2tp ipsec VP
Centos7 L2tp ipsec VP

9、修改xl2tpd属性配置文件 vim /etc/ppp/options.xl2tpd

Centos7 L2tp ipsec VP
Centos7 L2tp ipsec VP

10、添加用户名和密码(**登录的用户名和密码)

vim /etc/ppp/chap-secrets
Centos7 L2tp ipsec VP
Centos7 L2tp ipsec VP

11、iptables安装配置

CentOS7默认的防火墙不是iptables,而是firewalle.

1)安装iptable iptable-service

//安装iptables yum install -y iptables
//安装iptables-services yum install iptables-services

2)禁用/停止自带的firewalld服务

#停止firewalld服务
systemctl stop firewalld
#禁用firewalld服务
systemctl mask firewalld

3)设置现有规则

#查看iptables现有规则
iptables -L -n
#先允许所有,不然有可能会杯具
iptables -P INPUT ACCEPT
#清空所有默认规则
iptables -F
#清空所有自定义规则
iptables -X
#所有计数器归0
iptables -Z

4)开启地址转换(当前IP段是虚拟网段)
Centos7 L2tp ipsec VP
5)查看iptables配置文件
Centos7 L2tp ipsec VP

6)保存规则设定
Centos7 L2tp ipsec VP

12、完成服务配置

//启动xl2tp服务 systemctl start xl2tpd
//设置开机自启 systemctl enable xl2tpd
//查看状态 systemctl status xl2tpd

13、客户端连接(windows)

windows+R
输入 regedit 找到此路径
1
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\
Centos7 L2tp ipsec VP
Centos7 L2tp ipsec VP

14、重启电脑

Centos7 L2tp ipsec VP

Centos7 L2tp ipsec VP

Centos7 L2tp ipsec VP

Centos7 L2tp ipsec VP

Centos7 L2tp ipsec VP

Centos7 L2tp ipsec VP

Centos7 L2tp ipsec VP

Centos7 L2tp ipsec VP

Centos7 L2tp ipsec VP

Centos7 L2tp ipsec VP

Centos7 L2tp ipsec VP

15、测试访问

外地出差client访问公司内网或者ping公司内网ip
Centos7 L2tp ipsec VP

Centos7 L2tp ipsec VP