搭建RDP
最近有远程办公的需要,同时工作通勤距离较远,而且工作的笔记本必须用Windows系统,于是决定搭一个RDP工作站,能够随时连接远程桌面
准备RDP
在一切开始前,建议先了解关于OS中用户和会话的关系。在新版Windwos中,也支持多用户多会话的使用计算机,因此要先考虑好自己搭建远程桌面的目标是单会话还是多会话的,选择合适的RDP服务端
主要需要注意,在我的Windows10企业版中,自带的RDP只支持单会话操作,而大部分RDP服务端都是可以自行设置的
本文章只是本人的技术总结,仅供参考,务必根据自身情况选择合适的技术方案。
Linux
使用xrdp
Windows
先查看Windows版本,在专业版及以上的Windows自带RDP服务器,在设置里打开即可
而家庭版的RDP服务是被毙掉的,因此就又到了和微软勾心斗角的环节。可以使用RDPwrap来绕过限制
RDPwrap安装比较简单,下最新release脚本一键装即可,之后开RDPConf.exe
调设置,如果Listener state
一直不是Listening
,大概率是配置文件要更新(毕竟本体很多年没维护了)
在RDPwrap.ini中下载合适的版本然后替换掉原本的,Windows中默认位置为C:\Program Files\RDP Warp
,注意每次Windows更新后,尽量检查是否仍然起效
内网解析
有在内网远程访问主机的需要,但是主机可能随时启停,ip不固定,所以为其分配一个动态dns域名来随时解析至主机
使用ddns-go
ddns-go在Windows上的部署很方便,能够单命令安装服务,有web端的配置界面,基本属于傻瓜操作
如何操作在ddns-go的文档中写的非常详细了,在此简单带过,不再赘述
在dns服务商注册apikey,保存好填入配置
我们需要拿到内网地址,获取ip的方式选通过网卡获取,找到对应内网ip的网关。域名填写apikey对应账号可以操控的域名,如果你的DNS服务商api不支持新注册域名解析,就先创建一个域名解析让ddns修改

也可直接编辑yaml。可以在有图形化配置的地方保存后导入。下给出一例:
dnsconf:
- name: ""
ipv4:
enable: true
gettype: netInterface
url: https://myip.ipip.net, https://ddns.oray.com/checkip, https://ip.3322.net, https://4.ipw.cn, https://v4.yinghualuo.cn/bejson
netinterface: 以太网
cmd: ""
domains:
- omen.dedfaf.tech
ipv6:
enable: false
gettype: netInterface
url: https://speed.neu6.edu.cn/getIP.php, https://v6.ident.me, https://6.ipw.cn, https://v6.yinghualuo.cn/bejson
netinterface: ""
cmd: ""
ipv6reg: ""
domains:
- ""
dns:
name: alidns
id:
secret:
ttl: ""
user:
username:
password:
webhook:
webhookurl: ""
webhookrequestbody: ""
webhookheaders: ""
notallowwanaccess: true
lang: zh
内网穿透
有外网远程访问主机的需要,使用frp将3389端口暴露至公网
注意使用这种方法将电脑登录暴露公网有风险,建议完善登录措施,或者在公网ip上下功夫,例如反代关闭ip直链,请务必重视安全性
使用frp将RDP端口(默认3389)映射至外网端口即可。RDP默认使用tcp连接,如需要也可以将udp映射,rdp可以自行选择效果更好的协议