FRP内网穿透实现多种功能及实用性测试
在9月份,腾讯云上有一个拼团购买云服务器的活动,90多块钱就能买15个月的云服务器,虽然配置很低,1G内存+1核CPU+1M带宽,这个配置的话,操作系统选择CentOS就好,选择windows系统会很卡,但是这个配置自己搭图个wordpress做博客还是足够了的,新用户还有购买域名的优惠券cn域名可以做到35块钱两年。当时我云服务器和域名一块购买之后,第一件事情当然是备案了,因为快到国庆假期,备案的时间又被延长,但是服务器不能这样放着浪费了,就试着搭一个frp内网穿透服务器。
需要准备的软件:Putty
一、服务器端配置
使用putty登陆服务器
用户名root,密码是你自己设置的服务器的密码
登录成功之后,下载服务器对应的frp,因为我的系统是CentOS 64位的,所以下载的是64位版本
下载:wget https://github.com/fatedier/frp/releases/download/v0.21.0/frp_0.21.0_linux_amd64.tar.gz
下载完成之后,用tar指令解压:tar -zxvf frp_0.21.0_linux_amd64.tar.gz
解压完成,进入frp目录文件夹:cd frp_0.21.0_linux_amd64
删除不需要客户端的文件:rm -f frpc frpc_full.ini frpc.ini
编辑frps.ini配置文件:vi frps.ini
按键盘上的INSERT键进入编辑状态,写入下面的内容,括号及里面内容不要
[common]
bind_port = 7000(frp服务端口,可自定义)
vhost_http_port = 8080(http访问端口,可自定义,我这里使用8080)
dashboard_port = 7500(访问dashboard端口)
dashboard_user = aaaaa(这里写frp控制台的管理用户名,自定义的)
dashboard_pwd =123456 (这里写frp控制台的管理密码,自定义的)
max_pool_count = 10(最大连接池数量)
authentication_timeout = 900 (超时验证时间,单位是秒)
subdomain_host =XXXXXX.cn(我的域名)
[ssh]
listen_port = 6000(服务器ssh访问端口,可自定义)
auth_token =abcdefg(客户端与服务器端身份验证,可自定义)
编辑好内容之后,按ESC键,然后输入“:wq”,按回车保存即可
启用frp服务:nohup ./frps -c ./frps.ini &
在浏览器中输入 你的域名:7500(如XXXXXX.cn:7500),如果弹出要求输入用户名和密码的界面,则表示frp服务器端配置成功,这时候输入frps.ini中设置的用户名和密码就可以登陆进去了,界面如下图所示
二、frp客户端配置访问群晖NAS及路由器
首先,需要在群晖里面打开SSH,打开方式:控制面板-->终端机和SNMP-->终端机,将“启用SSH功能”勾上,点击应用
使用putty登录群晖,IP地址就是群晖的IP地址,用户名和密码就是群晖的管理员用户和密码
登录成功之后,输入:sudo -i 切换到root用户,会要求再次输入密码
下载frp客户端,因为我的群晖是DS218+,所以下载32位的版本
下载:wget https://github.com/fatedier/frp/releases/download/v0.21.0/frp_0.21.0_linux_386.tar.gz
用tar指令解压:tar -zxvf frp_0.21.0_linux_386.tar.gz
解压完成,进入frp目录文件夹:cd frp_0.21.0_linux_386
删除不需要服务器端的文件:rm -f frps frps_full.ini frps.ini
编辑frpc.ini配置文件:vi frpc.ini
按键盘上的INSERT键进入编辑状态,写入下面的内容,括号及里面内容不要
[common]
server_addr = XXX.XXX.XXX.XXX(云服务器的IP地址)
server_port = 7000
auth_token=abcdefg(与服务器端的auth_token对应)
pool_count=1
[ssh1](别名,可自定义)
type = tcp (服务类型(tcp、http、https、udp))
local_ip = 127.0.0.1(内网IP地址,本机可以填写127.0.0.1)
local_port = 22
remote_port = 6001
[nas1](别名,可自定义)
type = http(服务类型(tcp、http、https、udp))
local_port = 5000(NAS端口,群晖默认是5000)
subdomain = nas(二级域名前缀,访问时用nas.XXXXXX.cn:8080就直接访问群晖了)
[web1](别名,可自定义)
type = http(服务类型(tcp、http、https、udp))
local_ip=192.168.2.1(内网IP地址,我这里是需要访问路由器,所以填写路由器的内网地址)
local_port = 80(端口号,一般是80端口)
subdomain = asus(二级域名前缀,访问时用asus.XXXXXX.cn:8080就直接访问路由器了)
配置完成之后,启动frp服务:nohup ./frpc -c ./frpc.ini &
然后在frp控制台界面可以看到刚才我们设置的这些内容
显示这样,就表示已经配置成功了,但是如果要访问,还需要在腾讯云里面进行域名解析
设置了域名解析之后,我们就可以访问frp里面设置内网穿透的页面了
三、设置群晖frp开机启动
putty登录群晖,输入:sudo -i,切换到root用户
新建脚本文件:vi /usr/syno/etc.defaults/rc.sysv/S99frp.sh
编辑脚本文件,按INSERT键进入编辑状态,输入下面内容
#/bin/bash
cd /root/frp_0.21.0_linux_386
nohup ./frpc -c ./frpc.ini &
按ESC键,输入“:wq”按回车保存退出
输入:cd /usr/syno/etc.defaults/rc.sysv ,进入文件目录
设置权限:chmod +x S99frp.sh
在群晖中设置开机自动启动,在群晖中打开 控制面板-->任务计划-->新增-->触发的任务-->用户定义的脚本
在常规中,输入任务名称,用户账号:root,事件:开机,将已启动勾选上
在任务设置中用户定义的脚本填上:/usr/syno/etc.defaults/rc.sysv/S99frp.sh,点击确定就完成了
四、windows下frp配置及实现windows桌面远程
根据windows版本下载对应的frp,我的电脑是windows server 2016操作系统,所以下载的是64位的版本
下载地址:https://github.com/fatedier/frp/releases/download/v0.21.0/frp_0.21.0_windows_amd64.zip
下载完成后,解压,然后配置frpc.ini,写入下面的内容,括号及里面内容不要,写好之后保存即可
[common]
server_addr = XXX.XXX.XXX.XXX(云服务器的IP地址)
server_port = 7000
auth_token=abcdefg(与服务器端的auth_token对应)
pool_count=1
[rdp](别名,可自定义)
type = tcp (服务类型(tcp、http、https、udp))
local_ip = 127.0.0.1(内网ip地址,本机可填写127.0.0.1)
local_port = 3389(内网远程桌面所需要的端口号,默认是3389)
remote_port = 33890(远程端口号,可以自定义)
设置windows开机自动启动
打开 控制面板-->所有控制面板项-->管理工具,找到任务计划程序,打开
在任务计划中点击创建任务,设置如下图,隐藏选项必须勾选,不然任务在运行时会弹出一个窗口,如果关闭窗口则frp服务就会关闭
在操作选项卡下面选择新建程序或脚本选择frp目录下的frpc.exe程序
添加参数那里输入:-c D:frp_0.21.0_windows_amd64frpc.ini
输入内容需要根据frp文件所在的路径填写
设置完成之后,直接右键-->运行即可
这时候,我们可以在frp控制台上看到刚才设置的这个远程
打开远程桌面连接,输入域名加端口号,如(XXXXX.cn:33890),就可以实现远程桌面连接了
五、性能测试
1、NAS传输
受限于云服务器的带宽只有1M,上传速度及下载速度只能达到130kb/s左右的速度,如果是群晖的话,建议使用自带的quickconnect,但是如果不能使用quickconnect功能(黑群晖),使用frp来操作上面的小文件及文档也是不错的选择。
2、web网页访问
首次访问加载速度较慢,但是加载完成之后操作页面内容还是比较流畅的。
3、远程桌面连接
远程桌面连接没有明显卡顿现象,操作很流畅,比较适合在家里远程单位电脑。
总结
写到这,大家是不是发现了,为什么只有客户端设置开机启动的教程,没有服务器端开机启动的教程,因为我在网上找了一个服务器端开机启动的教程,设置了一下,没报错,但是启动不成功,所以暂时没有写进来,而且以后服务器要用作web服务器使用,重启的机会很少,就懒得继续折腾了 。
现在家用带宽基本都是200M以上的下行带宽,20M以上的上行带宽,所以frp内网穿透的速度取决与云服务器的带宽,所以使用frp来使用群晖NAS在外网进行上传下载就不太现实,速度可以让你回到10多年前,但是操作几兆的小文件还是可以的。
如果经常需要在家里远程单位的电脑,使用frp进行桌面远程,比使用teamviewer这种远程工具更好用,而且teamviewer远程工具使用太频繁,就会认为你是商业用途,需要付费才能使用了。
最后,搭建frp的教程我也是参考网友写的教程来一步一步操作的,这里放上原文地址
[已注销]
校验提示文案
OranTing
校验提示文案
放逐之魂
校验提示文案
折腾的然爸
校验提示文案
qianp
校验提示文案
落霞艳
就是受不了1mb我才用的frp(挂在千兆鸡上)
校验提示文案
空少9
我按照你的教程进行到这一步打不开frp的界面,能帮我看看是什么原因吗?
校验提示文案
garryguo123
校验提示文案
迖文西
校验提示文案
oceanlovewj
校验提示文案
leiting3986
校验提示文案
zmgaode
校验提示文案
smzd买
校验提示文案
大胖胖的肉
校验提示文案
zwj0571
校验提示文案
易司
校验提示文案
宅猫嘟嘟
校验提示文案
放逐之魂
校验提示文案
CafeAlpha
单位内网的机器有时候需要从外网访问,但是没有域名不知道怎么折腾,如果您知道的话希望能不吝赐教
校验提示文案
omme
校验提示文案
非著名坐家
校验提示文案
大胖胖的肉
校验提示文案
值友4329288105
校验提示文案
smzd买
校验提示文案
zmgaode
校验提示文案
leiting3986
校验提示文案
oceanlovewj
校验提示文案
迖文西
校验提示文案
garryguo123
校验提示文案
买买吧吧
校验提示文案
空少9
校验提示文案
空少9
我按照你的教程进行到这一步打不开frp的界面,能帮我看看是什么原因吗?
校验提示文案
值友5275130788
校验提示文案
易司
校验提示文案
zwj0571
校验提示文案
落霞艳
就是受不了1mb我才用的frp(挂在千兆鸡上)
校验提示文案
omme
校验提示文案
CafeAlpha
单位内网的机器有时候需要从外网访问,但是没有域名不知道怎么折腾,如果您知道的话希望能不吝赐教
校验提示文案
qianp
校验提示文案
放逐之魂
校验提示文案