阿里云服务器+Frp+Proxifier工具进行内网穿透

阿里云服务器+Frp+Proxifier工具进行内网穿透

  • 为什么进行内网穿透?
  1. 什么叫内网穿透?

首先我们对内网和外网这两个名词做个解释:

内网:是内部建立的局域网络或办公网络,例如家庭内部网络,公司内部网络

外网简单来说就是随时随地可以访问的网络,例如互联网

内网穿透简单来说就是将内网外网通过隧道打通,让内网的数据外网可以获取。比如常用的办公室软件等,一般在办公室应用,通过拨号上网,没有公网IP,这样办公软件只有在办公室本地的局域网之内才能访问,用了内网穿透方案后,这些基于内网访问的办公室软件就可以在外网家里访问了。

  1. 哪些情况需要内网穿透?

 当我们想把内网的一些资源暴露在公网上时,可以使用内网穿透功能。比如公司的内网服务器,部署了平时需要开发的项目,但是回到家中无法访问,就可以使用内网穿透,将公司内网的接口映射到一台公网的服务器上,用这台公网服务器做转发即可实现在家中也能外网访问。

(1)企业远程办公,远程访问OA系统,以及其他办公软件。

(2)开发人员远程调试,远程访问内网服务器,数据库等。

(3)文件远程共享

  • 如何进行内网穿透?

1、Frp工具介绍

frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议.

2、如何安装配置Frp?

  1. 准备工作:想要实现内网穿透功能首先我们需要准备:
  • 一台公网服务器(用作frp的服务端)这里我是用的是阿里云免费试用版本Linux服务器。
  • 一台需要做转发的内网服务器(用作frp的客户端)也就是我们经常要访问的那台内网服务器。
  • 自己的一个个人电脑,且个人电脑中已经安装了一些支持Linux系统远程(ssh)连接的工具例如(Xshell)。

frp的服务端

8.138.*.*(这是我的阿里云服务器公网IP)

具备公网IP

frp的客户端

192.162.130.111

公司内网IP

个人电脑

192.168.1.2

家庭WiFi网络

  1. frp的服务端安装配置

下载frp安装包:Releases · fatedier/frp · GitHub

        我们选择对应操作系统的安装包,我这里云服务器系统为CentOS7,可以输入命令查看服务器架构版本,所以我选择下载对应的Linux版本安装包。

         x86_64 直接下载 frp_0.51.2_linux_amd64.tar.gz 后缀为 amd64 这个版本即可。可以手动下载到本地,然后通过Xshell传到服务器,也可以直接在外网服务器上下载。

        在服务器上/user/local目录下创建frp目录

        cd /usr/local/frp

        进入到创建的frp目录直接执行一下在线下载命令

      wget https://github.com/fatedier/frp/releases/download/v0.51.3/frp_0.51.3_linux_amd64.tar.gz

等待下载完成。

下载完成后在解压到当前目录就行,输入命令:

tar -zxvf frp_0.51.3_linux_amd64.tar.gz

解压完成后cd进入目录:cd frp_0.42.0_linux_amd64

查看当前目录下的文件,其中作为服务端,我们只需要关注 frps 和 frps.ini 文件。我这里已经把frpc 和 frpc.ini 文件删了。

进行服务端frp的配置:vim frps.ini

默认只有一个端口设置。一般没有特殊需求无需修改。也可以增加一些简单配置

[common]

bind_port = 7000

dashboard_port = 7501

dashboard_user = root

dashboard_pwd = root@123

token = frp@123

bind_port

客户端和服务端连接的端口,在配置客户端的时候要用到。

dashboard_port

服务端可视化界面的端口,若使用7501端口,在配置完成服务启动后可以通过浏览器访问 x.x.x.x:7501。

dashboard_user

打开服务端可视化界面的用户名,可自行设置。

dashboard_pwd

打开服务端可视化界面的密码,可自行设置。

token

用于客户端和服务端连接的口令,可以自行设置,不用和我保持一样,但需要记住,配置客户端的时候会用到。

