终于弄懂内网穿透知识了的说说

今天跟大家分享下内网穿透的知识和使用方法,希望能让大家对这个知识点有所了解。

终于弄懂内网穿透知识了

内网穿透概念

百度百科是这么表述的:

内网穿透,也即 NAT 穿透,进行 NAT 穿透是为了使具有某一个特定源 IP 地址和源端口号的数据包不被 NAT 设备屏蔽而正确路由到内网主机。

简单的表述就是:

让外网能够访问本地的服务。

通俗的例子是这样的:

假设你本机电脑搭建了一个博客网站,想让深圳的朋友看一眼效果,那么通过这个内网穿透技术,就可以给远在深圳的同学直接电脑/手机访问网站。

结构图

终于弄懂内网穿透知识了

结构图

这里说明一下:

•User:互联网外的主机

•frps:frp的服务端,它是一台拥有公网IP的服务器地址。

•frpc: frp的客户端,它会跟frp服务端进行沟通。

•tcp or http service:提供tcp或者http的服务,比如你电脑启动了一个网页服务器。

流程

根据上面的图,讲解下大致的流程:

1.frps所在的服务器(比如开放了公网端口7000),对外提供这个服务。

2.frpc配置frps的信息,连接到frps,建立一条通道。

3.frpc配置好本地的端口(比如5432端口)和对应公网端口(80端口)之间的关系。

4.当User用户访问frps所在的服务器开放的端口(如公网80端口),frps接收到连接请求之后马上把这连接请求通过先前建立好的隧道转发到frpc内网主机。

5.内网主机收到隧道发来的数据,进行内网服务【tcp or http service】的数据请求,直到【tcp or http service】服务返回了响应数据。

6.内网主机再将数据返回给frps服务端。

7.frps服务器的服务(80端口)返回给User用户相应的资源。

部署过程

终于到正题了,不容易。

1.下载

去官网下载(***/fatedier/frp/releases)相应平台的压缩包,这里我是64位Linux系统。

$ wget ***/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz

2.服务端配置

2.1 解压

$ tar zxf frp_0.33.0_linux_amd64.tar.gz $ cd frp_0.33.0_linux_amd64

2.2 服务端解压后删除客户端相关的配置(非必须的操作)

$ rm frpc*

2.3 配置服务端frps.ini配置文件

$ cat frps.ini [common]bind_port = 17000

这里说明下参数,bind_port 是监听的端口,后面frpc配置服务端端口需要配置此端口。

2.4 服务端启动

$ ./frps -c frps.ini 

如果要后台运行,通过nohup方式进行后台启动。

$ nohup ./frps -c frps.ini &

3.客户端配置

3.1 解压

$ tar zxf frp_0.33.0_linux_amd64.tar.gz $ cd frp_0.33.0_linux_amd64

3.2 客户端解压后删除服务端相关的配置(非必须的操作)

$ rm frps*

3.3 配置客户端frpc.ini配置文件

cat frpc.ini[common]server_addr = 公网IP地址server_port = 7000[ssh]type = tcplocal_ip = 127.0.0.1local_port = 22remote_port = 6000

这里说明下参数:

•server_addr: 填写frps服务端的公网IP

•server_port: 填写frps服务端的端口

•[xxx] : 这个是服务名,可以任意修改,本例命名为ssh,注意多个规则不能重复名字。

•type: 连接类型,比如http、tcp。ssh方式连接就用tcp。

•local_ip: 填写本地服务的IP

•local_port: 填写本地服务的端口

•remote_port: frps服务端公网的开放端口,这里需要注意不是frps服务的端口。

3.4 客户端启动

$ ./frpc -c frpc.ini 

如果要后台运行,通过nohup方式进行后台启动。

$ nohup ./frpc -c frpc.ini &

一些更细致的配置

比如服务端配置:

$ cat frps.ini [common]bind_port = 17000token = myfrptest dashboard_port = 7500# dashboard's username and password are both optional,if not set, default is admin.dashboard_user = admindashboard_pwd = admin

详细参数说明:

•token:服务器上设置的连接口令

•dashboard_port:服务端仪表板的端口,若使用7500端口,在配置完成服务启动后可以通过浏览器访问 x.x.x.x:7500 (其中x.x.x.x为公网服务器的IP)查看frp服务运行信息。

•dashboard_user:打开仪表板页面登录的用户名

•dashboard_pwd:打开仪表板页面登录的密码

对应客户端配置:

$ cat frpc.ini[common]server_addr = 填写公网IPserver_port = 17000token = myfrptestadmin_addr = 本机的IPadmin_port = 7400admin_user = admin2admin_pwd = admin2[ssh]type = tcplocal_ip = 127.0.0.1local_port = 8081remote_port = 17001

