基于openwrt平台搭建局域网技术验证之二

2023-11-16

1、测试目的

验证l2tp服务器模式的可行性。

提供vpn-l2tp模式的服务器功能,供客户端连接访问内网

2、参考资料

参考连接1:https://www.jianshu.com/p/ccf8f2cca70e

参考连接2:https://openwrt.org/docs/guide-user/services/vpn/ipsec/openswan/openswanxl2tpvpn

3、测试过程

测试过程需要用到的资源:

    • 路由器一个
    • win7系统电脑俩台
    • 交换机一个
    • 网线三根

测试组网如下图所示:

组网说明:

R0公司路由器

S1 交换机

R1 路由器1

PC1 个人电脑1

PC2 个人电脑2

 

  • ①(R0) lan口接(S1),保证(S1)接出去的设备可以访问互联网。
  • ②(S1)分别接(R1)wan口和(PC1),确保俩个设备可以正常上网。
  • ③(PC1)接(s1)后可以获取到以太网的ip,此处是192.168.21.103(郭乙标的ip测试时请修改成自己的ip,静态ip)
  • ④(R1)wan口接(S1) 后可以获取到以太网的ip,wan口ip是192.168.21.46(最好设置成静态ip,动态ip的话需要注意在客户端连接的时候检查ip是否改变)
  • ⑤(R1)lan口网关地址是192.168.1.1
  • ⑥(PC2)通过无线连接到(R1)上,分配得到的ip是192.168.1.244。该ip是动态获取的,后续测试需要注意此ip地址是否改变。因为我们要访问这个(PC2),所以必须要知道其ip是多少。
  • ⑦在(PC1)发起pptp连接请求后,如果连接成功的话会获取的pptp服务器分配的ip,

此时是192.168.0.20,此ip测试时可以不用关心。对于我们来说不用care这个ip,内核会自己对这个ip做处理。

pptp服务器的组网是一样的方式,唯一不同的是R1中在配置的时候开启的是l2tp的服务。PC1在连接的时候是采用l2tp的方式进行连接的。

3.1 、搭建环境

硬件环境

CPU:MTK7628n

DDR:128M

Flash:16M

软件环境

Openwrt:14.07

Linux:3.10.14

3.2、测试步骤

  • 编译,在openwrt源码目录下make menuconfig,配置l2tp服务器需要的包。
ipsec-tools,

iptables-mod-ipsec,

kmod-crc-ccitt,

kmod-crc16,

kmod-crypto-aes,

kmod-crypto-arc4,

kmod-crypto-authenc,

kmod-crypto-core,

kmod-crypto-des,

kmod-crypto-hmac,

kmod-crypto-md5,

kmod-crypto-sha1,

kmod-ipsec,

kmod-ipsec4,

kmod-ppp,

openswan,

ppp,

xl2tpd,

这些包需要在可视化界面配置上,然后执行make V=s,编译出原始固件。

二、  将编译出的

bin/ramips/openwrt-ramips-mt7628-mt7628-squashfs-sysupgrade.bin烧写到路由器中。并启动。

三、  修改/etc/xl2tpd/xl2tpd.conf文件:

[global]
ipsec saref = yes
saref refinfo = 30

;debug avp = yes
;debug network = yes
;debug state = yes
;debug tunnel = yes

[lns default]
ip range = 192.168.100.100 - 192.168.100.200
local ip = 192.168.100.99
refuse pap = yes
require authentication = yes
;ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes

四、  修改/etc/ppp/options.xl2tpd文件:

require-mschap-v2
ms-dns 192.168.100.99
auth
mtu 1200
mru 1000
crtscts
hide-password
modem
name l2tpd
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4

五、  修改/etc/ppp/chap.secrets文件:

#USERNAME  PROVIDER  PASSWORD  IPADDRESS(客户端登录时的用户名,服务器名,*代表任何服务器都可以,客户端登录时的密码,客户端登录时的ip,*代表任何ip都可以)
caoft1   *       123456  *				
caoft2   *       12345678        *

六、   修改/etc/firewall.user文件:

iptables -A forwarding_rule -i ppp+ -j ACCEPT ## luci-app-pptpd

iptables -A forwarding_rule -o ppp+ -j ACCEPT ## luci-app-pptpd

iptables -A output_rule -o ppp+ -j ACCEPT ## luci-app-pptpd

