frp 实现内网穿透:随时随地远程控制你的 Mac

发布时间:2026/7/2 7:22:13

frp 实现内网穿透:随时随地远程控制你的 Mac 家里 Mac 性能爆表公司电脑想随时连怎么办?一、为啥需要 frp家里 Mac 没有公网 IP外网无法直接访问。Cloudflare Tunnel 只能转发 HTTP/HTTPS不能转发 SSH、Flink RPC、Spark Master 等 TCP 端口。我有一台腾讯云 2核4G 小服务器虽然装不了大数据组件但做内网穿透绰绰有余。frp是一个高性能的反向代理她让公网 IP 的云服务器变成“接线员”所有从外网来的请求都通过它转发到你的 Mac 上。二、整体架构腾讯云上运行frp 服务端frps监听特定端口如 7000。家里 Mac 运行frp 客户端frpc主动连接到云服务器的 7000 端口建立持久隧道。公司电脑上通过访问云服务器的某个端口如云服务器IP:2222流量就会被转发到 Mac 的 22 端口实现远程 SSH。三、腾讯云服务端配置腾讯云 2核4G1. 下载并安装 frp登录腾讯云服务器安装frpcd /opt wget https://github.com/fatedier/frp/releases/download/v0.69.1/frp_0.69.1_linux_amd64.tar.gz tar -xzf frp_0.69.1_linux_amd64.tar.gz mv frp_0.69.1_linux_amd64 frp cd frp2. 编辑frps.toml创建配置文件frps.toml使用新版本的 TOML 格式bindPort 7000 auth.token 在这里生成一个32位强密码bindPort服务端监听端口客户端会连接这个端口。auth.token认证令牌必须一致才能连接防止被扫。3. 启动服务端测试运行./frps -c frps.toml看到frps started successfully就说明启动成功配置为系统服务可选推荐使用 systemdsudo tee /etc/systemd/system/frps.service EOF [Unit] Descriptionfrp server Afternetwork.target [Service] Typesimple ExecStart/opt/frp/frps -c /opt/frp/frps.toml Restarton-failure [Install] WantedBymulti-user.target EOF sudo systemctl daemon-reload sudo systemctl enable frps sudo systemctl start frps查看状态sudo systemctl status frps4. 开放安全组端口在腾讯云控制台安全组中添加入站规则端口7000来源为0.0.0.0/0允许所有 IP 连接 frp 服务端建议加白名单只放你公司出口 IP 或你自己家的 IP。四、客户端配置你家里的 Mac1. 下载 frparm64 版本cd ~/Downloads curl -LO https://github.com/fatedier/frp/releases/download/v0.69.1/frp_0.69.1_darwin_arm64.tar.gz tar -xzf frp_0.69.1_darwin_arm64.tar.gz mv frp_0.69.1_darwin_arm64 ~/frp cd ~/frp2. 编辑frpc.tomlserverAddr 你的腾讯云公网IP serverPort 7000 auth.token 和frps.toml里完全一样的密码 [[proxies]] name ssh type tcp localIP 127.0.0.1 localPort 22 remotePort 22223. 启动客户端测试./frpc -c frpc.toml看到start proxy success等日志就表示隧道建立。测试后可以配置开机自启在 Mac 上使用launchd。创建一个 plist 文件~/Library/LaunchAgents/com.frpc.plist?xml version1.0 encodingUTF-8? !DOCTYPE plist PUBLIC -//Apple//DTD PLIST 1.0//EN http://www.apple.com/DTDs/PropertyList-1.0.dtd plist version1.0 dict keyLabel/key stringcom.frpc/string keyProgramArguments/key array string/Users/你的用户名/frp/frpc/string string-c/string string/Users/你的用户名/frp/frpc.toml/string /array keyRunAtLoad/key true/ keyKeepAlive/key true/ /dict /plist加载服务launchctl load ~/Library/LaunchAgents/com.frpc.plist五、从公司电脑远程操作 Mac在公司电脑上执行ssh -p 2222 your_mac_username腾讯云IP输入你的 Mac 登录密码就像坐在 Mac 面前一样。你可以运行命令、编辑文件、启动/停止 Docker 容器。六、安全加固千万别跳过由于你的 Mac 现在暴露到了公网必须做好防护安全组白名单在腾讯云安全组中将2222、8888、8081等 frp 映射端口来源 IP 限制为你公司的公网 IP或你常用的几个 IP不要设为 0.0.0.0/0。Mac 端防火墙系统偏好设置 → 安全性与隐私 → 防火墙确保开启并阻止未授权的传入连接通常默认开启。frp 强密码auth.token一定要用复杂随机字符串不要用默认值。SSH 禁密码登录可选如果你想让 SSH 更安全可以在 Mac 上禁用密码登录只用密钥避免暴力破解。定期更新 frpfrp 偶尔有安全更新保持版本较新。七、常见问题Q连接 SSH 时提示Connection refusedA检查 Mac 上的 frpc 是否在运行ps aux | grep frpc确认云服务器安全组端口已放行确认本地 SSH 服务已开启系统偏好设置 → 共享 → 远程登录。Qfrpc 连接上了但端口映射无效A检查remotePort是否已被占用在云服务器上netstat -tlnp | grep 端口尝试修改一个未使用的端口。QMac 休眠后隧道断开A在节能设置里勾选“防止自动休眠”或使用caffeinate命令保持 Mac 唤醒。也可在 frpc 客户端配置中添加autoReconnecttrue但新版本默认自动重连。Q公司网络封锁了非标准端口如 2222A可以尝试使用remotePort 443或80需要这些端口未被云服务器占用因为 443 端口通常不会被防火墙封锁。Qfrpc 连接服务i/o timeoutA腾讯云安全组放开不行要关闭防火墙或者添加端口sudo ufw allow 7000/tcp sudo ufw reloadQssh 连接 mac 报connection refusedA开启 Mac 远程登录打开系统设置→通用→共享找到远程登录这一项把它打开。

相关新闻