前言
这篇文章是有关于使用RD Client进行远程连接windows电脑的教程,但其实很多内容都适用于此环境的扩展情况,如连接一台没有公网IP的设备,对其进行SSH远程连接等。
起初写这个只是为了偷懒,能用平板远程连接电脑,这样就不用上课背着电脑去啦
关于技术
1、RD Client
市面上其实是有着许多成熟的远程桌面软件,例如Team Viewer。但是RD Client有着许多远比远程桌面更强大的功能,RD用的是微软自家的远程协议,兼容性非常好,使用起来甚至就像是一台Surface。
2、内网穿透
RD Client配置起来较为繁琐,因为它默认只支持局域网下进行使用,所以当我们不能保证在同一网络下使用的话就一定需要内网穿透来解决这个问题。
内网穿透,也即 NAT 穿透,由于大部分的私人设备都不具备公网IP,所以需要通过一台带有公网IP的NAT设备对内网设备形成一对多的映射,在这种情形下,我们的服务器就需要成为一台具有公网IP的NAT设备,对我们的电脑进行映射,使得在其他设备访问服务器时能将收到的数据转发至我们的电脑。
3、反向代理
在理解了内网穿透之后,我们就可以进行最关键的一步了,反向代理。
反向代理是指客户端向代理服务器发送请求,代理服务器转发给内网中的真实处理服务器,获取到内容后返回给客户端。这样我们只需要让两台设备都访问NAT服务器,就能实现内网穿透。
进行反向代理的话,有很多的软件都能做到,这里我使用的是一个免费的反向代理软件FRP。
操作步骤
1、服务端配置
1、下载FPR
前往Github 的 Release 中下载到最新版本的服务端
可以指定安装目录,此处使用的是 /usr/local/frp
(注意最新的FRP版本号)
cd /usr/local/frp
wget https://github.com/fatedier/frp/releases/download/v0.45.0/frp_0.45.0_linux_amd64.tar.gz
解压文件
tar -zxvf frp_0.45.0_linux_amd64.tar.gz
进入解压后的文件目录中修改 frps.ini 配置文件
[common]
#frps服务端口
bind_port = 7000
#控制台端口
dashboard_port = 7500
#控制台用户名
dashboard_user = admin
#控制台密码
dashboard_pwd = admin
#认证方式为token
authentication_method = token
#开启连接时校验token
authenticate_new_work_conns = true
#要校验的token值
token = 123456
#开启Prometheus监控系统。
enable_prometheus = true
tls_enable = true
2、设置开机自启动
使用systemctl来控制启动,编辑 frps.service
sudo vim /lib/systemd/system/frps.service
在frps.service里写入以下内容
(注意修改启动命令为FPR实际安装目录)
[Unit]
Description=frps service
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
#Restart=always
Restart=on-failure
RestartSec=5s
#启动服务的命令!!!注意修改为你的FRP实际安装目录!!!
ExecStart=/usr/local/frp/frp_0.45.0_linux_amd64/frps -c /usr/local/frp/frp_0.45.0_linux_amd64/frps.ini
[Install]
WantedBy=multi-user.target
保存后运行以下命令
# 设置开机自启动
sudo systemctl enable frps
# 启动应用
sudo systemctl start frps
其他常用命令
# 重启应用
sudo systemctl restart frps
# 停止应用
sudo systemctl stop frps
# 查看应用的日志
sudo systemctl status frps
3、防火墙开放端口
**请自行选择开放防火墙端口的方式,须开放配置文件中的服务端口和控制台端口**
4、服务端的Dashbord
直接访问服务器的7500端口
2、客户端配置
1、下载FPR
前往Github 的 Release 中下载到最新版本的客户端
Windows参考如下图
解压文件,进入文件目录,并修改 frpc.ini 配置文件
[common]
#运行fprs的服务器地址
server_addr = xx.xx.xx.xx
#frps运行的端口,需要跟fprs.ini的bind_port值保持一致
server_port = 7000
#需要与fprs.ini的值保持一致才能连接上
authentication_method = token
#需要与fprs.ini的值保持一致才能连接上
authenticate_new_work_conns = true
#需要与fprs.ini的值保持一致才能连接上
token = 123456
#可以是任意名字,表示这个链接的名字,比如要映射多个链接需要多个不同的名字
[ssh]
#协议类型
type = tcp
#将本地127.0.0.1的
local_ip = 127.0.0.1
#3389端口
local_port = 3389
#映射到fps的服务器上的3389端口上
remote_port = 3389
设置开机自启动
3、远程桌面工具安装
很惨,远程桌面这功能专业版直接可以设置,网上随便百度一下开启远程桌面就可以,而家庭版就没那么舒服了,需要自己安装远程桌面工具。
前往RDP Wrapper下载最新版安装工具,参考下图
非常牛批,傻瓜式安装,效果如下图即为安装成功
3、用RD Client连接客户端
进入应用商店下载RD Client并打开应用,操作如下
电脑名称中填写 服务器地址:remote_port端口号 如 xxx.xxx.xxx.xxx:3389
用户账户为windows登录账户的用户名和密码,用户名可通过cmd命令whoami进行查询
打开管理员模式可以获得更高的权限
设备和音屏重定向的选项更具需要选择,将获得更好的使用体验
存储之后即可进行远程连接