在阿里云主机用宝塔面板安装frp实现内网穿透80端口踩坑指南

为了实现域名直接访问内网电脑,今天实验了一上午,终于成功了。

实现的主要步骤是:

1、域名解析到阿里云主机(均实名及备案)

2、在云主机启动frp服务端

3、开放云主机端口(在此踩坑)

4、在宝塔面板设置反向代理

5、在内网电脑启动客户端

实现的效果是:

http://oper.yldts.cn 打开在内网的群晖NAS

各步骤:

1、域名解析到阿里云主机

2、在云主机启动frp服务端,重点是和宝塔面板同时运行

我在阿里云是CentOS7, 在https://github.com/fatedier/frp/releases下载了

https://github.com/fatedier/frp/releases/download/v0.31.2/frp_0.31.2_linux_arm64.tar.gz

反正我是在我的Windows10的个人电脑上直接解压缩,实际上只需要2个文件,是服务端文件,客户端的文件不需要:

frps是可执行文件,frps.ini是配置文件,这个名字自己可以改,也可以有几个,启动的时候指定哪个,就会使用哪个的配置。

这个上传到云主机的 /root/frp目录(这个自己随便)。配置文件怎么写,我下面说。

目录权限设置为0777也就是可执行,可修改。

配置文件frps.ini这样写:此处参考 https://www.gacjie.cn/post-200.html 但是有个坑,我来说一下。

这里有3个重点:

2-1、5433这个端口既需要TCP协议,也需要UDP协议

2-2、808这个端口呢,不能和宝塔面板冲突才这样,可是你要的是80端口,原理举例说,你在宝塔面板新增网站uper.yldts.cn,给网站反向代理,指向了http://127.0.0.1:808,然后这个808是frp在监听,听到以后呢,就要转给frp的客户端,而有个客户端启动时配置了自己是uper.yldts.cn的目的地。这个在第4、5步中说明。啰嗦一下,在宝塔面板新增另一个oper.yldts.cn网站,也反向代理到了http://127.0.0.1:808,然后frp监听到后,转到配置了自己是oper.yldts.cn的客户端。

2-3、在客户端可以配置完整域名,所以可以不用这样分开在服务端指定一级域名,而客户端指定前边的oper,uper,而是直接指定oper.yldts.cn以及uper.yldts.cn

下面就是启动了:这个就是用./frps是可执行文件,frps.in是那个要使用的配置文件,你可以有几个配置文件,想启动哪个就用哪个。

./frps -c frps.ini

3、开放云主机端口(在此踩坑)

在宝塔面板放行这些用到的端口

在阿里云放行相应端口。请记住,5433需要TCP和UDP,我承认我脑子没转弯,只配了一个,然后不好用,一直到好用。

4、在宝塔面板设置反向代理

在宝塔面板新建网站

设置网站的反向代理,让对于http://uper.yldts.cn的访问,转给frp监听的http://127.0.0.1:808,然后让frp将这个访问,再转給安装了客户端的电脑。

5、在内网电脑启动客户端

我们看一下客户端配置文件,我这个是下载了个Windows客户端。要知道,并不是哪个电脑运行客户端,才能访问这台电脑,而是整个内网的电脑都可以指向到。

我们需要在命令行运行,运行加载我们需要的配置文件,记住用frpc这个客户端文件,而不是frps服务端文件。

最后,我们检验一下效果:

另外,上面有个6443端口是个frp面板,我也解析了域名,做了反向代理,访问看看效果。

说在最后,大老板来自上海。所以有中文说明:) https://github.com/fatedier/frp/blob/master/README_zh.md

感谢fatedier