iptables -A input_rule -i ppp+ -j ACCEPT ## luci-app-pptpd
  • 七、重启路由,l2tp服务器已经配置好
  • 八、(PC2)关闭Ipsec加密服务,由于openswan与我们的linux版本不兼容,导致Ipsec加密工具openswan编译不过,此处为了验证功能,先将加密去掉。关闭过程如下:

运行regedit.exe,找到如下路径:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters,

在Parameters目录上右键选择新建,创建ProhibitIpSec注册表项,选择DWORD类型并将其设置为 1 的值

 

  • 九、配置客户端(PC2)过程

其中①-④按照图中步骤选择即可。

  • ⑤ Internet地址是vpn服务器公网ip地址,我们没有公网ip,这里使用的是路由器的wan口进行连接。即组网环境中的192.168.21.46 目标名称可以随便取,

回显示在你的网络环境中。

  • ⑥输入服务器为你分配的用户名和密码,即步骤五配置文件中的内容
  • ⑦点连接即可。

 

十、      (PC1)通过无线连接(R1),获取到的ip是192.168.1.244

 

十一、    从(PC2)访问(PC1)(为了排除防火墙干扰,R1,PC1,PC2的防火墙全部是关闭状态)

①ping访问:在(PC2)运行里输入cmd,进入命令行模式,ping 192.168.1.244

②http访问:需要在(PC1)安装iis,百度搜索下载安装即可,在(PC2)浏览器中输入192.168.1.244。

③远程登录:需要在(PC1)确认远程登录已开启,在(PC2)运行里输入mstsc -v 192.168.1.244

远程登录开启连接:https://jingyan.baidu.com/article/63f23628177e6d0209ab3d60.html

