FRP内网穿透实现多种功能及实用性测试

在9月份,腾讯云上有一个拼团购买云服务器的活动,90多块钱就能买15个月的云服务器,虽然配置很低,1G内存+1核CPU+1M带宽,这个配置的话,操作系统选择CentOS就好,选择windows系统会很卡,但是这个配置自己搭图个wordpress做博客还是足够了的,新用户还有购买域名的优惠券cn域名可以做到35块钱两年。当时我云服务器和域名一块购买之后,第一件事情当然是备案了,因为快到国庆假期,备案的时间又被延长,但是服务器不能这样放着浪费了,就试着搭一个frp内网穿透服务器。

需要准备的软件:Putty

frp下载地址

一、服务器端配置

使用putty登陆服务器

FRP内网穿透实现多种功能及实用性测试

用户名root,密码是你自己设置的服务器的密码

FRP内网穿透实现多种功能及实用性测试

登录成功之后,下载服务器对应的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(客户端与服务器端身份验证,可自定义)

frps.ini文件配置frps.ini文件配置


编辑好内容之后,按ESC键,然后输入“:wq”,按回车保存即可

启用frp服务:nohup ./frps -c ./frps.ini &

在浏览器中输入 你的域名:7500(如XXXXXX.cn:7500),如果弹出要求输入用户名和密码的界面,则表示frp服务器端配置成功,这时候输入frps.ini中设置的用户名和密码就可以登陆进去了,界面如下图所示

FRP内网穿透实现多种功能及实用性测试

二、frp客户端配置访问群晖NAS及路由器

首先,需要在群晖里面打开SSH,打开方式:控制面板-->终端机和SNMP-->终端机,将“启用SSH功能”勾上,点击应用

打开SSH打开SSH

使用putty登录群晖,IP地址就是群晖的IP地址,用户名和密码就是群晖的管理员用户和密码

登录成功之后,输入:sudo -i  切换到root用户,会要求再次输入密码

切换到root用户切换到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就直接访问路由器了)

frpc.ini配置frpc.ini配置

配置完成之后,启动frp服务:nohup ./frpc -c ./frpc.ini &

然后在frp控制台界面可以看到刚才我们设置的这些内容

FRP内网穿透实现多种功能及实用性测试

FRP内网穿透实现多种功能及实用性测试

显示这样,就表示已经配置成功了,但是如果要访问,还需要在腾讯云里面进行域名解析

FRP内网穿透实现多种功能及实用性测试

设置了域名解析之后,我们就可以访问frp里面设置内网穿透的页面了

访问路由器访问路由器

访问群晖NAS访问群晖NAS

三、设置群晖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

在群晖中设置开机自动启动,在群晖中打开 控制面板-->任务计划-->新增-->触发的任务-->用户定义的脚本

FRP内网穿透实现多种功能及实用性测试

在常规中,输入任务名称,用户账号:root,事件:开机,将已启动勾选上

FRP内网穿透实现多种功能及实用性测试

在任务设置中用户定义的脚本填上:/usr/syno/etc.defaults/rc.sysv/S99frp.sh,点击确定就完成了

FRP内网穿透实现多种功能及实用性测试

四、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内网穿透实现多种功能及实用性测试

在任务计划中点击创建任务,设置如下图,隐藏选项必须勾选,不然任务在运行时会弹出一个窗口,如果关闭窗口则frp服务就会关闭

FRP内网穿透实现多种功能及实用性测试

FRP内网穿透实现多种功能及实用性测试

在操作选项卡下面选择新建程序或脚本选择frp目录下的frpc.exe程序

添加参数那里输入:-c D:frp_0.21.0_windows_amd64frpc.ini

输入内容需要根据frp文件所在的路径填写

FRP内网穿透实现多种功能及实用性测试

设置完成之后,直接右键-->运行即可

FRP内网穿透实现多种功能及实用性测试

这时候,我们可以在frp控制台上看到刚才设置的这个远程

FRP内网穿透实现多种功能及实用性测试

打开远程桌面连接,输入域名加端口号,如(XXXXX.cn:33890),就可以实现远程桌面连接了

远程桌面远程桌面

五、性能测试

1、NAS传输

NAS上传NAS上传

受限于云服务器的带宽只有1M,上传速度及下载速度只能达到130kb/s左右的速度,如果是群晖的话,建议使用自带的quickconnect,但是如果不能使用quickconnect功能(黑群晖),使用frp来操作上面的小文件及文档也是不错的选择。

2、web网页访问

首次访问加载速度较慢,但是加载完成之后操作页面内容还是比较流畅的。

3、远程桌面连接

远程桌面连接没有明显卡顿现象,操作很流畅,比较适合在家里远程单位电脑。

总结

写到这,大家是不是发现了,为什么只有客户端设置开机启动的教程,没有服务器端开机启动的教程,因为我在网上找了一个服务器端开机启动的教程,设置了一下,没报错,但是启动不成功,所以暂时没有写进来,而且以后服务器要用作web服务器使用,重启的机会很少,就懒得继续折腾了FRP内网穿透实现多种功能及实用性测试 。

现在家用带宽基本都是200M以上的下行带宽,20M以上的上行带宽,所以frp内网穿透的速度取决与云服务器的带宽,所以使用frp来使用群晖NAS在外网进行上传下载就不太现实,速度可以让你回到10多年前,但是操作几兆的小文件还是可以的。

如果经常需要在家里远程单位的电脑,使用frp进行桌面远程,比使用teamviewer这种远程工具更好用,而且teamviewer远程工具使用太频繁,就会认为你是商业用途,需要付费才能使用了。

最后,搭建frp的教程我也是参考网友写的教程来一步一步操作的,这里放上原文地址

推荐关注:
每天涨点小知识
话题:每天涨点小知识 +关注
服务软件
分类:服务软件 +关注

提示

鼠标移到标签上方,

尝试关注标签~

评论36

发表评论请 登录
  • 最新
  • 最热
评论举报

请选择举报理由

89 36

关注数量超出限制,请先删除部分内容再尝试

关注数量超出限制,
请先删除部分内容再尝试

登录
注册
用户名/邮箱
密码
验证码
看不清?点击更换
看不清?点击更换 忘记密码?

已收藏
去我的收藏夹 >

已取消收藏
去我的收藏夹 >

小提示