利用frp内网穿透远程访问内网群晖教程
|上了蜗牛星际的车,安装了黑群晖。虽然可以洗白,但是总觉得不厚道。好吧,只能自己动手丰衣足食。教程很多人都写过。我这里,只是作为自己的使用参考,感谢其他人的分享。
frp服务器端的配置:
1.根据自己主机的操作系统下载对应的frp版本,我Linode的VPS用的是Debian,所以下载的是linux_amd64。截至我发文止,frp的最新版是0.28.2,可以到https://github.com/fatedier/frp/releases查看frp的最新版本,如有更新版本,把下面代码中的版本号(蓝字部分)改成最新的版本号就行了。新手不熟悉操作,直接复制粘贴我的代码用0.13.0版frp也没啥问题。
wegt https://github.com/fatedier/frp/releases/download/v0.28.2/frp_0.28.2_linux_amd64.tar.gz
2.使用tar指令解压tar.gz文件
tar -zxvf frp_0.28.2_linux_amd64.tar.gz
3.进入 frp 目录
cd frp_0.28.2_linux_amd64
4.删除不必要的客户端文件
rm -f frpc frpc_full.ini frpc.ini
5.配置服务器端文件
mkdir /etc/frps
cp frps.ini /etc/frps
mkdir /usr/bin/frps
cp frps /usr/bin/frps
vi /etc/frps/frps.ini
bind_port = 7000
vhost_http_port = 8080
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = 123456
max_pool_count = 5
authentication_timeout = 900
subdomain_host = leitalk.com
[ssh]
listen_port = 6000
auth_token = 123321
简单说明下这个配置文件,详细配置可以参见官方中文文档:
[common] 必填的
bind_port Frp 服务端口(可自定义)
vhost_http_port http 访问端口(可自定义)
dashboard_port dashboard 界面端口
dashboard_user 登录 dashboard 用户名
dashboard_pwd 登录 dashboard 密码
max_pool_count 最大连接池数量
authentication_timeout 超时验证时间
subdomain_host 自定义二级域名
[ssh]
listen_port ssh 访问端口
auth_token 用户身份认证
6.启动服务器端frp
./frps -c ./frps.ini
这时候,你输入你的服务器端的ip:7500 你应该可以看到服务器已经运行了。下面就是要配置客户端了。
7.设置frp服务端自启动
vi /etc/systemd/system/frps.service
然后输入以下内容
[Unit]
Description=FRP Server Daemon
[Service]
Type=simple
ExecStartPre=-/sbin/setcap cap_net_bind_service=+ep /usr/bin/frps
ExecStart=/usr/bin/frps -c /etc/frp/frps.ini
Restart=always
RestartSec=20s
User=nobody
PermissionsStartOnly=true
[Install]
WantedBy=multi-user.target
运行下列命令
systemctl enable frps
然后你可以使用下列命令,启动,停止,以及查看frp的状态
systemctl start frps
systemctl stop frps
systemctl status frps
客户端配置
客户端就是您本地需要做外网服务的设备,可以是 PC、Mac、NAS、路由器、或者虚拟机里的 liunx 系统。
这篇文章主要是利用 Frp 技术访问在群晖 NAS 服务的应用。实例也是 NAS 系统。首先,先确认SSH已经开启,查看控制面板,然后终端机和SNMP,如下。
SSH 登录群晖 NAS (群晖必须开启 ssh) 一般我使用Putty来登录
下载 Frp, 删除服务端文件。(因为和服务端配置一样,不再一一赘述。)
sudo -i // 切换 root 用户
wget https://github.com/fatedier/frp/releases/download/v0.28.2/frp_0.28.2_linux_amd64.tar.gz
tar -zxvf frp_0.28.2_linux_amd64.tar.gz //解压缩文件包
cd frp_0.28.2_linux_amd64.tar.gz rm -f frps frps_full.ini frps.ini //删除FPR服务端的文件
编辑 frpc.ini 文件(客户端配置文件) vi frpc.ini
编辑配置文件如下
[common]
server_addr = xxx.xxx.xxx.xxx
server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
[web]
type = http
local_ip = 127.0.0.1
local_port = 5000
custom_domains = qunhui.leitalk.com
简单解释:
[common] 必填的
server_addr
服务器端公网server_port
frp 服务端口,和服务器端 bind_port
一致auth_token
和前面服务器端 [ssh] auth_token
一致pool_count
连接池数量
[ssh]
type
服务类型(tcp、http、https、udp)local_ip
NAS 本地局域网内网 iplocal_port
NAS 开启 ssh 服务端口号,默认 22remote_port
服务器端 ssh 端口,和服务器端 [ssh] listen_port
配置一致
[nas] NAS 管理界面
custom_domains 你自己设置的访问域名,需要将这个域名解析到你的服务器上type = http
服务类型为 httplocal_port
NAS 默认端口 5000
详细配置
保存,运行。(后台运行,请看下面)
./frpc -c ./frpc.ini
此时在服务端会看到”start proxy sucess”字样,即连接成功。
测试运行
ssh 测试
ssh -p 6000 user@服务器ip
经过测试,本人的网络是温哥华的Shaw,基本上可以跑满上行带宽。还是挺满意的。看看电影我就不奢望了。但是偶尔几个照片分享,还是很方便的。而我的蜗牛星际,也依旧稳定运行着。不过下面我要开始担心文件的安全性了。
user 为你登录群晖 NAS 的用户名
*以上端口仅供参考,请自行修改。此外内网文件暴露在外网,请注意网络安全,以避免隐私泄露。
如果确认服务器已经运行,而客户端连接不上,你需要确定下是不是防火墙封了端口。运行下面代码,看是否成功
iptables -A INPUT -p tcp –dport 7000 -j ACCEPT
iptables -A OUTPUT -p tcp –sport 7000 -j ACCEPT
https://www.vultr.com/?ref=8538915-6G 目前我的博客使用Vultr的服务器,还是挺稳定的,这里推荐一下。