使用FRP内网穿透工具实现"安全访问"家中群晖NAS
场景
如下拓扑图所示
(图片点击放大查看)
有时出差或者外出需要访问家中的群晖NAS,但由于该群晖NAS没有quickconnect服务(原因你懂的),基于安全考虑也不愿意将NAS通过内网穿透的方式直接暴露到公网上
下面就借助云服务器+FRP的STCP方式实现在外面也能安全访问家中群晖NAS
具体原理参考之前的文章:使用Frp的stcp实现安全内网穿透访问
准备条件
先下载所需要的Frp安装包
-
1、https://github.com/fatedier/frp/releases
下载windows和linux两个版本的包
(图片点击放大查看)
-
2、Windows机器上要使用的nssm.exe nssm是一个能将普通exe应用封装成windows服务的神器
(图片点击放大查看)
具体步骤
一、在云服务器上搭建frps服务端
1、这里为了简单方便,我这边开通按量付费的一台腾讯云主机进行演示
(图片点击放大查看)
(图片点击放大查看)
2、登录云服务器的SSH,部署frps服务端
mkdir /usr/local/frp
cd /usr/local/frp/
rz上传frps和frps.ini
vim /usr/local/frp/frps.ini
[common]
bind_address = 0.0.0.0
bind_port = 8111
authentication_method = token
authenticate_heartbeats = false
authenticate_new_work_conns = false
token = My@Frp2023
log_file = /usr/local/frp/logs/frps.log
log_level = info
log_max_days = 30
(图片点击放大查看)
(图片点击放大查看)
vim /usr/lib/systemd/system/frps.service
[Unit]
Description=Frp Server Service
After=network.target
[Service]
Type=simple
User=root
Restart=on-failure
RestartSec=5s
ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.ini
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable frps.service
systemctl start frps.service
systemctl status frps.service
netstat -anp | grep 8111
(图片点击放大查看)
云服务器上的安全组放通frps的8111端口
(图片点击放大查看)
当然你也可以限制源IP,由于你家中的路由器出口IP可能发生变化,笔记本在外面的公网IP也是变化的,所以就不限制源IP,使用0.0.0.0/0
二、家里群晖部署frpc客户端
因为是x86_64就直接使用amd64版本的frpc
(图片点击放大查看)
1、FileStation上面上传对应版本的frpc客户端软件
(图片点击放大查看)
2、并开启SSH和邮件告警通知
(图片点击放大查看)
(图片点击放大查看)
(图片点击放大查看)
3、部署frpc
sudo -i
mkdir /usr/local/frp
cp /volume1/File/frpc /usr/local/frp/
cp /volume1/File/frpc.ini /usr/local/frp/
cd /usr/local/frp/
chmod 777 frpc
vim frpc.ini
(图片点击放大查看)
vim frpc.ini
[common]
server_addr = 119.45.191.116
server_port = 8111
authentication_method = token
authenticate_heartbeats = false
authenticate_new_work_conns = false
token = My@Frp2023
log_file = /usr/local/frp/logs/frpc.log
log_level = info
log_max_days = 30
[stcp_tv_nucwin7]
type = stcp
sk = walkingcloud
local_ip = 192.168.31.239
local_port = 5938
[stcp_DSM_nucSynology]
type = stcp
sk = walkingcloud
local_ip = 192.168.31.142
local_port = 5000
[Synology_SSH]
type = tcp
local_ip = 192.168.31.142
local_port = 22
remote_port = 11122
(图片点击放大查看)
4、配置开机启动的任务计划
(图片点击放大查看)
脚本内容:/usr/local/frp/frpc -c /usr/local/frp/frpc.ini
(图片点击放大查看)
(图片点击放大查看)
(图片点击放大查看)
三、win10笔记本上面部署frpc客户端
1、比如我将frpc.exe和frpc.ini部署在D:Softfrp目录下
(图片点击放大查看)
2、frpc.ini内容如下
[common]
server_addr = 119.45.191.116
server_port = 8111
authentication_method = token
authenticate_heartbeats = false
authenticate_new_work_conns = false
token = My@Frp2023
log_file = D:\Soft\frp\frpc.log
log_level = info
log_max_days = 30
[stcp_access_nucwin7]
type = stcp
role = visitor
sk = walkingcloud
server_name = stcp_tv_nucwin7
bind_addr = 127.0.0.1
bind_port = 5938
[stcp_access_nucSynology]
type = stcp
role = visitor
sk = walkingcloud
server_name = stcp_DSM_nucSynology
bind_addr = 192.168.198.143
bind_port = 5000
3、使用nssm.exe部署成服务
D:Softfrpc
nssm.exe install
(图片点击放大查看)
(图片点击放大查看)
(图片点击放大查看)
这里 Path D:Softfrpfrpc.exe
Arguments -c frpc.ini
Service name frpc 然后点 Install service
接下来就services.msc,服务中启动frpc服务即可
(图片点击放大查看)
四、验证效果
1、在Win10机器上可以访问本地http://192.168.198.143:5000即可访问家里NAS 192.168.31.142
(图片点击放大查看)
2、同样,访问本地127.0.0.1就可以访问家里Win7 192.168.31.239的TeamViewer
(图片点击放大查看)
Tips
(图片点击放大查看)
原文始发于微信公众号(WalkingCloud):使用FRP内网穿透工具实现安全访问家中群晖NAS
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论