配置完成后进行frps启动:

前台启动,在当前目录执行:./frps -c frps.ini,退出后程序也随即退出。

后台启动,在当前目录执行:nohup ./frps -c ./frps.ini &

启动后通过以下命令查看是否启动成功:ps aux | grep frp

但是大多数情况下我们希望服务端程序能够开机自启动不需要每次手动启动。所以需要将程序启动加入到系统服务中。具体如何设置这里不再赘述直接将启动脚本贴上;

[Unit]

Description=FRP

After=frps.service

[Service]

Type=simple

ExecStart=/usr/local/frp/frp_0.51.3_linux_amd64/frps -c /usr/local/frp/frp_0.51.3_linux_amd64/frps.ini

KillSignal=SIGQUIT

TimeoutStopSec=5

KillMode=process

PrivateTmp=true

StandardOutput=syslog

StandardError=inherit

[Install]

WantedBy=multi-user.target

  1. frp的客户端安装配置

前期的安装包下载解压与服务器端相同,首先删掉frps、frps.ini两个文件,然后再进行配置,vi ./frpc.ini

[common]

server_addr = 8.138.*.*   #公网服务器ip

server_port = 7000       #与服务端bind_port一致

#公网通过ssh访问内部服务器

[ssh]

type = tcp                 #连接协议

local_ip = 192.162.130.111  #内网服务器ip

local_port = 22             #ssh默认端口号

remote_port = 6000         #自定义的访问内部ssh端口号

配置完成后进行frpc启动:

前台启动,在当前目录执行:./frpc -c frpc.ini,退出后程序也随即退出。

后台启动,在当前目录执行:nohup ./frpc -c ./frpc.ini &

启动后通过以下命令查看是否启动成功:ps aux | grep frp

也需要增加系统服务实现开机自启动。

注意!!!:由于我们使用的是阿里云的服务器,服务器默认开启的端口可能不包含我们使用的7000,6000,6001端口,因此我们需要在阿里云服务器上进行手动开放对应端口。

进入到阿里云服务控制台,选择网络安全里的安全组,点击管理规则进入到以下界面。

服务器只对流量进来的端口有限制,所以我们只需要在入的方向增加我们对应想要开启的端口即可。

以上都结束以后便可以在私人笔记本上通过Xshell连接到公网服务器上,然后通过公网服务器便可以跳转到内网服务器上了。

这里也需要注意;ssh 跳转时要使用外网服务器的IP,同时指定使用remote_port = 6000 端口。

输入内网服务器的密码,便可以远程访问了。

  • 怎么实现本地工具通过穿透直连内网?

到这一步,我们只是实现了远程ssh 访问。更多情况下我们希望可以直接将私人笔记本中访问流量转发请求到内网服务器上。

这时候我们就需要使用另外一个工具了Proxifier。

Proxifier 是一款功能非常强大的socks5客户端,可以让不支持通过代理服务器工作的网络程序能通过HTTPS或SOCKS代理或代理链。支持Xp,Vista,Win7,支持socks4,socks5,http,https代理协议,支持TCP,UDP协议,可以指定端口,指定IP,指定程序等运行模式,兼容性非常好。

Proxifier 的下载安装我这里就不再赘述,自行网上百度。

  1. 在使用Proxifier前需要在内网服务器上开启socks5端口6001 。这个端口我们在前面云服务上也已经提前开启了。

[plugin_socks5] 

type = tcp

local_ip = 192.168.*.* 

local_port = 6001 

remote_port = 6001 

plugin = socks5

plugin_user = abc

plugin_passwd = abc

  1. Proxifier上配置代理服务

增加代理服务器IP为阿里云公网IP,端口为在内网服务器frp客户端上配置的6001,用户名密码在配置中已经配置了,直接填上就行。

配置好代理服务以后需要配置代理规则,在Action选项里选择我们配置好的代理服务器。根据自己需要配置代理转发规则,不清楚的自己百度。

