计算机网络-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/0ip address 220.123.54.13 255.255.255.0 nat outbound 3000
#
interface GigabitEthernet0/0/2ip 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.255Internet:
# 只需要配置接口即可
interface GigabitEthernet0/0/0ip address 220.123.54.12 255.255.255.0 
#
interface GigabitEthernet0/0/1ip address 110.230.112.49 255.255.255.0 FW1:防火墙如果不需要配置策略可以全部放通,以及加入安全域
# 配置ACL
acl number 3000rule 5 permit ip source 192.168.1.0 0.0.0.255# nat策略
nat-policyrule name allsource-zone trustdestination-zone untrustaction source-nat easy-ip# 默认路由
ip route-static 0.0.0.0 0.0.0.0 110.230.112.49# 安全区域
firewall zone trustset priority 85add interface GigabitEthernet0/0/0add interface GigabitEthernet1/0/0
#
firewall zone untrustset priority 5add interface GigabitEthernet1/0/1add interface Virtual-Template0add interface Virtual-if0# 内网服务器网关接口
interface GigabitEthernet1/0/0undo shutdownip address 192.168.1.254 255.255.255.0service-manage http permitservice-manage https permitservice-manage ping permitservice-manage ssh permitservice-manage snmp permitservice-manage telnet permit# 公网出口
interface GigabitEthernet1/0/1undo shutdownip address 110.230.112.50 255.255.255.0service-manage http permitservice-manage https permitservice-manage ping permitservice-manage ssh permitservice-manage snmp permitservice-manage telnet permit# 安全策略:
security-policydefault action permit  # 如果不需要配置策略,直接将default动作设置为允许即可,下面的是我前面配置的rule name local-trustsource-zone localaction permitrule name trust-anysource-zone trustaction permitrule name untrust-localsource-zone untrustdestination-zone localaction permitrule name l2tp-indescription L2TP策略(l2tp-gp)引入source-zone localaction permitrule name anyaction permit

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

ping测试连通性

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

# 开启web管理
web-manager enable# 针对admin账号授予web权限
manager-user adminservice-type web terminallevel 15

网页登录

三、L2TP配置

配置流程如下:

  • 创建地址池
  • 创建服务模板
  • 创建拨号模板
  • 开启L2TP
# 创建一个地址池,前面我们已经讲了L2TP是结合了PPP协议拨号来实现建立隧道,ppp协议中通过C/S模式进行拨号获取ip和信息
ip pool l2tpnetwork 10.0.0.0 mask 255.255.255.0# 在aaa中创建一个服务模板,调用地址池,再绑定到拨号用户上
aaaservice-scheme l2tpip-pool l2tp# 配置认证域,使用缺省default,简单说就是我们通过
aaadomain defaultservice-scheme l2tpservice-type l2tpinternet-access mode passwordreference user current-domain# 创建一个虚拟拨号模板
interface Virtual-Template0ppp 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                # 服务器端隧道名称为LNSallow 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多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/65890.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux | 零基础Ubuntu解压RaR等压缩包文件

