使用frp实现内网穿透mac本机 一篇就足够了 阿里云服务端、mac本地客户端
使用frps实现内网穿透mac本机 阿里云服务端、mac本地客户端
更多信息参考官网文档
网上很多帖子都是针对旧版本的操作以及配置,新版本最好还是参考官网(官网写的也很简单,好上手!)
硬件说明
- 服务端:阿里云Ubuntu 24.04 64位
- 客户端:m2的macpro
frp的版本列表
一、部署服务端
下载服务端的frp
我下载的是frp_0.61.1_linux_amd64.tar.gz
#下载服务端 wget https://github.com/fatedier/frp/releases/download/v0.61.1/frp_0.61.1_linux_amd64.tar.gz #解压文件夹 tar -zxvf frp_0.61.1_linux_amd64.tar.gz #切至该目录 cd frp_0.61.1_linux_amd64
配置管理端
编辑frp_0.61.1_linux_amd64目录下的frps.toml
vi frps.toml
然后配置为下面(端口和密码根据个人调整)
bindPort就是客户端待会要链接的端口
bindPort = 7000 # 默认为 127.0.0.1,如果需要公网访问,需要修改为 0.0.0.0。 webServer.addr = "0.0.0.0" webServer.port = 7500 # dashboard 用户名密码,可选,默认为空 webServer.user = "admin" webServer.password = "admin"
保存
方法1:直接启动服务端
./frps -c ./frps.toml
查看启动情况可以看日志frps.log
方法2:systemd启动服务端(官网推荐)
- 安装 systemd
如果您的 Linux 服务器上尚未安装 systemd,可以使用包管理器如 yum(适用于 CentOS/RHEL)或 apt(适用于 Debian/Ubuntu)来安装它:
上边硬件上我说了我是Ubuntu,所以使用apt命令
# 使用 yum 安装 systemd(CentOS/RHEL) yum install systemd # 使用 apt 安装 systemd(Debian/Ubuntu)我使用的这个命令,根据自己系统来选择 apt install systemd
- 创建 frps.service 文件
使用文本编辑器 (如 vim) 在 /etc/systemd/system 目录下创建一个 frps.service 文件,用于配置 frps 服务。
$ sudo vim /etc/systemd/system/frps.service
写入内容
[Unit] # 服务名称,可自定义 Description = frp server After = network.target syslog.target Wants = network.target [Service] Type = simple # 启动frps的命令,需修改为您的frps的安装路径 注意这里要修改/path/to为你的文件目录!!! ExecStart = /path/to/frps -c /path/to/frps.toml [Install] WantedBy = multi-user.target
- 使用 systemd 命令管理 frps 服务
# 启动frp sudo systemctl start frps # 停止frp sudo systemctl stop frps # 重启frp sudo systemctl restart frps # 查看frp状态 sudo systemctl status frps
- 设置 frps 开机自启动
sudo systemctl enable frps
看一下服务端启动的效果
访问地址:http://你的服务器的ip:7500/static/#/
如果访问不通的话,可以先服务器上
telnet localhost 7500
如果可以的话,说明服务器的安全组没有开放,可以到服务器管理面板上配置一下,放行7000、7500(如果服务端的配置,你设置的是其他端口,请对应调整!!!)
二、部署客户端
因为我是m芯片的mac,所以下载的是frp_0.61.1_darwin_arm64.tar.gz
#下载客户端 wget https://github.com/fatedier/frp/releases/download/v0.61.1/frp_0.61.1_darwin_arm64.tar.gz #解压文件夹 tar -zxvf frp_0.61.1_darwin_arm64.tar.gz #切至该目录 cd frp_0.61.1_darwin_arm64
配置客户端
编辑frp_0.61.1_darwin_arm64目录下的frpc.toml
vi frpc.toml
编辑为
serverAddr = "你的服务器ip" serverPort = 7000 [[proxies]] name = "mac_connect" type = "tcp" localIP = "127.0.0.1" localPort = 5900 remotePort = 5900
serverPort就是服务端对应配置的那个端口;
注意我这里是实现的远程链接我的mac,所以是tcp,如果你要内网穿透你内网的web页面、或者后端项目的话,也可以用这套配置(亲测可以的)!!!
当然官网提供了其他协议的穿透事例
可以参考官网的配置
保存配置
启动客户端
sudo ./frpc -c ./frpc.toml
测试内网穿透效果
访问 你的服务器ip:5900 就可以访问你本地:5900
注意
你的服务器ip:5900中:5900是remotePort;
你本地:5900中:5900是localPort;