1. 首页 > 知识 > 应用

通过 FRP 内网穿透并实现 VNC 远程访问 Mac 桌面

需要准备的东西有:

    一台链接到公网的服务器,本篇以 阿里云 为例,系统为 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 看看结果,正常启动如下图。

1.png

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 = tcp
local_ip = 127.0.0.1
local_port = 5900
remote_port = 5900
use_encryption = true
use_compression = true

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
use_encryption = true
use_compression = true

执行 ./frpc -c ./frpc.ini 启动连接,正常启动如下图。

2.png

注意:建立链接时如果出现报错,请检查公网服务器端口是否被限制,阿里云 等云服务需要在控制台配置安全组规则,如下图:

3.png

启用 KCP 时,一定要开启对应端口的 UDP 协议。

3. 开启远程桌面或 SSH 登录

以上服务都启动后,我们需要进入 Mac 的【系统偏好设置】->【共享】,勾选“屏幕共享”和“远程登录”,用户为“所有用户”。

4.png

3.1 VNC 登录 Mac

打开“访达(Finder)”,选择菜单【前往】->【链接服务器】,输入

vnc://x.x.x.x:5900(将 x.x.x.x 替换成公网服务器 IP 地址)

5.png

如果连接成功,就会出现下面的界面,只要输入 Mac 的用户名和密码就行了

6.png

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.plist
vim ~/Library/LaunchAgents/frpc.plist

frpc.plist 文件内容如下,注意文件中的 frpc 和 frpc.ini 路径,可以将这两个文件移到下方配置文件的路径下:

    Label    frpc    ProgramArguments         /usr/local/bin/frpc/frpc         -c     /usr/local/bin/frpc/frpc.ini        KeepAlive        RunAtLoad

加载并生效:

sudo chown root ~/Library/LaunchAgents/frpc.plist
sudo launchctl load -w ~/Library/LaunchAgents/frpc.plist

别忘了还需要保证 Mac 处于开机运行状态。至此,所有的配置都完成了。


本文由傻鸟发布,不代表傻鸟立场,转载联系作者并注明出处:https://shaniao.net/yingyong/630.html

加载中~

联系我们

在线咨询:点击这里给我发消息

微信号:

工作日:10:30-15:30,节假日休息