使用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 穿透工具
- FRP:开源项目,版本v0.60.0
- 下载地址:Release v0.60.0 · fatedier/frp · GitHub
- 备用下载链接:https://pan.baidu.com/s/1LMEWa6xysnFcPwiBsNJFZA?pwd=tumd
工作示意图
二、服务器配置
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上连接远程电脑!
热门推荐
属兔的人可以戴黑曜石吗:女性适用与否探讨
如何快速学日语:实用技巧与策略
最新隔夜酒驾怎么处理
冬季保暖,到底选羽绒还是棉服?
春季蔬菜种植指南:这些蔬菜最适合春季露地栽培
常用的NoSQL数据库及其特点
亭湖法院发布5个消费者权益保护典型案例,助您理性维权
食品级一次性手套选择什么材质好 一次性食品级手套执行标准
怎么通过供应商管理优化决策建议提升供应链效率?
进出口货物申报注意事项与流程详解
富可敌市,江阴跻身第二个5000亿大县
从基本面和技术面分析贵州茅台,贵州茅台深度解析:基本面与技术面综合考量
xR技术是在炒作概念?如何客观理解xR的概念和前景?
临床实践中的病情评估与治疗方案调整
八字命理如何取格局
“培训贷”套路多变,小雨点成消费者的“大山”?
农产品怎么在网上销售
怎样找到前往目的地的正确路线?寻找过程中可能遇到哪些问题?
红茶菌液的保存方法:如何长时间保存并保持质量?
俄罗斯防空系统到底是真强还是弱?从实战看还是很不输美国?
中学校长属于什么级别的干部?
自动驾驶技术解决物流痛点,提升行业效率
如何加强部门之间的沟通与协作
企业炒股收益怎么纳税?一文详解企业税务处理要点
GIE:三种内镜技术治疗胆总管结石(≥15mm)的疗效及安全性比较
四种鱼Omega-3含量丰富,沙丁鱼含量最高
预防脑梗和脑出血:医生推荐的六大检查项目
【百姓健康 有我守护】科普 | 代糖食品可以敞开吃吗?
椅子高度多少合适? 这样调整最合适
汇川伺服驱动器报警代码88888的故障排查与解决方法