手头有一个需求是,即使iPad和macOS处于不同的Wi-Fi下,仍然可以通过iPad的终端模拟软件访问操作macOS。虽然有ZeroTier-One这种软件,但是个人试了之后感觉效果不佳(延迟目测有半秒),所以这里推荐和排雷一套我使用服务器+frp的方案(主要是别人的教程)。
整体的frp搭建流程可以参考这篇tutorial。
有这么几个坑:
你选用的服务器必须要提供公网IP。我第一次用的是华为云,但是华为云的公网IP是需要单独购买的(他们叫弹性动态IP)。后来用的是阿里云,然后我买的那个套餐里包括了公网IP。
如果不能确定的话,可以直接问各个云服务提供商的客服。区分下弹性公网IP和公网IP:前者是有的企业需要将IP不断解绑、绑定不同服务器才推出的,后者则是每个服务器固定的。
由于众所周知的原因,直接在云服务器上
wget
可能会很慢,甚至很容易失败。鉴于在服务器上做一些操作很危险,你可以现在本地下载完之后通过scp
命令传输过去,具体格式是scp -r frp_at_local remote_user@remote_ip:~/
,其中frp_at_local
是你下载的文件夹;remote_user
是服务器的用户名(一般是root
),然后remote_ip
就是服务器的公网IP。注意要更改下服务器的安全规则,将你用于转发的端口开放。
在按照frp搭建完之后,跑本地的frpc
时,可能会报错login to server failed: EOF
,你可以按照这篇文章提到的方法去修复。
在上述流程完成后,应该就已经完成内网穿透了。在frp
服务开启的情况下,你只需要访问服务器上被你设置的用于转发的端口、完成登陆后就可以访问被穿透的内网设备了。
有时候服务器会重启,这时候就需要考虑怎么在服务器开机时自动开启frps
服务了。我参考了这篇文章的方法,亲测有效。
本地的frpc
也可以设置自动开启,不过鉴于被穿透设备的操作系统不统一,这里就不提了,大家可以自行搜索。
- 本文作者: ChrisLee
- 本文链接: https://ipchrislee.github.io/2022/08/26/frp内网穿透全坑总结/
- 版权声明: This article is licensed under a Creative Commons Attribution 4.0 International License. Code sippets may be used under the MIT Licence.