2024-01-06
技术
00
请注意,本文编写于 496 天前,最后修改于 496 天前,其中某些信息可能已经过时。

目录

开始搭建
找到需要的frp版本,获取下载链接
ssh链接vps
xftp端设置
切换到xshell,进入到frp目录
群晖docker端设置
测试下外网是否可以打开

frp是我用的最多也是比较简单的内网穿透方式。 搭建简单易于维护,基本可以满足日常需求。但前提是你有一个具备公网ip的服务器用来搭建frp服务。

开始搭建

找到需要的frp版本,获取下载链接

进入frp下载页面 https://github.com/fatedier/frp/releases 找到需要下载的版本,右键复制下载链接。

1.png

ssh链接vps

输入wget+下载链接:

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

2.png 回车,稍等会就会下载完毕。

解压下载的压缩文件

jsx
tar -zxvf frp_0.31.2_linux_amd64.tar.gz

查看下是否解压成功

jsx
ls

可以看到已经出现了解压后的文件夹

3.png

ok,xshell链接的vps,直接用xftp管理里面的文件。

4.png

5.png

xftp端设置

将frp_0.31.2_linux_amd64重命名为frp

6.png

进入到frp目录,找到frps.ini,右键记事本打开

7.png

加入一个token行,明文密码,不要设置自己的常用密码即可。

8.png 保存后关闭。

切换到xshell,进入到frp目录

jsx
cd frp
jsx
./frps -c frps.ini

回车,可以看到服务端启动成功了。

9.png

有些服务器可能没有开放7000端口,这里可以单独开放一下

首先ctrl c 退出frps服务,然后输入以下命令

jsx
iptables -I INPUT -ptcp --dport 7000 -j ACCEPT

输入以下代码进行服务设置

jsx
vi /lib/systemd/system/frps.service

按 i 键进入编辑模式

黏贴下列命令

[Unit] Description=fraps service After=network.target syslog.target Wants=network.target

[Service] Type=simple ExecStart=/root/frp/frps -c /root/frp/frps.ini

[Install] WantedBy=multi-user.target

10.png 按esc键 输入

回车

启动frp服务

jsx
systemctl start frps

设置自动启动

jsx
systemctl enable frps

11.png

重启vps服务器看下frps服务是否可以开启自启

jsx
reboot

等待vps服务器开机后重新连接输入

jsx
ps auxw

查看后台运行的进程,可以找到frp已经运行了

12.png

至此服务端设置完毕

群晖docker端设置

docker-映像-新增(从url新增)输入这个地址 https://hub.docker.com/r/chenhw2/frp 点击新增

13.png

新建frpc配置文件(新建txt文档重命名为 frpc.ini)打开后输入以下命令

[common] server_addr = 185.xxx.xx.xx5 server_port = 7000 token = 123456

[DSM] type = tcp local_ip = 127.0.0.1 local_port = 5000 remote_port = 6001

14.png

当然如果你可以添加你的其他服务的配置文件,例如drive hyper backup jellyfin都行,我这里就以dsm做个例子。

进入file station 在docker文件夹下新建frp文件夹 然后把编辑好的frp.ini上传上去

15.png

好的,等待docker映像下载完毕后双击进行设置

高级设置-环境,如第二张图设置

16.png

17.png 设置卷,新增文件,找到刚才上传的frpc.ini(docker-frp-frpc.ini)

18.png

网络选择与docker相同的网络

19.png

这样就设置完毕了,点击应用,下一步,应用,已经启动了

20.png

测试下外网是否可以打开

浏览器输入vps的公网ip:6001

可以看到已经可以正常打开我的dsm页面了,也就是说已经实现了外网的穿透。

21.png

如果你需要穿透其他的应用的话,只需要在群晖端设置即可,服务端无需再设置,就是编辑群晖的frpc.ini这个文件。

本文作者:Daisy

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!