frp实现内网穿透

如果我们希望在家里搭建一台服务器,并且能够被外网访问,那可以行的方案有两种:1、向宽带运营商申请家庭的公网ip,然后配置防火墙,开放端口,就直接可以被外网访问了。2、通过内网穿透,所谓内网穿透其实就是利用代理服务器进行转发,假设你现在有一台存在有公网ip的服务器(比如租一台阿里云服务器,就会有公网ip)A,然后已有一台本地的内网服务器B。我们通过B连接A,然后我们向A请求数据时,A会将请求转发给B进行请求处理,最后在将结果返回给用户。这样用户就能间接通过A来访问B了。
在可能的情况下通过第一种方式实现自己搭一台服务器是最好的,但是由于公网ip本身就很紧张(数量有限,不够分)以及其他的一些不可控因素,往往第一种方式是行不通的,这个时候就需要方法二:内网穿透了。内网穿透也分两种方式:1、自己搭建第三方服务器。2、使用第三方服务商的服务器。即上面说的服务器A(有公网ip的这台服务器)是我们自己搭建还是直接使用第三方服务商的,这种第三方服务商(比如花生壳,nat123,ngork)都会收取一定费用,而且费用跟映射(端口映射)数有关。其中nat123如果充值50元,可以体验到无限端口的免费服务,但是那个网速真的感人(如果实在是舍不得钱,这也是将就着用的)。在衡量了第三方服务商的价格和自己买云服务器后,还是自己购买云服务器划算(前提是可以通过各种优惠方式购买到低价服务器的,直接购买服务器也是不便宜的)。

基于以上的背景,下面来讲如何自己来搭建第三方服务器实现本地内网穿透,首先需要有一台有公网ip的服务器(阿里云,百度云,华为云等等,自行购买吧),然后利用内网穿透的软件来搭建(frp,ngrok),我们这里选择frp来进行实现。

我们从github上下载frp,下载地址:https://github.com/fatedier/frp/releases 。如果我们在linux安装可以直接通过wget下载,当然也可以本地现在之后上传上去:

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

如果windows的话直接下载到本地。下载的压缩包里既有frp的客户端部分也有服务端部分,看我们自己选择。

所谓服务端就是进行转发的第三方服务器,我们这里是基于阿里云linux服务器。

这里所说的客户端就是我们的本地服务器。本地我们是window系统,同样我们将前载到本地的zip文件解压,然后点击进入解压后的文件夹,我们对客户端的配置文件进行修改;

# 客户端配置 [common] server_addr = 服务器ip # 与frps.ini的bind_port一致 server_port = 7000 # 与frps.ini的token一致 token = dsfsgefgsfwe # 配置ssh服务 [ssh] type = tcp local_ip = 192.168.0.5 local_port = 22 # 这个自定义,之后再ssh连接的时候要用 remote_port = 6000 # 配置http服务,可用于小程序开发、远程调试等,如果没有可以不写下面的 [web] type = http local_ip = 192.168.0.5 local_port = 8080 # web域名 subdomain = test.hijk.pw 自定义的远程服务器端口,例如8080 remote_port = 8080 

可以注意到我配置文件中的local_ip写的不是127.0.0.1或者localhost或者192.168.0.1。这是因为我的服务器并不是我的window,而是电脑里的一台虚拟机,虚拟机配置了局域网可访问,ip即是:192.168.0.5。而local_port也不是window的端口,而是虚拟机里的每个服务的端口。所以我们这里不仅可以配置当前主机进行内网穿透,而且可以配置局域网里任意一台主机进行内网穿透。前提是局域网里的这个服务对应的这些端口都是可访问的(防火墙开放了这些端口)。
配置好之后就可以启动客户端了,在cmd中执行:

frpc.exe -c frpc.ini 

启动之后,我么你就可以在前面服务端的那个控制台上看到对应的服务了。

最后我们就可以进行测试了,记住我们访问的是第三方服务器的ip和端口,比如我的阿里云ip是50.0.0.2,然后我要访问本地服务器的ssh服务,这是需要指定的端口则是上麦你的6000,而不是22:

ssh -P 6000 root@50.0.0.2 

最后的最后要提一下,云服务器的安全组打开,比如这里我们就要打开6000端口,最终才能调的通。

原文链接:https://blog.csdn.net/qq_30095631/article/details/117333718

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享