Lanproxy开箱即用的内网穿透工服务!!

news2024/11/15 1:46:06

Lanproxy快速上手配置服务器转发到内网!!

    • 本教程云服务器推荐使用的开发环境如下:
    • 服务器端配置
      • 配置端口
      • 登录Web界面
    • 内网客户端配置
      • 下载客户端
      • 配置客户端端口
    • 最终效果测试

本文主要记录了使用Lanproxy搭建内网穿透服务的过程,其中包括服务端和客户端的详细配置,并且基于宝塔面板的Nginx实现域名绑定、反向代理与SSL等配置

本地开发的项目,身在千里之外的朋友如何访问?
本地支付接口如何调试?
通过本教程,这些问题都将得到解决。
本教程将介绍如何搭建内网穿透服务(NAT穿透服务),将没有公网IP的主机映射至公网,实现任意地点访问内网的主机
如果没有公网IP的服务器可以参考 《natapp 本地内网穿透》 这种无需公网IP或者服务器支持的)

在这里插入图片描述

机器配置条件:

本教程云服务器推荐使用的开发环境如下:

服务器部署内容:
在这里插入图片描述
本地服务部署内容:
在这里插入图片描述

如果使用域名,域名必须备案。如果不使用域名,则可以使用IP地址:端口的形式,进行测试访问

转发流程:数据流是 (重要:这也就导致使用第三方的内网穿透服务,存在数据包经过对方服务器所引发的数据安全性问题。)

公网←→云服务器←→内网

服务器端配置

LanProxy GitHub 工具下载

/usr/local/docker 目录下,新建名为lanproxy的文件夹,然后进入该文件夹。如下图所示:
在这里插入图片描述

在lanproxy文件夹内,使用vi命令新建一个名为docker-compose.yml 的文件,写入如下信息并保存。

version: '3.1'
services:
  lanproxy-client:
    # 镜像地址 
    image: franklin5/lanproxy-server
    container_name: lanproxy-server
    environment:
     # 配置你的账号
     - LANPROXY_USERNAME=admin
     # 配置你的密码
     - LANPROXY_PASSWORD=admin
   volumes:
     # 用于保存创建的配置文件,避免重启服务后配置消失
     - ./config-data:/root/.lanproxy
    ports:
     - 9001:8090 # 左:服务器(宿主机)的IP,也是访问地址;右:容器地址
     - 4900:4900 # 左:服务器(宿主机)的IP;右:容器地址
     - 4993:4993 # 左:服务器(宿主机)的IP;右:容器地址
     - 9001-9100:9001-9100 # 这里添加100组端口映射,后续用来添加映射
    restart: always # 始终重启

解释下上面几个端口:

8090:用于服务端 web 界面,方便对多个客户端进行管理
9000-9100:用于配置多个客户端,进行端口映射

重启服务:

docker-compose up -d

启动成功后,在宝塔面板中查看状态,如果启动失败。管理这里进去可以查看容器日志:
在这里插入图片描述
服务端服务就开启成功了!!!!

配置端口

注意:上述端口:8090、4900、4993、9000-9100 都需要在防火墙中放开,否则无法访问!

登录Web界面

打开 web 应用,也就是公网服务器的 IP + 端口号,例:{ip}:8090。登陆账号和密码,在
docker-compose.yml 中有配置,默认都是 admin。

在这里插入图片描述

