大家好,我是阿狸鹿丫,一个业余爱瞎折腾的数码软件爱好者,技术小白。

2024-05-21-ttorvooy.png

前言

之前使用的是群晖套件 Frpc 简单,方便。但是套件只能安装一个,最近又入手了一台HK的服务器。所以想着在部署一个Frpc通过两台服务器做穿透。所以只能在Docker部署一个新的Frpc。

所以本次教程就记录一下遇到的问题和详细的部署步骤。

部署教程

推荐服务器商:破碎工坊云计算 自己也在使用他们的好几台主机。

https://www.crash.work/aff/QQOTBUJV

如果你的服务器不是做其他用途,可以参考我这一片文章直接通过SSH链接服务器直接命令部署。

参考文章:《群晖NAS(无公网IP)通过FRP内网穿透到云服务器》

https://blog.aliluya.com/archives/erGlSIEH

因为这次我的服务器出了做穿透之外还想着能试用其他用途,所以本次我部署的是通过1panel控制面板的Docker部署服务端。

首先把服务器初始化,我选择的是系统版本是Debian-12.0_x64。

安装1panel面板

之后通过SSH连接服务器,安装一下1panel面板,通过下面命令安装。

自行选择对应系统的安装命令:

RedHat / CentOS

curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sh quick_start.sh

Debian

curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && bash quick_start.sh

Ubuntu

curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh

openEuler / 其他

第一步:安装 docker
bash <(curl -sSL https://linuxmirrors.cn/docker.sh)

第二步:安装 1Panel
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sh quick_start.sh

这里我系统是Debian,所以我们使用 Debian 安装 1panel 的命令

通过自己熟悉的SSH工具,使用Root用户连接服务器。进入之后直接复制上面的命令回车一键安装。

之后提示安装位置直接回车安装就可以了,想必这安装大家都很熟悉了。就不过多介绍了。按照提示自定义一下端口、账号、密码等等几OK了。

部署frps服务端

安装好1Panel面板之后,登录到面板。

之后进入【应用商店】往下拉找到【frp服务端】点击安装。

然后在安装界面自定义一下【账号】【密码】,其他都可以保持默认,点击【确定】进行安装。

如果想自定义端口号也是可以的,但是要记得别搞混的服务端口和WEB面板端口。
默认的【7000】是服务端口,【7500】是WEB面板端口。

安装完成之后我们在【应用商店】已安装里面可以看到,在【容器】里面也能看到我们的项目。

之后我们进入【frps】对应的所在目录,找到配置文件。

配置文件地址:/opt/1panel/apps/frps/frps/data/frps.toml

双击打开配置文件,把里面对应的Token修改成自己想要的。

这个Token必须于frpc客户端的Token保持一致。

修改完之后点【确定】保存。

之后回去【应用商店】或者【容器】重启一下【frps】

重启完成之后,使用【服务器IP+7500端口】,就可以访问frps的WEB板面。

部署frpc客户端

接下来我们回到群晖后台,打开【File Station】文件管理器,进入Docker文件夹下新建一个【frpc2】文件夹,用于存储Frp客户端配置数据。

然后再自己的电脑新建一个frpc.txt文档,然后打开把一下内容复制进去。

# 服务器地址
serverAddr = "11.22.33.44"
# 服务端端口
serverPort = 7000
# 鉴权方式,默认为token
auth.method = "token"
# 鉴权密钥,与服务端设置必须一致,否则无法连接
auth.token = "Qwy32DlPix"

[[proxies]]
# name 唯一字段,不能和服务器上其他用户的服务名重复。
name = "nas_web_http"
# tcp 协议
type = "tcp"
# 需要穿透出去的服务IP,本地IP地址,如果是本机就127.0.0.1。
localIP = "127.0.0.1"
# 需要穿透出去的服务端口,例如群晖的5000登录端口。
localPort = 5000
# 远程穿透端口,此端口不能和服务器上其他用户重复,也要遵循 frps 服务允许的端口范围。
remotePort = 80

# nas https 后台
[[proxies]]
name = "nas_web_https"
type = "tcp"
localIP = "127.0.0.1"
localPort = 5001
remotePort = 443

修改相应的设置,比如服务器地址、token、端口等等。

然后接着把设置好的文档上传到群晖NAS上刚刚创建好的【frpc2】目录下。

上传完之后我们进行下一步,打开【Container Manager】,进入注册表搜索【frpc】

选择第一个 snowdreamtech/frpc 镜像进行下载。

如果 latest 不能下载到最新版本,建议大家可以手动选择版本下载。

下载完成之后,选择刚刚下载的镜像 snowdreamtech/frpc 点击运行。

然后勾上【启用自动重新启动】,自定义【容器名称】,点击【下一步】

之后点击【添加文件】

把刚刚上传的frpc.txt文件添加进来。

容器的对应目录是【/frp/frpc.toml】​这个是固定的不要做任何修改。

网络模式选择【host】,然后直接点击【下一步】

最后检查一下,如果没什么问题就可以点击【完成】了。

最后在浏览器中输入Frp的控制面板地址【服务器IP+7500端口】,查看穿透的对应的端口是否生效。

如上图所示,穿透的端口已经生效了。只要把你自己的域名解析到你服务器IP上就可以实现通过域名访问家里的群晖NAS了!

下面演示效果:

结语

这样一来,我就可以通过不同的服务器来穿透。

在使用CDN实现以下回源组,设置下负载匀衡,实现多frps对一frpc。

还有我的服务器就不单单可以穿透了,利用1panel的面板还能实现其他功能。

希望本次教程对大家有所帮助!创作不易希望大家能多多转发收藏本站!感谢感谢~~!

我是阿狸鹿丫,一个业余爱瞎折腾的数码软件爱好者,技术小白。

the-end.webp