阿勒泰 发表于 2022-4-18 10:48
  
感谢分享,有助于工作,学习了!!!
Hacking 发表于 2022-5-23 14:29
  
感谢分享有助于工作和学习!
#干货满满#通过 FRP 内网穿透并实现 VNC 远程访问 Mac 桌面
  

cyq 40701人觉得有帮助

{{ttag.title}}
受疫情影响,很多人都开始了远程办公。部分公司平时没有做好准备,导致一时半会儿链接不上公司内网的服务器,更别说部署虚拟专用网络了。这篇文章主要介绍 FRP 的使用方法,虽然没法解决当前连不上内网的问题,但可作为今后的预防措施,在关键时刻助你一臂之力。
需要准备的东西有:
  • 一台链接到公网的服务器,本篇以 阿里云 为例,系统为 Debian 64 位
  • 一台处于内网的 Mac,可以访问互联网

1. 公网服务器部署 FRP 服务端 frps
下载 FRP 程序 ,确保和服务器匹配:
# 下载程序wget https://github.com/fatedier/frp/releases/download/v0.31.2/frp_0.31.2_linux_amd64.tar.gz# 解压缩tar -zxvf frp_0.31.2_linux_amd64.tar.gz# 进入目录cd frp_0.31.2_linux_amd64
解压后可以看到有 8 个文件
frpc          # 客户端程序frpc_full.ini # 完整的客户端配置文件frpc.ini      # 客户端配置文件frps          # 服务端程序frps_full.ini # 完整的服务端配置文件frps.ini      # 服务端配置文件LICENSE       # 服务端配置文件systemd       # 开机启动服务文件
编辑 frps.ini,如下:
[common]bind_port = 7000        # 用于和 FRP 客户端通信kcp_bind_port = 7000    # 加速 TCP 访问,与 bind_port 值一致token = 12345678        # 核实身份用,加了更安全
运行 ./frps -c ./frps.ini 看看结果,正常启动如下图。
2. 内网设备部署 FRP 客户端 frpc
下载 FRP 程序 ,Mac 版的名字是这样的 frp_x.x.x_darwin_amd64.tar.gz,并解压。
编辑解压后的 frpc.ini 文件,如下:
[common]server_addr = x.x.x.x      # 公网服务器 IP 地址server_port = 7000         # 绑定端口,和服务端一致protocol = kcp             # 开启加速token = 12345678           # 与服务端一致; login_fail_exit = false  # 无网络时一直等待不退出[vnc]type = tcplocal_ip = 127.0.0.1local_port = 5900remote_port = 5900use_encryption = trueuse_compression = true[ssh]type = tcplocal_ip = 127.0.0.1local_port = 22remote_port = 6000use_encryption = trueuse_compression = true
执行 ./frpc -c ./frpc.ini 启动连接,正常启动如下图。
注意:建立链接时如果出现报错,请检查公网服务器端口是否被限制,阿里云 等云服务需要在控制台配置安全组规则,如下图:
启用 KCP 时,一定要开启对应端口的 UDP 协议。
3. 开启远程桌面或 SSH 登录
以上服务都启动后,我们需要进入 Mac 的【系统偏好设置】->【共享】,勾选“屏幕共享”和“远程登录”,用户为“所有用户”。
3.1 VNC 登录 Mac
打开“访达(Finder)”,选择菜单【前往】->【链接服务器】,输入
vnc://x.x.x.x:5900(将 x.x.x.x 替换成公网服务器 IP 地址)
如果连接成功,就会出现下面的界面,只要输入 Mac 的用户名和密码就行了
3.2 SSH 登录 Mac
在终端里执行 ssh Mac用户名@x.x.x.x -p 6000(将 x.x.x.x 替换成公网服务器 IP 地址),输入密码后即可登录成功。
4. 添加自动启动4.1 将 frps 加入自动启动
进入公网服务器,执行下列命令:
sudo cp /xxx/frps /usr/bin/       # 将执行文件移入系统目录sudo cp /xxx/frps.ini /etc/frp/   # 将配置文件移入系统配置目录# 添加自启动配置sudo cp /xxx/systemd/frps.service /lib/systemd/system/ sudo systemctl daemon-reload       # 重新加载配置sudo systemctl enable frps.service # 启用 frps 开机启动sudo systemctl start frps.service  # 启动 frps 服务systemctl status frps.service      # 查看 frps 服务状态4.2 将 frpc 加入自动启动
进入内网 Mac 系统,执行下列操作:
# 编辑自启动文件touch ~/Library/LaunchAgents/frpc.plistvim ~/Library/LaunchAgents/frpc.plist
frpc.plist 文件内容如下,注意文件中的 frpc 和 frpc.ini 路径,可以将这两个文件移到下方配置文件的路径下:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//ENhttp://www.apple.com/DTDs/PropertyList-1.0.dtd ><plist version="1.0"><dict>    <key>Label</key>    <string>frpc</string>    <key>ProgramArguments</key>    <array>     <string>/usr/local/bin/frpc/frpc</string>         <string>-c</string>     <string>/usr/local/bin/frpc/frpc.ini</string>    </array>    <key>KeepAlive</key>    <true/>    <key>RunAtLoad</key>    <true/></dict></plist>
加载并生效:
sudo chown root ~/Library/LaunchAgents/frpc.plistsudo launchctl load -w ~/Library/LaunchAgents/frpc.plist
别忘了还需要保证 Mac 处于开机运行状态。至此,所有的配置都完成了。

打赏鼓励作者,期待更多好文!

打赏
28人已打赏

发表新帖
热门标签
全部标签>
每日一问
2024年技术争霸赛
安装部署配置
技术盲盒
技术笔记
干货满满
产品连连看
2023技术争霸赛专题
每周精选
信服课堂视频
功能体验
秒懂零信任
新版本体验
GIF动图学习
运维工具
技术晨报
功能咨询
通用技术
自助服务平台操作指引
问题分析处理
标准化排查
纪元平台
技术咨询
排障笔记本
华北区交付直播
畅聊IT
专家问答
技术圆桌
测试报告
每日一记
用户认证
原创分享
解决方案
VPN 对接
项目案例
地址转换
存储
技术争霸赛
深信服技术支持平台
卧龙计划
北京区每日一练
答题自测
在线直播
MVP
网络基础知识
升级
安全攻防
上网策略
日志审计
流量管理
云计算知识
sangfor周刊
SANGFOR资讯
专家分享
技术顾问
信服故事
SDP百科
终端接入
授权
设备维护
资源访问
虚拟机
迁移
加速技术
产品预警公告
玩转零信任
信服圈儿
S豆商城资讯
「智能机器人」
追光者计划
社区帮助指南
答题榜单公布
华北区拉练
天逸直播
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV

本版版主

12
185
6

发帖

粉丝

关注

本版达人

LoveTec...

本周分享达人

新手24116...

本周提问达人