4、测试结果

  • PC2能够ping 通192.168.1.244,即PC1的地址,没有数据丢失会连接超时。
  • PC2能够打开192.168.1.244的网页,网页内容如下:
  • PC2可以远程登录到PC1上,并成功控制PC1的电脑。

 

 

 

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于openwrt平台搭建局域网技术验证之二 的相关文章

  • OpenWrt一些小问题的解决方法

    OpenWrt中文文档并不完善 国内论坛也不太照顾新人 有时遇到问题无从下手 这里整理一些常见错误提示和解决方法 我也是新手整理的不全有问题可以在评论里提出 satisfy dependencies for Cannot satisfy t
  • 解决GO语言编译程序在openwrt(mipsle架构)上运行提示Illegal instruction问题

    RT 最近在研究openwrt mipsle架构 上运行go语言编译出来的程序 一运行就报 Illegal instruction 这样的错误 百度和Google搜索了一遍 得出两种解决方案 PS 更新一遍 当时写这个文档的时候没有发现Go
  • ubuntu18.04编译Openwrt出现的问题解决

    ubuntu18 04编译Openwrt出现的问题解决 问题1 Build dependency Please install Git git core gt 1 6 5 问题2 gdate c 2497 7 error format no
  • openwrt开启dnsmasq-full替换默认dnsmasq

    因为要用到dnsmasq的ipset功能 所以需要安装dnsmasq full 方法如下 1 进入openwrt目录 配置 make meconfig 在base system里面 2 取消原来的dnsmasq 选中dnsmasq full
  • (N1盒子) Openwrt 下 docker 容器访问互联网故障排除

    环境 硬件 N1盒子 Openwrt版本 openwrt flippy 60 o 情况描述 先是跑了个运行php的docker容器 日志里报错信息为 cURL error 7 Failed to connect to 域名 port 端口号
  • 启明智显分享

    提示 作为Espressif 乐鑫科技 大中华区合作伙伴及sigmastar 厦门星宸 VAD合作伙伴 启明智显不仅用心整理了你在开发过程中可能会遇到的问题以及快速上手的简明教程供开发小伙伴参考 同时也用心整理了乐鑫及星宸科技的新产品 新方
  • 取消GL.iNet路由器视频的密码

    每次路由器访问192 168 8 1 8083 action stream时总是无法访问 但是先进入192 168 8 1登录以后再去刷新视频就可以出来 即使取消外网登录验证也还是没效果 最后发现广大网友的意见是重新刷固件 先去GL iNe
  • OpenWRT路由器中监控网络服务并重启的脚本

    转载地址 http jamesqi com E5 8D 9A E5 AE A2 OpenWRT E8 B7 AF E7 94 B1 E5 99 A8 E4 B8 AD E7 9B 91 E6 8E A7 E7 BD 91 E7 BB 9C
  • UCI常用说明

    UCI常用函数说明 结构体 API函数 参考文章 安装完成后在 加粗样式 usr local include 目录下存放UCI h文件可以进行参考 结构体 1 struct uci package 包结构体 它对应一个配置文件内容 stru
  • 从零开始学习OpenWrt完美教程

    Cisco Linksys在2003年发布了WRT54G这款无线路由器 同年有人发现它的OS是基于Linux的 然而Linux是基于GPL许可证发布的 按照该许可证Cisco应该把WRT54G 的OS的源代码公开 2003年3月 Cisco
  • Openwrt GCC 7.5编译sanitizer_internal_defs.h错误

    GCC 7 5 BINUTILS 2 31 1 报错信息 sanitizer internal defs h 72 error size of array assertion failed is negative 解决方法 修改下列文件 删
  • 拔电源磁盘变成只读Read-only file system

    拔电源磁盘变成只读Read only file system 问题 查询 解决 问题 搭建openwrt的过程中 由于机器没有关机键 而且没有进行后台命令关机 直接拔电源之后 重启 任何操作都提示只读状态 那么这个时候什么都操作不了 无奈只
  • openwrt下使用SDK编译ipk包遇到Package hiOpenwrt is missing dependencies for the following libraries: libc.so.

    openwrt下使用SDK编译ipk包遇到Package hiOpenwrt is missing dependencies for the following libraries libc so 6 问题 缺少 libc so 6 库 但
  • 0-OpenWrt前菜

    前言 接触 op 已达四年 今年开始梳理整体所学 具体还参考了佐大的视频 对 op 缺乏系统知识的可以尝试 总体而言官方文档和源码是最好的教程 文章目录 OpenWrt Study uboot下升级固件 进入uboot 安装串口工具 安装t
  • 5-Openwrt package Makefile

    Openwrt package Makefile 在 Openwrt main Makefile 章节里面有说道主Makefile会通过include package Makefile调用package下的Makefile package下
  • UCI提供给shell和lua使用的配置接口

    转自 http m blog csdn net article details id 47989493 1 uci提供给shell使用的配置借口有两套 1 config get用来读取一个config值 命令格式如下 config getv
  • 获取openwrt wan口ip方法

    2020年7月30日14点39分 更新 之前写的方法 获取的是wan口的ip和网关 使用过程发现 以有线上网模式为例 获取wan口网关时 若网关中出现连续的1 1 会获取失败 表明该正则表达式是有问题的 即下面这个grep oE 之后的内容
  • OpenWRT git clone fatal:无法找到“http”的远程帮助程序

    我正在尝试将 LINC Switch 安装到 OpenWRT 并遇到以下问题 git clone https github com FlowForwarding LINC Switch git 并得到一个错误 git fatal Unabl
  • 如何知道我的二进制可执行文件的内存占用量

    我想知道是否有办法知道用 C 语言编码的二进制可执行文件的内存占用量 有关二进制可执行文件的信息 使用OpenWrt分支 Attitude Adjustment 的工具链编译 架构为x86 在 Linux Unix 系统上 您可以使用siz
  • 安装“opkg”?

    我正在尝试将软件包安装到我的 OpenWrt SDK 中 为此 您必须通过键入以下内容来使用 OPKG 包管理器 opkg update opkg install

