admin 管理员组

文章数量: 887018

win11远程桌面访问--基于云端服务器(腾讯云为例)&frp的内网穿透实现

  • frp介绍
  • 服务器账号配置
    • 服务器安装ubuntu系统
    • 服务器 ubuntu系统内配置frps开机自启动
      • 下载服务器系统对应的frp软件
      • 添加配置服务器端frps开机自启动的脚本
      • 执行命令启用脚本
      • 查看服务状态
      • 云服务器对应涉及端口的开放
  • win11远程机器的配置
    • win11中配置frpc开机自启动

frp介绍

frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。关于frp的详细介绍详见github。

frp的工作架构如下图,主要是在服务端部署frps,在待访问的远程机器上部署frpc,实现服务端对远程机器的反向代理。通过访问服务端来实现对远程机器的访问。

服务器账号配置

假设已经拥有了云端服务器账号,这里以腾讯云界面进行展示。

服务器安装ubuntu系统

我这边是腾讯的轻量应用服务,2核、4G、80G硬盘、8M带宽、1200G/月,去年双十二活动买了一年的75元。这里直接创建安装了ubuntu的镜像,后续相关配置均基于ubuntu来操作。

服务器 ubuntu系统内配置frps开机自启动

下载服务器系统对应的frp软件

frp的github链接在此frp我这边就要下载形式为frp_x.xx.x_linux_amd64.tar.gz的版本。我这边具体下载好的版本为:frp_0.34.3_linux_amd64.tar.gz
需要解压:

tar -zxvf frp_0.34.3_linux_amd64.tar.gz

需要编辑frps.ini文件 :

[common]
bind_port = 7000 # frp服务的端口号,可以自己定
dashboard_port = 7500 # frp的web界面的端口号
dashboard_user = user # web界面的登陆账户,自己修改
dashboard_pwd = pass # web界面的登陆密码,自己修改
authentication_method = token
token = xxxxx # frp客户端连接时的密码,自己修改

添加配置服务器端frps开机自启动的脚本

首先需要新建 /etc/systemd/system/frps.service 之后编辑frps.service内容为:

[Fusion] # 可以修改为你喜欢的样子
Description=Frp Server Daemon # 可以修改为你喜欢的描述
After=syslog.target network.target
Wants=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/frp/frps -c /usr/local/bin/frp/frps.ini # 修改为你的frps实际安装目录
ExecStop=/usr/bin/killall frps
#启动失败1分钟后再次启动
RestartSec=1min
KillMode=control-group
#重启控制:总是重启
Restart=always

[Install]
WantedBy=multi-user.target

执行命令启用脚本

sudo systemctl enable frps.service
sudo systemctl start frps.service

查看服务状态

sudo systemctl status frps.service

如果webshell中是running的话就说明可以了。

云服务器对应涉及端口的开放

上面都进行完后,云服务器端需要开放以上涉及到的端口,即所有的port(后面win11的端口映射也需到这里来开放)。腾讯云中是在防火墙选项进行开放配置。

此外,在浏览器输入 [云服务器的公网ip]:dashboard_port 即可访问到你的 frp的web管理界面。

win11远程机器的配置

win11中配置frpc开机自启动

1、去github下载frp形式为 frp_x.xx.x_windows_amd64.tar.gz的版本,解压后放入固定文件夹下。我下载的是frp_0.43.0_windows_amd64.tar.gz,并将解压后文件夹重命名为frp。
2、修改frp下frpc.ini内容:

[common]
server_addr = xx.xx.xx.xx # 自己云端服务器的公网ip地址
authentication_method = token # 云端服务器token
token = xxxxxx # 云端服务器token值
server_port = 7000 # 云端服务器的bind_port
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 3389 # win11远程机器的远程桌面端口,一般都是固定的3389
remote_port = 6000 # 自定义云服务器映射端口(3389的远程映射),需在云服务器防火墙对其进行开放配置

3、windows中可使用winsw来部署常驻服务。去github下载WINSW,我下载的是WinSW v2.x.x,第一次下载的最新的WinSW v3.0.0-alpha.10,但是服务老是启动不了,换了v2老版本就好了于是就沿用了v2版本。
4、将2中下载的文件名改为winsw.exe(这里改不改都行,改名只是个人习惯而已),将其放在frp文件夹下面。
5、frp文件夹下新建winsw.xml,内容最好在代码编辑器中编辑,txt格式容易出问题。内容如下:

6、以管理员的身份cmd到frp文件夹下,执行命令:

.\winsw install
.\winsw start

上面两句运行后显示成功就可以了,最后也可以通过以下命令查看服务状态:

.\winsw status

最后可以重启电脑,使用远程桌面连接(计算机:云端服务器的公网ip地址:remote_port)来远程访问试试看。

PS:远程ubuntu机器的内网穿透访问可以参考稚晖君的文章

本文标签: 腾讯 为例 云端 内网 远程桌面