NAS 篇十一:小白上手教程,自建Frp内网穿透,实现外网访问nas设备
从使用Nas设备以来,博主就比较热衷于研究内网穿透方法,到目前为止公网ip ddns方式、nps方式、蒲公英x1方式博主都已掌握,并且前两种也写了比较详细的教程,感兴趣的小伙伴可以去了解下。
也有很多小伙伴反应,frp比nps简单,这里博主不杠,为什么呢,因为博主看了很多教程就是没学会,所以博主还是认为nps简单一些。但是,就在前几天博主突然发现我关注的一个up主更新了一个frp搭建的视频,从原理到搭建方法到实际应用讲的超级详细,博主一下就学会了,所以今天才有机会介绍一下如何搭建frp实现内网穿透。
介绍正题前先说下上面提到的up主吧,其实我在之前的一篇文章已经简单介绍过就是油管和b站都在做视频的“司波图”,自称是大家的高产小伙伴。如果大家喜欢看nas类或者科技类的视频可以去b站或者youtube搜索下“司波图”。大佬视频做的很认真,讲解的非常详细,这也是博主之前看了n多教程没有学会搭建vps,看了司波图大佬的视频一次就会了。
开始搭建
找到需要的frp版本,获取下载链接
进入frp下载页面 找到需要下载的版本,这里我们找到这个版本,右键复制下载链接。
ssh链接vps
输入wget+下载链接,这里我们的命令是:
wget https://github.com/fatedier/frp/releases/download/v0.31.2/frp_0.31.2_linux_amd64.tar.gz
回车,稍等会就会下载完毕。
解压下载的压缩文件
tar -zxvf frp_0.31.2_linux_amd64.tar.gz
查看下是否解压成功
ls
可以看到已经出现了解压后的文件夹
ok,因为博主用的是xshell链接的vps所以直接用xftp管理里面的文件了,这样方便一点,毕竟博主对于linux的命令也不是很熟悉。
这里如果你用的putty对命令又不熟悉,建议你单独下载一个winscp,这个软件也能实现可视化管理vps服务器的文件。或者你可以直接用finalshell这个软件也可以,博主不多说了。
xftp端设置
将frp_0.31.2_linux_amd64重命名为frp
进入到frp目录,找到frps.ini,右键记事本打开
加入一个token行,我这里设置的是123456,大家可以自行设置,但是这个是明文密码,不要设置自己的常用密码即可。
保存后关闭。
切换到xshell,进入到frp目录
cd frp
./frps -c frps.ini
回车,可以看到服务端启动成功了。
有些服务器可能没有开放7000端口,这里可以单独开放一下
首先ctrl c 退出frps服务,然后输入以下命令
iptables -I INPUT -ptcp --dport 7000 -j ACCEPT
输入以下代码进行服务设置
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
按esc键 输入 :wq 回车
启动frp服务
systemctl start frps
设置自动启动
systemctl enable frps
重启vps服务器看下frps服务是否可以开启自启
reboot
等待vps服务器开机后重新连接输入
ps auxw
查看后台运行的进程,可以找到frp已经运行了
至此服务端设置完毕
群晖docker端设置
docker-映像-新增(从url新增)输入这个地址 https://hub.docker.com/r/chenhw2/frp 点击新增
新建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
当然如果你可以添加你的其他服务的配置文件,例如drive hyper backup jellyfin都行,我这里就以dsm做个例子。
进入file station 在docker文件夹下新建frp文件夹 然后把编辑好的frp.ini上传上去
好的,等待docker映像下载完毕后双击进行设置
高级设置-环境,如第二张图设置
设置卷,新增文件,找到刚才上传的frpc.ini(docker-frp-frpc.ini)
网络选择与docker相同的网络
这样就设置完毕了,点击应用,下一步,应用,已经启动了
测试下外网是否可以打开
浏览器输入vps的公网ip:6001
可以看到已经可以正常打开我的dsm页面了,也就是说我们已经实现了外网的穿透。
如果你需要穿透其他的应用的话,只需要在群晖端设置即可,服务端无需再设置,就是编辑群晖的frpc.ini这个文件。可能有的小伙伴还是不明白我再添加一个jellyfin的穿透吧。
关闭frp的docker进程
找到frpc.ini文件进行编辑,加入jellyfin,内部端口是固定的8096,外部端口自行设置,我设置的9001
把这个frpc.ini上传到docker-frp文件夹内
进入docker,打开frp进程,然后浏览器输入ip:9001测试
ok,可以看到ip:9001已经打开了jellyfin的登录页面,成功
测试速度
最后给大家测试下速度吧,这个速度取决于你的nas所在地的带宽,你测试环境的带宽以及vps的带宽环境,比较复杂,因为今天是演示教程,我用的这个vps速度应该不是很好,一会测试完这个frp就停用了,看看效果。
我找了个美剧测试,速度基本在1m左右,不算快但是能满足日常外网访问需求。
写在最后
ok,大家如果还是搭建不成功,还是那句话建议去b站或者油管看下司波图大佬的视频,讲解的特别详细。
截止到本篇文章,除了蒲公英x1组网的方式,博主已经把博主自己会的内网穿透都介绍过了:ddns、nps和frp,不知道你在用哪种方式。没有最好的只有最适合自己的。
好了,我是shawn,一只爱折腾的土木羊。如果你长得好看,那请关注我哦!
萝卟
校验提示文案
水寒
校验提示文案
仗剑走天涯o0
校验提示文案
一口一锅小布丁
校验提示文案
小值友友123
校验提示文案
恋恋红尘jj
校验提示文案
妍过留影
校验提示文案
稀土霸王
校验提示文案
coffeetion
校验提示文案
csunicom
teamviewer那段时间不给用,远程回公司就是用frp
校验提示文案
leniou
校验提示文案
shenzhencncom
校验提示文案
值友7899758629
校验提示文案
班沙克
校验提示文案
值友5131958133
校验提示文案
palkiller
校验提示文案
[已注销]
校验提示文案
小二马
校验提示文案
Deuteriumm
校验提示文案
hydrahail
校验提示文案
zy511611zy
校验提示文案
Ronanluo
校验提示文案
逆行的z
校验提示文案
tempma
校验提示文案
安德先森
校验提示文案
[已注销]
校验提示文案
值友4516385340
校验提示文案
smzd买
校验提示文案
JuneLee
校验提示文案
doubleGTX
校验提示文案
奇仔
校验提示文案
剪翅高飞
校验提示文案
nicko
校验提示文案
公子様
校验提示文案
焖肉
校验提示文案
值友2239297229
校验提示文案
兔八哥男神
校验提示文案
Jqin
校验提示文案
值友4758497484
校验提示文案
kevin249
校验提示文案