腾讯云frp 腾讯云轻量应用服务器
用CentOS云服务器搭建frp内网穿透服务
frp是Github上的一个项目,它是一种可以将内网IP映射到公网IP的内网穿透工具。一旦启用frp服务,原本没有公网IP的设备将因为frp的映射功能而获得一个公网IP。这样一来,互联网上的设备就可以通过访问这个公网IP的特定端口来访问该设备,从而解决了仅拥有内网IP的设备在互联网通信中遇到的难题。
实验环境
首先在腾讯云、阿里云等云服务器供应商处购买云服务器,如果是在校大学生,可以享受便宜的学生特惠服务器。
如果是初次接触云服务器的读者,可以参考以下博文:教程以阿里云为例,但不同的云服务器操作大同小异,稍作调整即可。
实验步骤
1.申请云服务器
2.配置frp服务端
远程连接自己的服务器,进入终端。进入终端后注意当前的用户是否为root,用户名可从启动服务器后的第一行文字获知:
图中红线处显示的字符串为"admin",说明我现在正处于admin账户下,需要切换到root账户,在终端中输入:
当看到红线最新弹出的命令行中"@"前的字符串变成"root"时,说明已经成功切换至root用户,此时,我们在终端中输入命令将路径切换至root目录下:
接下来,我们访问github,查看frp的最新版本。
本文使用的frp版本为v0.31.1,以下均用v0.31.1作为示例,frp版本如有不同,只需要将下面指令中的所有"v0.31.1"字段更换成目前的版本号即可。
从github上获取并且安装frp:
frp安装之后,进入目录并修改frp服务器端配置:
修改frps.ini内容如下:
修改完成,保存(修改时用到vi编辑器,对vi操作不熟悉的读者可以参考该博客: CentOS常用命令之:VI)
在终端中通过以下命令启动frp:
每次需要使用frp服务时,都必须在/root/frp_0.31.1_linux_amd64/目录下输入该命令启动frp服务端,如果觉得每次要用时都要打开比较麻烦,可以通过编写自启动模板使该服务开机自启动,具体的设置可以参考该博客:
3.在客户端下载并配置frp
在 github.com/fatedier/frp...下载对应版本的Windows版frp,由于本推文中,服务器端使用了frp_v0.31.1_linux_amd64.tar.gz,相应的,在Windows上应该下载frp_v0.31.1_windows_amd64.zip
将下载好的.zip文件解压到自己喜欢的目录,进入该文件夹,可以看到很多文件名中带有"frps"的文件以及文件名中带有"frpc"的文件,分别对应frp的服务器端和客户端,我们正在配置的是客户端,因此文件名中带有"frps"的文件均无需保留,可以删除。
删除后应具有以下文件/文件夹。
用记事本打开frpc.ini,编辑内容如下:
PS:
2. remote_port和server_port所用端口号不能被云服务器的其他进程占用,而且必须被云服务器的防火墙放行(我的印象中,阿里云默认不放行,需要在安全组中设置允许该端口的tcp/udp通信;腾讯云默认全放行,不用设置。)
3.保存时确认frpc.ini编码类型为UTF-8。
大功告成,可以运行了。在打开CMD或者Windows Terminal用cd命令进入frpc.ini所在目录,输入:
当出现类似下图的输出时,说明frpc.ini正常启动,已经可以通过公网IP对你的设备进行访问:
4.创建一键运行脚本(可选)
再做一个小小的优化,每次运行frp服务都要在cmd进入该目录输入指令,略显麻烦,因此,在该目录下创建一个runfrp.txt文档,在文档的第一行输入:
保存文件,修改文件名为runfrp.bat,以后只要双击这个.bat文件,就可以一键启动frp客户端服务了。
至此,frp配置完成。
frp内网穿透搭建幻兽帕鲁服务器
本文将指导您如何在腾讯云上利用frp内网穿透技术搭建幻兽帕鲁服务器,以实现国内外服务器的顺畅连接。
对于国内服务器,您可以直接运行腾讯云提供的预置安装脚本,链接为 GitHub- MvsCode/frps-onekey。只需一键安装,按照提示进行操作,无需额外配置,全程按回车即可完成。
对于国外服务器,虽然脚本可能需要稍作调整,但基本流程类似。安装完成后,您会得到一个配置文件,如下所示:
接下来,前往frp的官方网站获取客户端,网址是 github.com/fatedier/frp。下载并解压客户端到桌面,打开frpc.toml配置文件。
对于初次使用者,推荐按照官方文档中的示例填写配置,确保每一步都清晰明了。
配置完成后,启动frpc服务,此时您可以打开幻兽帕鲁服务器,确认frp内网穿透已成功设置,内外网络间的连接将畅通无阻。
Docker安装frp实现远程桌面连接
[TOC]
由于没有公网IP,无法远程连接家里的电脑,搜到了 frp这个项目,尝试使用后发现效果不错,所以写出安装过程分享。
frp是一个反向代理工具,可以将流量转发到目标主机,包括TCP,UDP,HTTP,HTTPS。其基本原理是目标主机安装客户端连接到代理服务器建立固定连接,客户主机通过代理服务器连接到目标主机进行访问。
市面上有向日葵,TeamViewer也是类似原理,只不过这里变成代理服务器需要我们自己提供,比如从腾讯云或者阿里云购买一台轻量服务器作为代理服务器,有固定的公网IP可以访问。自建服务器的好处是带宽独享,可以有更稳定的连接效果。
而制作镜像是希望能够方便多次部署。
SELinux是关闭状态,不需要处理
防火墙是关闭状态,把防火墙开启
提前开放一段端口范围,用于frp流量转发。
查看docker
docker还没安装,需要自己安装。
添加docker的安装源。
查看docker-ce版本
这里看到提示 versionlock,由于只是安装frp,所以先把锁删掉。
Docker可以默认安装最新版本,或者指定版本安装,分别指令如下。
这里直接安装最新版本,等待安装完成
安装完后确认docker版本,并启动docker服务
登录代理服务器,创建目录并将frp复制到目录下
将frps.ini备份并编辑frps.ini。
编辑Dockerfile
配置完毕,可以开始构建镜像
构建需要拉取CentOS,根据网速可能需要等待一会儿
查看镜像,可以看到镜像已经制作完成,TAG是v1
基于镜像开启容器
查看监听端口是否开启
查看容器日志
目前看来一切正常。尝试访问监控面板。
之前配置端口 dashboard_port= 20001,假设代理服务器IP是106.13.127.200,那么通过 访问监控面板
正常情况下,会提示输入之前配置的用户和密码,并看到如下页面
代理服务器配置好后,配置目标主机,
关于远程连接的配置这里不做说明,默认已配置好远程连接的参数,只是需要代理服务器中转。
frpc和frps配置类似,编辑frpc.ini
具体配置
运行frpc
查看frpc的日志frpc.log
查看frps的日志
目标主机与代理服务器成功建立TCP和UDP连接
客户主机打开远程桌面连接,输入IP和端口进行连接106.13.127.200:20010
可以看到成功连接,并且已启用UDP
frp也支持P2P模式,即客户主机和目标主机直接建立连接,理论上会有更好的连接效果。但是由于现实中的网络环境,这种模式可能失败。本人尝试过有失败情况,也有成功情况。可以参考frp文档自行尝试。
Windows远程桌面会尝试使用UDP提供更好的效果,所以这里同时配置了TCP和UDP代理。如果希望有更好的效果,可以考虑配置GPU渲染。关于远程桌面的流量和GPU有机会其他文章说明。