自学内容网 自学内容网

用公网服务器实现内网穿透

首先需要一个公网服务器

下载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实际上是客户端告诉它的。

1.修改 frps.ini 文件,设置监听 HTTP 请求端口为 8080:

[common]
bind_port = 7000
vhost_http_port = 8080

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服务器上为这个隧道指定的端口>

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

解决办法

检查服务器有没有放行70008080端口
检查contos服务器防火墙有没有开放70008080端口
开放7000端口 firewall-cmd --zone=public --add-port=7000/tcp --permanent
配置立即生效   firewall-cmd --reload
查看防火墙所有开放的端口   firewall-cmd --zone=public --list-ports
重新启动  sudo ./frpc -c ./frpc.ini 
大功告成!!!

原文地址:https://blog.csdn.net/qq_43987527/article/details/145202188

免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!