frp 内网穿透 实现MAC远程桌面

起因

2019-10月的某天,我在公司加(hua)班(shui),媳妇从家里发来消息

媳妇:家里电脑怎么登陆不了谷歌邮箱?

(因为在国庆期间,vps被封,现在已经从Shadowsocks转到V2Ray,家里电脑未能及时配置梯子)

我:翻墙软件更改了,我把客户端软件发给你,你安装后配置下

媳妇:好麻烦呀,你能不能远程操作?

我:呃。。。这个。。。不能。。。

媳妇:

媳妇:

我:。。。。。。

准备

因为家里的电脑和公司的电脑处于不同的局域网,无法直接使用VNC进行屏幕共享,

所以需要内网穿透,使家里的电脑能够被外网访问。

frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 httphttps 应用协议提供了额外的能力,且尝试性支持了点对点穿透。

准备工作:

  • 可访问的公网 IP
  • 处于家庭局域网的 Mac
  • 处于公司局域网的 Mac

frps 服务端 (ubuntu-16.04-x86_64)

在具有公网 IP 的服务器上搭建服务端

  1. 确定frp版本

    github releases 页面可查看支持的版本,我使用的是 frp_0.29.1_linux_amd64.tar.gz

  2. 下载安装

     mkdir frp
        
     cd frp
        
     wget https://github.com/fatedier/frp/releases/download/v0.29.1/frp_0.29.1_linux_amd64.tar.gz
        
     tar -zxvf frp_0.29.1_linux_amd64.tar.gz
        
     cd frp_0.29.1_linux_amd64.tar.gz
    
  3. 配置 frps.ini

     [common]
     bind_port = 7000
    
  4. 启动 frps

     ./frps -c ./frps.ini
    
  5. 配置后台运行

    • 安装 supervisor

        sudo apt-get install supervisor
      
    • 配置 frp.conf

        vi /etc/supervisor/conf.d/frp.conf
      
    • frp.conf 内容

        [program:frp]
        command = /root/frp/frp_0.29.1_darwin_amd64/frps -c /root/frp/frp_0.29.1_darwin_amd64/frps.ini
              
        autostart = True
        autorestart = True
      
    • supervisorctl 启动

        supervisorctl update
      
    • supervisorctl 查看状态

        supervisorctl status
      

frpc 客户端 (MacOS Mojave)

在处于家庭局域网的 Mac 上搭建客户端

  1. 确定frp版本

    MAC 需要使用 darwin_amd64 结尾的版本,我使用的是 frp_0.29.1_darwin_amd64.tar.gz

  2. 下载安装

     mkdir frp
        
     cd frp
        
     wget https://github.com/fatedier/frp/releases/download/v0.29.1/frp_0.29.1_darwin_amd64.tar.gz
        
     tar -zxvf frp_0.29.1_darwin_amd64.tar.gz
        
     cd frp_0.29.1_darwin_amd64.tar.gz
    
  3. 配置 frpc.ini

    server_addr 配置为可访问的公网IP server_port 和服务端(frps.ini)的 bind_port 一致

    local_portVNC 的默认端口号 5900

    remote_port 为屏幕共享时所输入的IP地址的端口号

     [common]
     server_addr = xx.xx.xx.xx
     server_port = 7000
        
     [vnc]
     type = tcp
     local_ip = 127.0.0.1
     local_port = 5900
     remote_port = 35900
     use_encryption = true
     use_compression = true
    
  4. 启动 frps

     ./frps -c ./frps.ini
    

测试连接

使用处于公司局域网的 Mac 测试连接

  1. 使用快捷键 command + k 唤出连接服务器页面

  2. 输入 公网 IP 和 remote_port 指定的端口号

    例如: vnc://182.185.42.38:35900

  3. 输入用户名和密码进行连接即可

  4. 连接成功

Loading Disqus comments...
Table of Contents