目录 介绍 案例分析 安装工具 解压实践 介绍 RAR是一种专利文件格式,用于数据压缩与归档打包,开发者为尤金罗谢尔(俄语:Евгений Лазаревич Рошал,拉丁转写:Yevgeny Lazarevich R…

Postman接口测试05|实战项目笔记

目录 一、项目接口概况 二、单接口测试-登录接口:POST 1、正例 2、反例 ①姓名未注册 ②密码错误 ③姓名为空 ④多参 ⑤少参 ⑥无参 三、批量运行测试用例 四、生成测试报告 1、Postman界面生成 2、Newman命令行生成 五、token鉴权(“…

PyTorch快速入门教程【小土堆】之完整模型训练套路

视频地址完整的模型训练套路(一)_哔哩哔哩_bilibili import torch import torchvision from model import * from torch import nn from torch.utils.data import DataLoader# 准备数据集 train_data torchvision.datasets.CIFAR10(root"CIFAR10&…

网络分析工具-tcpdump

文章目录 前言一、tcpdump基础官网链接命令选项详解常规过滤规则tcpdump输出 一、tcpdump实践HTTP协议ICMP状态抓包 前言 当遇到网络疑难问题的时候,抓包是最基本的技能,通过抓包才能看到网络底层的问题 一、tcpdump基础 tcpdump是一个常用的网络分析工…

可编辑31页PPT | 大数据湖仓一体解决方案

荐言分享:在当今数字化时代,大数据已成为企业决策和业务优化的关键驱动力。然而,传统的数据处理架构,如数据仓库和数据湖,各自存在局限性,难以满足企业对数据高效存储、灵活处理及实时分析的综合需求。因此…

Python中的sqlite3模块:SQLite数据库接口详解

Python中的sqlite3模块:SQLite数据库接口详解 主要功能sqlite3.connect(database)connection.cursor()cursor.execute(sql)connection.commit()cursor.fetchall()connection.close() 使用示例执行结果总结 在Python中,sqlite3模块提供了一个与SQLite数据…

easyui textbox使用placeholder无效

easyui textbox使用placeholder无效 在easyui 的textbox控件&#xff0c;请使用data-options 设定 示例 <input type text class easyui-textbox data-options "prompt:请输入您的邮箱"/>

[创业之路-232]:《华为闭环战略管理》-5-组织架构、业务架构、产品架构、技术架构、项目架构各自设计的原则是什么?

目录 一、组织架构设计原则 二、业务架构设计原则 三、产品架构设计原则 四、技术架构设计原则 五、项目架构设计原则 一、各自的组成元素 组织架构、业务架构、产品架构、技术架构、项目架构各自的组成元素具体如下&#xff1a; 组织架构 - 组织企业相似资源的方式&…

STM32中断详解

STM32中断详解 NVIC 中断系统中断向量表相关寄存器中断优先级中断配置 外部中断实验EXTI框图外部中断/事件线映射中断步骤初始化代码实现 定时器中断通用定时器相关功能标号1&#xff1a;时钟源标号 2&#xff1a;控制器标号 3&#xff1a;时基单元 代码实现 NVIC 中断系统 STM…

【LeetCode】200、岛屿数量

【LeetCode】200、岛屿数量 文章目录 一、并查集1.1 并查集1.2 多语言解法 二、洪水填充 DFS2.1 洪水填充 DFS 一、并查集 1.1 并查集 // go var sets int var father [90000]intfunc numIslands(grid [][]byte) int {n, m : len(grid), len(grid[0])build(grid, n, m)for i …

Github 2024-12-28 Rust开源项目日报 Top10

根据Github Trendings的统计,今日(2024-12-28统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Rust项目10TypeScript项目1Python项目1egui: 一个简单、快速且高度可移植的 Rust GUI 库 创建周期:1903 天开发语言:Rust协议类型:Apache Li…

SOME/IP 协议详解——序列化

文章目录 0. 概述1.基本数据序列化2.字符串序列化2.1 字符串通用规则2.2 固定长度字符串规则2.3 动态长度字符串规则 3.结构体序列化4. 带有标识符和可选成员的结构化数据类型5. 数组5.1 固定长度数组5.2 动态长度数组5.3 Enumeration&#xff08;枚举&#xff09;5.4 Bitfield…

心力衰竭相关临床记录数据分析开发技术概述

心力衰竭相关临床记录数据分析开发技术概述 心力衰竭临床记录数据分析的开发涉及多种技术&#xff0c;包括数据采集、处理、建模和可视化等方面。以下是从技术角度对整个开发流程的概述&#xff1a; 数据采集技术 1.1 数据来源 公开数据集&#xff1a;如 UCI 数据存储库、Clin…

三分钟在你的react项目中引入tailwindcss

前言&#xff1a;在vite搭建的react项目中引入并使用tailwindcss 一、初始化react项目 1、创建项目 在文件夹下右键打开终端并输入命令使用vite创建项目 pnpm create vite react-tailwind选择reactjavascript&#xff0c;并输入命令安装依赖并启动 2、安装tailwind pnpm …

端到端性能体验稳定性优化常见方案

引言 作为一个服务端程序员&#xff0c;在一个领域深耕几年之后&#xff0c;会发现学习的新东西越来越少&#xff0c;这时候怎么办呢&#xff1f;就需要一边深耕&#xff0c;一边增加对相关横向团队的了解和交流&#xff0c;会发现原来端到端链路还有非常广阔的空间等着你去成长…

【AndroidAPP】权限被拒绝:[android.permission.READ_EXTERNAL_STORAGE],USB设备访问权限系统报错

一、问题原因 1.安卓安全性变更 Android 12 的安全性变更&#xff0c;Google 引入了更严格的 PendingIntent 安全管理&#xff0c;强制要求开发者明确指定 PendingIntent 的可变性&#xff08;Mutable&#xff09;或不可变性&#xff08;Immutable&#xff09;。 但是&#xf…

C之(14)gcov覆盖率

C之(14)gcov覆盖率 Author: Once Day Date: 2024年12月30日 一位热衷于Linux学习和开发的菜鸟&#xff0c;试图谱写一场冒险之旅&#xff0c;也许终点只是一场白日梦… 漫漫长路&#xff0c;有人对你微笑过嘛… 全系列文章可参考专栏: C语言_Once-Day的博客-CSDN博客 前些天…

简易屏幕共享工具-基于WebSocket

前面写了两个简单的屏幕共享工具&#xff0c;不过那只是为了验证通过截屏的方式是否可行&#xff0c;因为通常手动截屏的频率很低&#xff0c;而对于视频来说它的帧率要求就很高了&#xff0c;至少要一秒30帧率左右。所以&#xff0c;经过实际的截屏工具验证&#xff0c;我了解…

UE5 Debug的一些心得

1、BUG粗略可分为两类&#xff1a; 一种是显性的&#xff0c;编译直接就通不过&#xff0c;必须马上解决。 第二种是隐性的&#xff0c;新功能完成后&#xff0c;编译成功顺利运行&#xff0c;洋洋自得&#xff0c;而问题隐藏在幕后&#xff0c;测试之后才逐渐发现有问题&…

Django多字段认证的实现

Django多字段认证 需求&#xff1a; django认证的检查用户是username&#xff0c;如果使用 username和 手机号验证登录。 重写&#xff1a; ModelBackend 类下的 authenticate 方法 # 在对应应用下创建 utils.py""" 修改Django认证类&#xff0c;为了实现 …