首先需要一个公网服务器
下载frp
搜索github下载到frp,服务端frps/客户端frpc。。下载的时候要注意自己本地内网机的cpu版本和服务端cpu架构
我的电脑是mac M1PRO版本 下载的是:darwinarm64
比如
服务端一般是Linux(Intel 64位CPU):
frp_0.42.0_linux_amd64.tar.gz
客户端一般是Windows(Intel 64位CPU):
frp_0.42.0_windows_amd64.zip
或macOS(Intel芯片):
frp_0.42.0_darwin_amd64.tar.gz
M1芯片:frp_0.42.0_darwin_arm64.tar.gz
服务端:开放2个端口7000和6000,用于公网通信。 自定义端口
客户端:“内网家用电脑”,开放实际应用服务所需的端口(比如ssh服务,默认22端口),并将配置的公网映射端口6000告知服务端。所以服务端开放的那个端口6000实际上是客户端告诉它的。
frpsini__HTTP__8080_24">1.修改 frps.ini 文件,设置监听 HTTP 请求端口为 8080:
[common]
bind_port = 7000
vhost_http_port = 8080
frpcini__frps__IP__xxxxlocal_port__Web__29">2.修改 frpc.ini 文件,假设 frps 所在的服务器的 IP 为 x.x.x.x,local_port 为本地机器上 Web 服务监听的端口,
; [common]
; # FRP服务器的地址
; server_addr = <FRP服务器的公网IP或域名>
; # FRP服务器的监听端口
; server_port = <FRP服务器配置的监听端口>
; # 与FRP服务器进行身份验证的token(如果服务器配置了token)
; token = <您的token>; # 配置一个自定义的隧道,用于访问家里电脑的9999端口
; [home_9999]
; # 隧道类型,这里使用tcp
; type = tcp
; # 家里电脑的内网IP地址
; local_ip = 127.0.0.1
; # 家里电脑上要暴露给外部访问的端口
; local_port = 9999
; # FRP服务器上为这个隧道分配的远程端口
; remote_port = <您在FRP服务器上为这个隧道指定的端口>
frps__frpc_51">3.分别启动 frps 和 frpc
服务端
./frps -c ./frps.ini
成功提示
frps uses config file: frps.ini
frps tcp listen on 0.0.0.0:7000
http service listen on 0.0.0.0:8080
frps started successfully
客户端
sudo ./frpc -c ./frpc.ini
失败提示
login to server failed: dial tcp xxxx:7000: connect: connection refuseddial tcp xxxx:7000: connect: connection refused
解决办法
检查服务器有没有放行7000和8080端口
检查contos服务器防火墙有没有开放7000和8080端口
开放7000端口 firewall-cmd --zone=public --add-port=7000/tcp --permanent
配置立即生效 firewall-cmd --reload
查看防火墙所有开放的端口 firewall-cmd --zone=public --list-ports
重新启动 sudo ./frpc -c ./frpc.ini
大功告成!!!