问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

使用FRP和阿里云服务器实现内网穿透连接远程桌面的详细教程

创作时间:
作者:
@小白创作中心

使用FRP和阿里云服务器实现内网穿透连接远程桌面的详细教程

引用
CSDN
1.
https://blog.csdn.net/chenmian12318/article/details/142916910

本文将详细介绍如何使用FRP(Fast Reverse Proxy)和阿里云服务器实现内网穿透,从而实现远程桌面连接。无论你是在家办公、远程教学还是需要访问公司内部资源,这篇文章都能帮助你轻松实现跨网络的远程连接。

一、环境准备

1.1 服务器

  • 操作系统:Ubuntu(以阿里云ECS为例)

1.2 客户端

  • 操作系统:Windows 10 或 11专业版

1.3 移动端

  • 任何设备

1.4 穿透工具


工作示意图

二、服务器配置

2.1 准备一台云服务器

  • 任意带有公网IP的服务器,建议带宽至少50Mb,以保证流畅体验。这里使用阿里云ECS服务器。

2.2 FRP下载

  • 进入FRP的项目网站,下载frp_0.60.0_linux_amd64.tar.gz

2.3 传输到服务器

  • 打开阿里云ECS服务器控制台,在侧边栏选择“实例”,即可看到创建的服务器,点击远程连接,使用Workbench远程连接
  • 在弹出的登陆窗口中输入创建服务器时设置的密码
  • 文件 - 打开新文件管理
  • 在左侧打开“opt”目录,点击“上传文件”,将下载好的frp_0.60.0_linux_amd64.tar.gz传输到服务器

2.4 解压FRP

  • 回到命令行,分别输入以下内容并回车解压刚才上传的文件
cd /opt
tar -zxvf frp_0.60.0_linux_amd64.tar.gz -C /opt

2.5 FRP配置(frps.toml)

  • 回到文件管理器,打开opt/frp_0.60.0_linux_amd64文件夹,编辑frps.toml文件
  • 服务端配置 | FRP这篇使用文档给出了frps.toml中各项配置说明,如果不会配置,可以根据上图给出的示例,根据提示进行修改使用。特别注意:要记住这里设置的bindPort、webServer.port、auth.token、webServer.user、webServer.password以及allowPorts,在后面的客户端配置中将会用到
bindAddr = "0.0.0.0" #服务端监听的 IP 地址,0.0.0.0表示监听所有网络接口
bindPort = 7100 #指定 FRP 服务端的监听端口,客户端将通过这个端口连接到 FRP 服务端,可以设置成别的
vhostHTTPPort = 28080 #指定虚拟主机 HTTP 服务监听的端口
webServer.addr = "0.0.0.0" #指定 FRP Web UI(管理界面)的绑定地址
webServer.port = 7500 #指定 FRP Web UI 的端口号,可以通过 7500 端口访问管理界面,可以设置成别的
webServer.user = "admin" #Web UI 登录所需的用户名,自由设置
webServer.password = "12345" #Web UI 登录所需的密码,自由设置
log.to = "/frpslog/frps.log" #指定日志输出的文件路径
log.level = "info" #日志的记录级别,info 表示记录一般的信息
log.maxDays = 3 #设置日志文件保留的天数,超过 3 天的日志文件将被自动删除
auth.method = "token" #指定认证方式,token 表示客户端和服务端通过 Token 进行身份认证
auth.token = "12345" #Token 用于客户端和服务端的身份认证,自由设置
allowPorts = [
    { start = 6000, end = 7000}, #定义允许客户端使用的端口范围,客户端可以使用 6000 到 7000 之间的端口进行映射
]

2.6 开启防火墙权限

  • 以阿里云服务器为例,在“安全组”的内网入方向中将bindPort, vhostHTTPPort, webServer.port以及客户端使用的端口号(应在allowPorts范围内)添加到允许策略内,将优先级设置为较大的数字,协议类型选择TCP

2.7 FRPS服务创建

  • 使用文本编辑器在 /etc/systemd/system 目录下创建一个 frps.service 文件
sudo vim /etc/systemd/system/frps.service

写入以下内容

[Unit]
Description = frp server # 服务名称,可自定义
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
# 启动frps的命令,需修改为步骤2.3中的frps的安装路径
ExecStart = /opt/frp_0.60.0_linux_amd64/frps -c /opt/frp_0.60.0_linux_amd64/frps.toml
[Install]
WantedBy = multi-user.target