登录成功后,我们先添加一个客户端,注意这里的密钥,会在后面客户端配置时需要用到(类似于natapp authtoken

在这里插入图片描述

内网客户端配置

本地机子(你的笔记本、PC机、公司工位机)
需要装docker

下载客户端

方式一:

git clone https://github.com/frank-lam/lanproxy-client.git

方式二:

访问 https://file.nioee.com/d/2e81550ebdbd416c933f/ ,
下载名为 proxy-java-client-0.1.zip 的Java客户端压缩包,然后解压,如下图所示。

在这里插入图片描述
打开conf文件夹下的config.properties文件,按下图所示配置key和host

下载完成,修改对应配置文件

在 distribution/proxy-client-0.1/conf/config.properties 中进行修改.m默认只需要填入 client.key 和 server.host:

# 这里是在lanproxy后台配置的密钥
client.key=刚刚在拿到的客户端密钥

# 配置ssl信息,根据服务端的配置填写(enable = false 就不需要配置)
ssl.enable=false
ssl.jksPath=test.jks
ssl.keyStorePassword=123456

# 公网服务器ip,也支持域名
server.host=111.111.88.88

#proxy-server ssl默认端口4993,默认普通端口4900
#ssl.enable=true时这里填写ssl端口,ssl.enable=false时这里填写普通端口
server.port=9001

docker下重启客户端:

sh start.sh
查看客户端运行状态
sh status.sh
停止客户端
sh stop.sh

Windows系统下,双击运行 bin 文件夹下的startup.bat批处理命令,如下图所示。
在这里插入图片描述
这时回到服务器端看,客户端那个token已经更新为在线状态了:
在这里插入图片描述

配置客户端端口

回到客户端管理界面,在 配置管理这里,添加一个端口映射:

  1. 代理名称:随便填
  2. 公网端口:9000-9100 中任意一个,用于映射到内网服务
  3. 内网主机 IP:内网主机项目的访问IP。比如本机某项目的访问地址是localhost:8080,则填写 127.0.0.1:8080。找到内网主机的 IP,以及你要映射出来的服务的端口号

在这里插入图片描述

如上图的配置实例,最终实现的效果是公网访问 111.111.88.88:9001 可以访问内网主机的 127.0.0.1:9010 的项目。
至此,服务端配置完毕。

最终效果测试

在这里插入图片描述

内网访问:http://localhost:9010 访问正常
在这里插入图片描述
公网访问:111.111.88.88:9001
在这里插入图片描述

添加GZ获取更多用例!!_ 欢迎同学
在这里插入图片描述

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

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

相关文章

使用redis缓存文章浏览量

效果展示 好处 首先初始化所有浏览量 访问文章后增加的浏览量**不直接修改数据库,先存到redis然后访问也是获取redis的浏览量,做个定时任务,后续自定义时间同步数据库**,好像也就是一个集中处理罢了 CommandLineRunner实现项目…

鸿蒙系统学习指南

🐟作者简介:一名大三在校生,喜欢编程🪴 🐡🐙个人主页🥇:Aic山鱼 🐠WeChat:z7010cyy 🦈系列专栏:🏞️ 前端-JS基础专栏✨前…

8月2日SpringBoot学习笔记

今日内容: AOP 面向切面 代理模式 springmvc 运行原理 拦截器 springmvc异常处理机制 代理模式 为其他对象提供一种代理以控制对这个对象的访问。想在访问一个类时做一些控制是使用。 静态代理 优点:便于理解 缺点: 1.代码冗余&…

Linux 内核源码分析---I/O 体系结构与访问设备

I/O 体系结构 与外设的通信通常称之为输入输出,一般都缩写为I/O。 在实现外设的I/O时,内核必须处理3个可能出现的问题: (1)必须根据具体的设备类型和模型,使用各种方法对硬件寻址; &#xff08…

java面试题Spring部分(四)

一、什么事spring的三级缓存 典型回答 在Spring的BeanFactory体系中,BeanFactory是Spring IOC容器的基础接口,其DefaultSingletonBeanRegistry类实现了BeanFactory接口,并维护了三级缓存: public class DefaultSingletonBeanRe…

如何在OpenHarmony 4.1R上设置系统默认不锁屏(修改系统锁屏应用)

本文介绍如何修改系统锁屏应用,从而实现在OpenHarmony 4.1R上设置系统默认不锁屏。 环境配置 1.DevEco Studio 4.1 Release,下载链接地址 API10 Full SDK,安装教程 步骤 1.首先下载4.1r分支的系统锁屏应用applications_screenlock 2.修改系统锁屏应…

【Plotly-驯化】一文画出漂亮的流量漏斗图:plotly.funnel函数使用技巧

【Plotly-驯化】一文画出漂亮的流量漏斗图:plotly.funnel函数使用技巧 本次修炼方法请往下查看 🌈 欢迎莅临我的个人主页 👈这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合,智慧小天地! 🎇 免费获…

HTML+CSS練習---空隙產生記錄

1.第一層和第二層之間的間隙&#xff1a;以為導航欄超過高度朝下擠下來了 2.第2層兩個div中的空隙 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Document</title><style>font-face {f…

ATTCK实战系列-红队评估 (一)Vulnstack三层网络域渗透

目录 一、搭建环境 1.靶场下载地址&#xff1a; 2、网络拓扑 3、环境配置 Win7&#xff08;外网服务器 &#xff09; Win2008&#xff08;域控&#xff09; Win2003&#xff08;域成员&#xff09; 4、启动环境 二、信息收集 1、端口扫描 2、目录扫描 三、漏洞利用…

IM即时通讯客服聊天系统源码(某站售8千)

即时通讯客服聊天系统已经成为企业提供卓越客户服务的不可或缺的工具。为了帮助您快速搭建强大的客服聊天系统&#xff0c;提供了一款全面的源码模板&#xff0c;基于Java和Spring Boot微服务架构构建&#xff0c;支持多种功能模块&#xff0c;以及消息加密、红包、消息撤回等功…

基于JSP的学生综合考评管理系统

你好&#xff0c;我是专注于教育信息化的开发者&#xff0c;很高兴为您介绍本系统。 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;JSPJava 工具&#xff1a;Eclipse、MySQL数据库管理工具 系统展示 首页 管理员功能 教师功能 学生功能 摘要 本文…

笔记本怎么手动设置ip地址:一步步教你操作

在使用笔记本电脑连接网络时&#xff0c;有时候我们需要手动设置IP地址以满足特定的网络需求或解决网络问题。手动设置IP地址可以帮助我们更好地控制网络连接&#xff0c;确保设备在网络中的稳定性和安全性。然而&#xff0c;对于不熟悉网络设置的用户来说&#xff0c;手动设置…

EPLAN EDZ 文件太大导入很慢如何解决?

目前各个品牌都在提供 EPLAN EDZ部件库文件,但是一般都是一个总的EDZ文件,导入过程中,因为电脑配置和其他问题,导致导入过程中EPLAN会崩溃或者长时间不动。 我们分析下EDZ文件的构成,这是个压缩文件,换了个壳而已。用压缩软件把edz打开,这里不是解压,直接右键,用解压…

[CP_AUTOSAR]_系统服务_DEM模块(二)功能规范介绍

目录 1、DEM 功能规范描述1.1、Startup behavior1.2、Monitor re-initialization 在前面 《[CP_AUTOSAR]_系统服务_DEM模块&#xff08;一&#xff09;》文中&#xff0c;简要介绍了 DEM 模块的功能、与其它模块之间的功能交互&#xff0c;本文将接着介绍 DEM 模块的功能规范。…

Web前端:Vue开发环境搭建

一、搭建开发环境&#xff1a; 1.nodejs安装&#xff1a; 下载地址&#xff1a; https://nodejs.org/dist/v20.13.1/node-v20.13.1-x64.msi 查看版本号&#xff1a; node -v 2.安装nrm(用于指定国内镜像源&#xff0c;加速依赖包下载速度)&#xff1a; 安装nrm&#xff…

程序员的魔法石!

本文由 ChatMoney团队出品 AI自己写代码&#xff0c;这只是传说&#xff1f;还是摸鱼新指南&#xff1f; AI出现之前&#xff0c;从来都是老板或产品经理提需求&#xff0c;程序员熬夜加班吭哧吭哧写代码或者是从Github&#xff0c;Stackoverflow上controlc&#xff0c;control…

为面试准备的一些内容

开发中使用了什么技术&#xff1f; mvvm、compose、livedata、单例模式、工厂模式、弱引用、线程池、Handler。 对于项目一开始我们打算使用aosp原生的管控方式&#xff0c;如UsageStatManager获取每个app的使用时长&#xff0c;和使用PackageManager的setPackagesSuspended方…

【数据结构入门 】栈

目录 前言 一、栈的概念及结构 二、栈的实现 1. 栈的声明 2.初始化栈 3. 栈的销毁 4.判断是否为空栈 5.入栈&#xff08;只能插入栈顶元素&#xff09; 6. 出栈&#xff08;只能从栈顶删除&#xff09; 7.栈的大小 8.获取栈顶元素 总结 前言 在计算机科学中&#xf…

黑马Java零基础视频教程精华部分_10_面向对象进阶(2)

系列文章目录 文章目录 系列文章目录一、多态1、什么是多态&#xff1f;2、多态的表现形式3、多态的前提4、多态的好处5、多态调用成员的特点6、多态的优势和弊端7、引用数据类型的类型转换 二、包1、什么是包&#xff1f;2、包名的规则3、使用其他类的规则 三、final 最终的&a…

文件包含漏洞Tomato靶机渗透_详解

一、导入靶机 将下载好的靶机拖入到VMware中&#xff0c;填写靶机机名称(随便起一个)和路径 虚拟机设置里修改网络状态为NAT模式 二、信息收集 1、主机发现 用御剑扫描工具扫描虚拟机的NAT网段&#xff0c;发现靶机的IP是192.168.204.141 2、端口扫描 用御剑端口扫描扫描全…