Docker安装frp实现远程桌面连接
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker安装frp实现远程桌面连接相关的知识,希望对你有一定的参考价值。
参考技术A[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,那么通过 http://106.13.127.200:20001 访问监控面板
正常情况下,会提示输入之前配置的用户和密码,并看到如下页面
代理服务器配置好后,配置目标主机,
关于远程连接的配置这里不做说明,默认已配置好远程连接的参数,只是需要代理服务器中转。
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有机会其他文章说明。
云服务器系列2-frp-云服务器内网穿透windows远程控制实践
这里试试用内网穿透的方式实现自己的电脑和公司的电脑互相远程连接,因为自己是家庭版的,所以这里要多一步步骤,先实践能被远程控制的功能,这里纯实践为主,如果本身服务器宽带不太好带来的体验差则试试用回teamviewer吧。
文章目录
开启远程桌面-因为是家庭版,所以要找下解决方案,如果不是家庭版,则简单开启可远程就行了
Win10 家庭版启用远程桌面服务
解决win10上“RDP Wrapper里的Not supported“问题
开始弄内网穿透
在云服务器上配置frp
参考
云服务器系列1-frp-云服务器内网穿透本地linux实践的云服务器上章节
在客户端windows端上配置frp
去下载最新frp
https://github.com/fatedier/frp/releases
windows下载地址
https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_windows_amd64.zip
更改frpc.ini文件
服务端端口8003要开启可正常访问
启动
在cmd命令窗口输入
frpc -c frpc.ini
终验:测试用云服务的ip访问远程访问到本地windows
可以访问上了
参考
以上是关于Docker安装frp实现远程桌面连接的主要内容,如果未能解决你的问题,请参考以下文章