以上都完成以后,我们便可以直接在自己连接在家庭WiFi上的笔记本上直连内网目标机器了。例如访问内网服务器上的数据库,我们可以在笔记本上数据库连接软件上直接输入目标机器的内网IP端口就可以了。也可以在Xshell软件上直接输入目标IP,便可直接连接,方便快捷,不需要再先连接到阿里云服务器之后再通过ssh root@192.168.130.111 连接了。

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

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

相关文章

【力扣485】最大连续 1 的个数

👑专栏内容:力扣刷题⛪个人主页:子夜的星的主页💕座右铭:前路未远,步履不停 目录 一、题目描述二、题目分析1、最值模拟2、双指针 一、题目描述 题目链接:最大连续 1 的个数 给定一个二进制数…

Linux---su:鉴定故障

问题来源:在使用xshell操作Linux命令时,切换root权限报错 可能是未设置密码:输入 sudo password 重新设置一下密码即可 本人犯的错: 因为在Linux下输入密码是没有显示的,然后我的键盘num键没开!!!(也就是输入数字开关的键盘),导致我认为我的密码输进去了,给我整懵逼了&#x…

树结构数据在table中回显 treeselect disabled

<el-table-column label"产业认定" align"center" prop"industryIdentification"><template slot-scope"scope"><treeselectv-if"scope.row.industryIdentification"v-model"scope.row.industryIdentif…

ESP8266使用记录(一)

1、23.7.17从TB买了个8266 2、下载安装Arduino 3、卖家的配套资料&#xff0c;直接覆盖相关文件 4、文件-首选项-设置-编辑器语言-中文(简体) 其他开发板管理器地址 http://arduino.esp8266.com/stable/package_esp8266com_index.json 5、工具-端口-COM6 工具-开发板-esp8266…

C# EPPlus 访问 Excel表格

EPPlus是什么&#xff1f; 一个访问Excel表格的库&#xff0c;调用相当简单 怎么访问&#xff1f; 表格可以简单理解成一个二维数组我希望访问表格像二维数组一样简单我希望消耗不算太大 封装一个类 下载DLL以及这个文件&#xff1a;《下载传送门->》 注意需要导入EP…

小程序引入vant-Weapp保姆级教程及安装过程的问题解决

小知识&#xff0c;大挑战&#xff01;本文正在参与“程序员必备小知识”创作活动。 本文同时参与 「掘力星计划」&#xff0c;赢取创作大礼包&#xff0c;挑战创作激励金 当你想在小程序里引入vant时&#xff0c;第一步&#xff1a;打开官方文档&#xff0c;第二步&#xff…

如何把利用paddlepaddle导出的json文件转化为yolo或者voc文件

目录 1. 修改源码&#xff0c;让模型能够生成出对于单个图像的标注。 2. 把数据转为yolo格式 3.把yolo格式转化为xml格式 这两天想偷懒&#xff0c;想让模型先在数据上标一遍&#xff0c;然后我再做修正&#xff0c;主要是图个省事。由于我们主要是利用paddle,模型也是基于p…

What is the difference between Parseval‘s theorem and Plancherel Theorem

Plancherel定理是调和分析里的一个结论, 最早由Michel Plancherel证明, 其可表述为 对同时属于 L 1 ( R ) L^{1}(R) L1(R) 和 L 2 ( R ) L^{2}(R) L2(R) 的函数f来说,其傅立叶变换F属于 L 2 ( R ) L^{2}(R) L2(R) ,且傅立叶变换是等距变换.数学表述为&#xff1a; ∥ f ^ ∥ 2…

如何让一个uniform variable在多级shader中都起作用(类似C语言的全局变量)?

GLSL编程中通常设计多个shader&#xff0c;如vertex shader, fragment shader等等。在最近的某个项目中&#xff0c;我需要定义一个变量&#xff0c;该变量类似C语言中的全局变量&#xff0c;要同时在两个shader中都起作用。c - OpenGL Uniform Across Multiple Shaders - Stac…