详细参数说明:

•token:要连接frps服务的连接口令

•admin_addr:客户端管理界面的IP

•admin_port:客户端管理界面的端口

•admin_user:打开客户端管理界面登录的用户名

•admin_pwd:打开客户端管理界面登录的密码

配置的小技巧

我们在客户端的配置时候需要填写公网IP,或者开放的端口,我们可以用环境变量来生效。

$ cat frpc.ini[common]server_addr = {{ .Envs.FRP_SERVER_ADDR }}server_port = 17000token = myfrptest

我们配置了环境变量{{ .Envs.FRP_SERVER_ADDR }},那么在启动服务之前,我们需要做一个环境变量export操作。

$ export FRP_SERVER_ADDR="120.xxx.xx.xx"$ ./frpc -c frpc.ini 

这样就可以正常启动,不需要在配置文件显示具体公网IP。

效果图

•公网IP开放了17001的端口

终于弄懂内网穿透知识了

•frps服务端仪表板

终于弄懂内网穿透知识了

首页

终于弄懂内网穿透知识了

TCP页面

•frpc客户端管理界面

终于弄懂内网穿透知识了

客户端配置文件修改界面

重要说明

1.确保防火墙放行相关的端口。

2.如果你是在阿里云或者腾讯云等云平台上,注意在安全组上放行相关的端口。

更多安全的配置,可以去GitHub研究实践。


声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:dandanxi6@qq.com

(0)
上一篇 2023年 6月 24日 下午3:54
下一篇 2023年 6月 24日 下午4:00

相关推荐

  • 躺着玩手机有多少害处?危害健康,还会降低颜值吗

    很多人喜欢躺在床上看手机,殊不知这样看手机虽然一时爽,但长此以往却会危害健康。 近日有媒体报道,一男子右眼视力短期内明显下降,前往医院就诊。经检查发现,该男子左眼视力正常,右眼却患…

    数码教程 2023年 7月 18日
  • qq音乐也被塞进游戏引擎,你的手机空间还够用吗知乎

    今年初,有网友发现手机 QQ 安装包体积暴增。其中,安卓版安装包达到 371MB,iOS 版安装后达到了 879MB。通过分析发现,里面竟然内置了超过100MB的虚幻 4 引擎。 …

    2023年 5月 7日
  • 腾讯网页怎么到本地

    Step1: 用谷歌浏览器打开需要下载的视频链接(我需要下载的是腾讯视频) Step2: 按F12键,出现以下画面 Step3: 选择“Network"和"Me…

    2023年 6月 5日
  • 小米手机怎么把miui12降级成miui12

    本文记录从MIUI12降级MIUI9的全部过程,适用于小白用户,适用于所有小米手机。本文是MIUI12降级MIUI9. 以我的小米8屏幕指纹版为例 本文多图建议您在WiFi下浏览,…

    2023年 3月 9日
  • watchos7新功能详细介绍

    除了推出Apple Watch Series 6,Apple Watch SE和新的watchOS 7软件更新外,Apple还推出了“家庭设置”功能,该功能旨在让父母为自己的孩子设…

    2023年 3月 9日
  • 电脑搜狗拼音输入法怎么卸载,卸载搜狗拼音后残留删除不了

    不知你是否遇到过搜狗拼音输入法无法彻底卸载的问题,最近我发现,当我按常规方法卸载了搜狗拼音输入法,重启后,它仍在,但是我已经不再想用它,这样就比较烦。 打开语言首选项,找到中文,点…

    2023年 9月 16日
  • app测试点100例

    1.1测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为一两周,根据项目情况以及版本质量可适当缩短或延长测试时间。正式测试前需确认项目排期。 1.2测试资源 测试任…

    2023年 2月 4日
  • oppor9plus返回键失灵怎么换

    1、将手机关机重启; 2、若手机的返回键、菜单键、HOME键、电源键不灵敏或者无法使用,建议将近期安装的软件卸载删除尝试; 3、若是运行某程序时,无法使用返回键退回上一界面或退出,…

    数码教程 2022年 12月 18日
  • 换号(换号火影)

    我的手机号用了十多年,有利有弊,祸福难料。 有利者,家人、朋友、亲戚、单位,都知道并存储,一点即通,有什么事情能及时知晓。就不要东问问,西传讯,直接找本人就是。 不利者,朋友知道,…

    数码教程 2023年 8月 7日
  • 代缴社保的公司一般怎么收费的深圳

    连续缴纳深圳社保满5年才有购房资格。 很多远道而来的小伙伴 离开家乡到这个大城市 跨海来到深圳这个地方 我希望在这个城市有自己的家 要想在深圳这个地方买房,实现企业一个问题属于我们…

    2023年 10月 12日