2.8 FRPS服务启动

  • 参考使用 systemd | FRP 使用文档,对创建的服务可以进行以下操作
# 启动frp
sudo systemctl start frps
# 停止frp
sudo systemctl stop frps
# 重启frp
sudo systemctl restart frps
# 查看frp状态
sudo systemctl status frps

分别运行以下指令,开启服务并查看服务状态

sudo systemctl start frps
sudo systemctl status frps

如果看到下图所示的提示,说明服务器端已成功配置
打开浏览器输入 服务器公网IP:webServer.port值,在弹出的提示中输入设置的用户名(webServer.user)和密码(webServer.password) 登录,看到这样的界面说明web控制面板也已成功配置

三、客户端配置

3.1 FRP下载

  • 重新进入FRP的项目网站,下载frp_0.60.0_windows_amd64.zip

3.2 解压FRP

  • 将frp_0.60.0_windows_amd64.zip放到一个固定的文件夹,并解压到当前文件夹下

3.3 FRP配置(frpc.toml)

  • 进入frp_0.60.0_windows_amd64文件夹,编辑frpc.toml
  • 在配置完成后,将注释全部删除,保存并退出
[common]
tls_enable = true #true代表启用 TLS 加密连接
server_addr = 121.63.43.152 #指定 FRP 服务器的 IP 地址,也就是服务器的公网IP
server_port = 7100 #指定 FRP 服务器的端口号,与服务器端bindPort相对应
token = "12345" #连接到服务器时使用的身份验证令牌,与服务器端设定的token相同
[RDP] #具体的服务映射,RDP是名称,可以自定义
type = tcp #传输协议类型,tcp 表示使用 TCP 协议来转发流量
local_ip = 0.0.0.0 #本地监听的 IP 地址,0.0.0.0 表示客户端在所有网络接口上监听本地服务
local_port = 3389 #本地服务的端口号,3389 是 Windows 远程桌面协议(RDP)使用的端口号
remote_port = 6789 #值介于服务器端allowPort之间,远程服务器上监听的端口,当远程用户通过 121.63.43.152:6789 访问时,FRP 会将流量转发到客户端本地的 3389 端口

3.4 连接服务器

  • 在该文件夹上方的地址栏输入“cmd”,回车,进入命令提示符
  • 执行以下命令
frpc -c frpc.toml

如果看到以下的结果,说明已经成功连接上了服务器端
此时刷新浏览器的web控制面板,可以看到Client Counts由0变成了1,也就是这台客户端的连接

四、移动端连接

4.1 Mac

  • 在App Store中搜索“windows app”,获取App
  • 在右上角选择“添加电脑”
  • 在电脑名称处填写服务器公网IP:remote_port,按照以上示例的设置,这里应该填写121.63.43.152:6789,每个人的服务器公网IP不同,客户端使用的端口也不同,因此不能照抄“121.63.43.152:6789”
  • 完成后点击添加,双击连接远程电脑,弹出凭证输入界面,这里一般是被远程电脑上登陆的微软账号的邮箱和密码,输入用户名和密码,点击“继续”
  • 在弹出的窗口中点击“继续”
  • 至此你已成功在Mac上连接远程电脑!

4.2 iPhone/iPad(安卓类似)

  • 在App Store中搜索“Windows App Mobile”,获取App

  • 打开App后,在右上角的“+” —— “电脑”
  • 在电脑名称处填写服务器公网IP:remote_port,按照以上示例的设置,这里应该填写121.63.43.152:6789,每个人的服务器公网IP不同,客户端使用的端口也不同,因此不能照抄“121.63.43.152:6789”
  • 完成后点击存储,点击连接远程电脑,弹出凭证输入界面,这里一般是被远程电脑上登陆的微软账号的邮箱和密码,输入用户名和密码,点击“继续”
  • 至此你已成功在iPhone/iPad上连接远程电脑!

4.3 Windows

  • Windows10/11专业版自带远程桌面的工具,无需再下载工具,在下方任务栏搜索“远程桌面”,打开
  • 在计算机的输入框处输入服务器公网IP:remote_port,按照以上示例的设置,这里应该填写121.63.43.152:6789,每个人的服务器公网IP不同,客户端使用的端口也不同,因此不能照抄“121.63.43.152:6789”
  • 填写完成后点击连接,在弹出的窗口中选择“允许”或“同意”
  • 在需要登陆的弹出窗口中输入被远程电脑上登陆的微软账户的邮箱和密码,连接
  • 至此你已成功在Windows上连接远程电脑!
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号