基于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 opkg错误的问题解决办法之一

    解决方法 echo nameserver 114 114 114 114 gt tmp resolv conf rm f var lock opkg lock opkg update
  • openwrt上nginx启动报错nginx: [emerg] getpwnam("www") failed

    检查nginx的配置文件 etc nginx nginx conf 里面配置里确实有这一项 user nobody nogroup user www www worker processes 2 系统的用户又没有www这个用户 这就尴尬了
  • 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编译python3时出现错误:No rule to make target `package//host/compile'

    步骤 1 在package目录下添加python3 包含Makefile files和相关patches文件 2 执行make package python3 compile V s make 1 No rule to make targe
  • 启明智显分享

    提示 作为Espressif 乐鑫科技 大中华区合作伙伴及sigmastar 厦门星宸 VAD合作伙伴 启明智显不仅用心整理了你在开发过程中可能会遇到的问题以及快速上手的简明教程供开发小伙伴参考 同时也用心整理了乐鑫及星宸科技的新产品 新方
  • luci 开发中一些小总结

    一 只保存不应用 当修改或者增加一项配置后 如果不是点击 保存 应用 按钮 而是点击 保存 按钮 这些配置不会保存各个到配置文件中 而是暂时保存到如下临时目录下 tmp uci 例如 当修改了网络配置 没有应用时 会生成一个 tmp uci
  • 基于WR703N路由器的WIFI机器人

    可以说 wifi机器人是一个比较成熟作品了 特别是使用wr703制作wifi机器人的有很多例子 因为1 其体积小 2 实时获取视频相比STM32容易 STM32F1系列性能不够 使用OV系列的摄像头较为吃力 3 可以使用路由器连接外网 使用
  • OpenWRT编译错误:Package missing dependencies for the following libraries

    发现问题 今天在 OpenWRT 上增加了个 package 编译的时候 报出如下错误 Package test modules is missing dependencies for the following libraries lib
  • 【openwrt】【编译问题】openwrt编译问题

    undefined reference to pthread once 在某次openwrt编译过程中出现了undefined reference to pthread once错误 具体报错信息如下 openwrt staging dir
  • openwrt路由器-timeout while waiting for PADS.

    最近使用openwrt路由器进行PPPoE拨号的时候 经常出现 远程服务器无响应 的错误 log打印日志如下 pppoe Timeout waiting for PADS packets Unable to complete PPPoE D
  • PHP启动warning:PHP Startup: Unable to load dynamic library 'curl.so'

    高通ar9531上面 openwrt1806这个版本 通过opkg安装了官方的php及其扩展 但新的板子php启动的时候报了warning 没有太仔细看 但是后面运行cgi程序时 发现了问题 回头看warning日志 PHP Warning
  • OpenWrt系统无法进入Luci解决办法之一

    当在OpenWrt系统重启后 打开Luci后台时有时可能会遇到以下错误报告 usr lib lua luci dispatcher lua 577 bad argument 1 to pairs table expected got nil
  • OpenWrt后台管理启用https-OpenSSL

    OpenWrt 默认使用http 访问管理后台 这样不安全 推荐修改为 https 访问 加密数据传输 本文介绍配置步骤 1 卸载旧的ssl软件包 root OpenWrt opkg remove luci ssl px5g px5g mb
  • OpenWRT添加模块(一)Makefile和Config.in

    第一次接触到openwrt 真是被毁三观啊 不要说makefile 连源代码在哪里都找不到 知道嵌入式系统水深 没想到迈出第一步就没过了脖子 好在旁边有人指点 直接在芯片厂商提供的既有代码上做二次开发 项目进展倒也完全满足了前期计划的目标
  • 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 库 但
  • openwrt设置定时重启(天/周/月)

    1 进入openwrt管理页面 找到 系统 计划任务 编辑命令行 点击 保存 2 系统 启动项 中找到cron 确认状态为 开启 点击 重启 使计划生效 或重启系统 说明 一定要设置延时 防止无限重启 每天凌晨1点45分 延时70秒后自动重
  • 【LEDE】树莓派上玩LEDE终极指南-75-获取CPU温度

    先来说说获取CPU温度的方法 1 通过hwmon获取 2 通过thermal获取 而树莓派就比较蛋疼了 没有额外的传感器 所以sensor detect这些东西完全不起作用 唯独CPU封装内的VideoCore具有温度传感功能 而想要与Vi
  • 第一次 openwrt源码下载编译

    openwrt 学习记录 第一次 openwrt源码下载编译 MT7620开发板 安装虚拟机VMware 安装Ubnutu 先进入root账户 topeet ubuntu su 输入密码 1 搭建编译环境 参考 https blog csd
  • 获取openwrt wan口ip方法

    2020年7月30日14点39分 更新 之前写的方法 获取的是wan口的ip和网关 使用过程发现 以有线上网模式为例 获取wan口网关时 若网关中出现连续的1 1 会获取失败 表明该正则表达式是有问题的 即下面这个grep oE 之后的内容
  • OpenWrt 学习记录

    OpenWrt 学习记录 ssh setting CodePath review Makefile CURDIR MAKEFILE LIST ssh setting keygen ssh keygen t rsa C hugh win10W

随机推荐

  • 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