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

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

终于弄懂内网穿透知识了

内网穿透概念

百度百科是这么表述的:

内网穿透,也即 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

相关推荐

  • 微信这个设置尽快关掉,不然隐私

    分享最实在的玩机技巧,洞察最前沿的科技资讯!大家好,这里是手机科技园! 我们都在用微信,可是你知道吗?也许你的隐私正在被泄露,下面就来告诉大家,微信这6个设置一定要关闭,不然你的隐…

    2022年 12月 29日
  • 华为手机隐藏的截屏功能

    朋友们,你知道为什么手机在截图以后,会在左下角这里专门停留一会儿呢? 其实它是在暗示你,这里还隐藏着很多实用的功能。 接下来以华为手机为例,分享手机截屏隐藏的一些实用功能,相信你平…

    2023年 7月 7日
  • 一键录屏app使用教程(录屏大师怎么既录屏又录人像)

    由飞磨科技推出的录屏大师App,是一款无任何广告而且完全免费,没有任何限制的极其轻量型的高质量屏幕录像工具,你可以利用它记录你手机操作的影像并保存为视频文件。目前市面上的录屏软件都…

    数码教程 2023年 4月 25日
  • 别以为腾讯只会抄袭,从腾讯的心酸历程能看出配得上今天的成就

    2018年11月11日是什么日子?99%的人都会回答是双十一购物节。但你可知道,这一天也是腾讯成立20周年的日子。 谁能想到,20年前一家只有两个人的公司如今已成为中国市值第一的科…

    2023年 6月 14日
  • 简单高效苹果序列号查询手机真伪

    部分网友购买苹果手机,并不是在官方渠道购买。而且随着二手机行业的兴起,也有很多人选择一台二手的iPhone。如何辨别自己买的iPhone是真是假呢? 其实很简单,只要通过苹果序列号…

    2023年 10月 25日
  • 微信怎么用?9个妙招教你玩转《微信》小程序

    随着社会的发展和人类的进步,微信已经离不开人们的日常生活了,微信可以给人们带来快捷和方便,微信让人们的联系变得更加方便,可以让朋友之间的关系更近,也给我们的生活带来方便,微信可以生…

    2023年 1月 6日
  • ios手机app显示无网络连接

    “IOS系统某些app无法连接到网络,其他正常”的解决办法 我的iphoneX 在更新到13.31以后,有几个新下的app,死活连接不到网络,其他app正常登录。 发现是他们自动会…

    数码教程 2023年 1月 18日
  • 微信聊天记录中文件过期怎么恢复

    如果你的微信聊天记录被删除或者文件过期了,有以下几种恢复方法: 1、从微信备份中恢复:如果你曾经开启了微信的自动备份功能,可以尝试从备份文件中恢复你需要的聊天记录或者文件。 首先,…

    数码教程 2023年 7月 1日
  • 微信里怎么拉黑对方(微信被拉黑怎么才能联系对方)

    以前使用qq的时候,在遇到不想聊天的好友时我们会将其拉黑,而现在使用微信的用户越来越多,很多用户反馈说微信怎么去拉黑对方。 其实,微信也可以拉黑好友的,拉黑后对方给你发送消息是收不…

    2023年 7月 12日
  • 全网通有哪些用,全网通到底是什么手机

    小伙伴们选购手机时都会发现手机参数上写着“XX定制版”或“全网通版”的标识。那么问题来了,到底什么是“全网通”? 什么是“全网通” 前身:可以归结为前两年电信推出的,三网双待3G智…

    2023年 5月 9日