计算机网络-L2TP VPN基础实验配置

一、概述

上次大概了解了L2TP的基本原理和使用场景,今天来模拟一个小实验,使用Ensp的网卡桥接到本地电脑试下L2TP拨号,今天主要使用标准的L2TP,其实在这个基础上可以加上IPSec进行加密,提高安全性。
网络拓扑

拓扑说明,在防火墙FW1出口配置L2TP服务器,Internet模拟互联网,AR2模拟远程移动用户网关,通过云桥接到我本地的电脑终端,在电脑终端上通过L2TP客户端拨号连接到LNS。相关的桥接本地网卡这里不做具体讲解,需要注意的是我这里使用的地址可能是公网地址,因此可能需要禁用物理网卡或者添加拓扑里面的路由到本地电脑。

cmd添加路由的命令大致如下:

# 添加的路由临时有效,重启失效
route add 110.230.112.0 mask 255.255.255.0 192.168.5.2
route add 220.123.54.0 mask 255.255.255.0 192.168.5.2

L2TP客户端

网卡桥接:
云配置

二、基础配置

先完成基础的IP地址以及路由配置。

AR2:
# 配置公网接口并应用NAT
interface GigabitEthernet0/0/0
 ip address 220.123.54.13 255.255.255.0 
 nat outbound 3000
#
interface GigabitEthernet0/0/2
 ip address 192.168.5.2 255.255.255.0 

# 配置默认路由
ip route-static 0.0.0.0 0.0.0.0 220.123.54.12

# 配置ACL用于NAT
acl number 3000  
 rule 5 permit ip source 192.168.5.0 0.0.0.255
 
 
Internet:
# 只需要配置接口即可
interface GigabitEthernet0/0/0
 ip address 220.123.54.12 255.255.255.0 
#
interface GigabitEthernet0/0/1
 ip address 110.230.112.49 255.255.255.0 
 


FW1:防火墙如果不需要配置策略可以全部放通,以及加入安全域
# 配置ACL
acl number 3000
 rule 5 permit ip source 192.168.1.0 0.0.0.255
 
# nat策略
nat-policy
 rule name all
  source-zone trust
  destination-zone untrust
  action source-nat easy-ip

# 默认路由
ip route-static 0.0.0.0 0.0.0.0 110.230.112.49

# 安全区域
firewall zone trust
 set priority 85
 add interface GigabitEthernet0/0/0
 add interface GigabitEthernet1/0/0
#
firewall zone untrust
 set priority 5
 add interface GigabitEthernet1/0/1
 add interface Virtual-Template0
 add interface Virtual-if0
 
# 内网服务器网关接口
interface GigabitEthernet1/0/0
 undo shutdown
 ip address 192.168.1.254 255.255.255.0
 service-manage http permit
 service-manage https permit
 service-manage ping permit
 service-manage ssh permit
 service-manage snmp permit
 service-manage telnet permit
 
# 公网出口
interface GigabitEthernet1/0/1
 undo shutdown
 ip address 110.230.112.50 255.255.255.0
 service-manage http permit
 service-manage https permit
 service-manage ping permit
 service-manage ssh permit
 service-manage snmp permit
 service-manage telnet permit


# 安全策略:
security-policy
 default action permit  # 如果不需要配置策略,直接将default动作设置为允许即可,下面的是我前面配置的
 rule name local-trust
  source-zone local
  action permit
 rule name trust-any
  source-zone trust
  action permit
 rule name untrust-local
  source-zone untrust
  destination-zone local
  action permit
 rule name l2tp-in
  description L2TP策略(l2tp-gp)引入
  source-zone local
  action permit
 rule name any
  action permit

上面配置完成后通过NAT可以使我的本地终端能够访问到FW1的出口地址。
ping测试连通性

如果想要通过网页进行配置,也可以开启防火墙的web功能。缺省端口为8443,https。

# 开启web管理
web-manager enable

# 针对admin账号授予web权限
manager-user admin
  service-type web terminal
  level 15

网页登录

三、L2TP配置

配置流程如下:

  • 创建地址池

  • 创建服务模板

  • 创建拨号模板

  • 开启L2TP

    创建一个地址池,前面我们已经讲了L2TP是结合了PPP协议拨号来实现建立隧道,ppp协议中通过C/S模式进行拨号获取ip和信息

    ip pool l2tp
    network 10.0.0.0 mask 255.255.255.0

    在aaa中创建一个服务模板,调用地址池,再绑定到拨号用户上

    aaa
    service-scheme l2tp
    ip-pool l2tp

    配置认证域,使用缺省default,简单说就是我们通过

    aaa
    domain default
    service-scheme l2tp
    service-type l2tp
    internet-access mode password
    reference user current-domain

    创建一个虚拟拨号模板

    interface Virtual-Template0
    ppp authentication-mode chap # 使用chap验证
    remote service-scheme l2tp # 使用l2tp服务模板进行验证
    ip address 10.0.0.254 255.255.255.0 # 类似于网关地址,建议于地址池同网段

    创建一个l2tp组,简单说就是通过虚拟拨号模板都在这个组里面,通过在组里面设置隧道的认证和域

    l2tp-group l2tp-gp # 创建一个l2tp-gp的组
    undo tunnel authentication # 关闭隧道认证,安全起见可以开启,必须两端一致
    tunnel name LNS # 服务器端隧道名称为LNS
    allow l2tp virtual-template 0 remote l2tpclient domain default # 这里调用虚拟模板0,远端隧道也就是客户端隧道名称为"l2tpclient",需要对应才行。

    创建拨号用户

    user-manage user test # 用于客户端拨号
    password Aa12345678

    启用L2TP服务功能

    l2tp enable

客户端连接,安装L2TP客户端。
新建连接 创建L2TP连接 隧道连接信息

点击保存确定,然后回到登录界面。
点击连接 输入刚才创建的拨号用户 协商成功

四、验证L2TP VPN连接

验证VPN连接:
查看L2TP会话 本地环回网卡地址 ping测试 在FW1抓包

业务测试:我在FW1下面的服务器开启一个httpd的服务,通过我连接上VPN后访问进行测试。
WEB服务器测试 访问正常

抓包分析:

需要注意这里是单纯的L2TP,数据包是明文的,可以看到数据包头部。

到这里基本的L2TP就实现了,其实也不算很难吧。

本文由mdnice多平台发布

相关推荐
huake640 分钟前
探索大型语言模型新架构:从 MoE 到 MoA
人工智能·程序人生
L73S377 小时前
栈和队列详解
数据结构·数据库·程序人生·算法·链表·学习方法
人大博士的交易之路1 天前
1.1 假设一:走势包含一切信息
程序人生·数学建模·分类·数据挖掘·程序员创富
L73S372 天前
数据结构、算法与STL
数据结构·笔记·程序人生·算法
张老师Plus3 天前
新年快乐
java·大数据·经验分享·程序人生·职场和发展
Huterox4 天前
2024年度总结-考研-就业-其他可能-NEXT--..2025
程序人生·考研·职场和发展·跳槽·程序员创富
猫头虎4 天前
猫头虎2024年年终总结与未来规划
程序人生·职场和发展·跳槽·学习方法·远程工作·程序员创富·改行学it
长风清留扬4 天前
我的创作纪念日
经验分享·学习·程序人生·生活·交友