JavaScript系列从入门到精通系列第六篇:JavaScrip当中的运算符,主要涉及JavaScript当中的六大数据类型的四则运算

文章目录 前言 一&#xff1a;算数运算符 1&#xff1a;Number类型的四则运算 2&#xff1a;其他数据类型的四则运算 (一)&#xff1a;加法运算 (二)&#xff1a;减法运算 3&#xff1a;乘法运算 4&#xff1a;除法运算 5&#xff1a;取模运算 前言 运算符也叫操作符。…

HarmonyOS之 开发环境搭建

一 鸿蒙简介&#xff1a; 1.1 HarmonyOS是华为自研的一款分布式操作系统&#xff0c;兼容Android&#xff0c;但又区别Android&#xff0c;不仅仅定位于手机系统。更侧重于万物物联和智能终端&#xff0c;目前已更新到4.0版本。 1.2 HarmonyOS软件编程语言是ArkTS&#xff0c…

基于springboot+vue的高校专业实习管理系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

如何在 Excel 中计算日期之间的天数

计算两个日期之间的天数是 Excel中的常见操作。无论您是规划项目时间表、跟踪时间还是分析一段时间内的趋势&#xff0c;了解如何在 Excel 中查找日期之间的天数都可以提供强大的日期计算功能。 幸运的是&#xff0c;Excel 提供了多种简单的方法来获取两个日期之间的天数。继续…

ARM Cortex-M内核中系统堆栈

文章目录 有无OS的栈结构区别&#xff1a;裸机的任务栈结构带FreeRTOS操作系统的任务栈 ARM的寄存器有哪些特殊寄存器有哪些 关于FreeRTOS中的SP寄存器栈操作【压栈与弹栈的操作】一般函数嵌套调用时sp指针的变化Cortex-M内核的MSP与PSP作用 有无OS的栈结构区别&#xff1a; 裸…

微信店铺小程序开通的效果是什么

微信已经成为众多商家经营的主要场景&#xff0c;随着互联网电商深入&#xff0c;对经营者来说每天线上分享产品/服务/门店信息等已经成为日常&#xff0c;但为了打造品牌及解决传统线下经营困境和线上混乱的信息集、客户便捷触达提升商家效率等难题。 各行业/企业商家都在积极…

基于SpringBoot的社区医院信息平台

目录 前言 一、技术栈 二、系统功能介绍 患者信息管理 护士信息管理 医生信息管理 药品管理员管理 患者添加 安排检查 完成注射列表 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系…

Leetcode刷题笔记--Hot51-60

1--环形链表II 主要思路&#xff1a; 快慢指针&#xff0c;快指针每次走两步&#xff0c;慢指针每次走一步&#xff1b; 第一次相遇时&#xff0c;假设慢指针共走了 f 步&#xff0c;则快指针走了 2f 步&#xff1b; 假设起点到环入口结点的长度为 a&#xff08;不包括入口结点…

基于springboot+vue的华山旅游网(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

[管理与领导-102]:经营与管理的关系:攻守关系;武将文官关系;开疆拓土与守护城池的关系;战斗与练兵的关系;水涨船高,水落船低的关系。

目录 前言&#xff1a; 一、手中拿着锤子,一切看起来都像钉子 1.1 企业经营中过渡强调管理的表现&#xff1f; 1.2 企业经营中过渡强调管理的误区&#xff08;背后深层次的原因&#xff09; 二、无知者的无畏&#xff0c;独断者的自high 2.1 企业经营中过度忽律管理的表…

在线商城项目EShop【ListView、adapter】

要求如下&#xff1a; 1、创建在线商城项目EShop&#xff1b; 2、修改布局文件activity_main.xml&#xff0c;使用LineaLayout和ListView创建商品列表UI&#xff1b; 3、创建列表项布局list_item.xml&#xff0c;设计UI用于显示商品图标、名称和价格信息&#xff1b; 4、创…