随机推荐

  • bitmap 位图 头结构

    转自 http www cnblogs com lzlsky archive 2012 08 16 2641698 html 位图BITMAPINFOHEADER 与BITMAPFILEHEADER 先来看BITMAPINFOHEADER
  • 使用QGIS软件对面数据顶点编辑实现数据的微改动

    在平时的项目中 会出现网上下载的数据与实际不符 有一些小小的偏差 这时候需要对一些区域数据进行微调 这就可以利用QGIS的顶点工具进行操作 目录 1 第一步 数据加载 2 第二步 图层编辑 3 第三步 顶点工具 4 第四步 具体操作 1 第
  • js中的分割截取方法

    在我们平时写项目以及做算法题时 经常会遇到截取字符串 截取数组 然后我发现每次用的方法都不一样 但是又长得很像 很容易搞不清楚 所以这篇博客就浅浅地来说一说这个问题 我们常用的分割方法主要有split splice slice substr
  • 【蒸汽冷凝器型号和PI控制】具有PID控制的蒸汽冷凝器的动力学模型(Matlab&Simulink)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码 Simulink及文章 1 概述 摘要 建立了蒸汽冷凝器
  • 【Oracle】使用DataGrip连接Oracle数据库

    前言 因为PLSQL Developer试用期过期了 于是使用DataGrip连接Oracle进行学习使用 连接 1 创建连接 2 配置连接 2 1 Name 随便改 改一个合适的名字即可 2 2 Host Port SID Driver
  • C++ - 使用sort函数实现自定义排序

    1 背景 给你一些学生的资料数据 单个学生的资料数据包括如下内容 class student public int m age int m sex string m name public student int age int sex s
  • 算法题5

    题目 给定一个单词 你需要判断单词的大写使用是否正确 我们定义 在以下情况时 单词的大写用法是正确的 全部字母都是大写 比如 USA 单词中所有字母都不是大写 比如 leetcode 如果单词不只含有一个字母 只有首字母大写 比如 Goog
  • 最高成绩的输出(结构体)

    题目描述 从键盘输入若干个学生的信息 每个学生信息包括学号 姓名 3门课的成绩 计算每个学生的总分 输出总分最高的学生的信息 输入 首先输入一个整数n 1 lt n lt 100 表示学生人数 然后输入n行 每行包含一个学生的信息 学号 1
  • C++基础:

    什么是多态 哑巴了吧 你知道你倒是说呀 所谓多态也就是一个接口的多种实现方式 多态包括 虚函数 纯虚函数 覆盖 模板 重载与多态没有关系 虚函数 虚函数是带有virtual关键字的函数 定义一个函数为虚函数 定义他为虚函数是为了允许用基类的
  • deeplearning.ai课程作业:Course 1 Week 2

    deeplearning ai课程作业 Course 1 Week 2 原始作业在GitHub上下载 本文仅作为本人学习过程的记录 含答案 不喜勿看 全部自己跑过 保证可行 Part 1 Python Basics with Numpy o
  • input的复选框

  • redis 查看所有的key方式介绍

    本文主要介绍了redis 查看所有的key方式 具有很好的参考价值 希望对大家有所帮助 一起跟随微点阅读小编过来看看吧 可以使用KEYS 命令 1 KEYS pattern 例如 列出所有的key 1 redis gt keys 列出匹配的
  • SpringBoot漏洞大全

    原文出处 SpringBoot漏洞 qq com 前段时间做渗透 发现了一个很眼熟的页面 长这个样子 页面log是 去世界最大的同性交友网github com搜了一下 发现了一个十分详细的文章 存在大量接口信息泄露 成功交差 我打的网站有h
  • 【Python】Windows 11下更改python默认的pip install包安装路径

    Windows 11下更改python默认的pip install包安装路径 看到CSDN和知乎上有很多文章写如何修改pip包的默认安装路径 看了一遍基本都不管用 经过一定时间的摸爬滚打 终于找到了如何修改pip install默认安装路径
  • pychram 安装大三方库总是提示pip版本不匹配

    1 查看pip版本号 terminal终端执行pip list查看当前pip版本号 file settings project pychramproject python interpreter目录下查看搜索pip最新版本号 2 在文件夹地
  • This file isn‘t in your working directory. Teammates you share this request with won‘t be able to us

    postman上传图片文件问题 解决方案 进入设置 file gt settings 上传的文件必须在设置的工作区中 不然会报错 选择body file
  • python入门--Vscode创建python项目

    在VS Code中创建Python项目可以通过以下步骤实现 1 打开VS Code 2 点击左侧的 资源管理器 图标 3 选择一个文件夹 右键点击新建文件夹 命名为你的项目名称 4 打开终端 使用以下命令创建虚拟环境 python m ve
  • 杂项知识

    挂载 img 文件 mount t proc o loop initrd 2 6 23 1 42 fc8 img mnt img mount t debugfs o loop initrd 2 6 23 1 42 fc8 img mnt i
  • CCF-CSP真题《202305-2 矩阵运算》思路+python,c++满分题解

    想查看其他题的真题及题解的同学可以前往查看 CCF CSP真题附题解大全 试题编号 202305 2 试题名称 矩阵运算 时间限制 5 0s 内存限制 512 0MB 问题描述 题目背景 Softmax Q KTd V 是 Transfor
  • 基于openwrt平台搭建局域网技术验证之二

    1 测试目的 验证l2tp服务器模式的可行性 提供vpn l2tp模式的服务器功能 供客户端连接访问内网 2 参考资料 参考连接1 https www jianshu com p ccf8f2cca70e 参考连接2 https openw