frp内网穿透
Frp是什么
简单地说,frp就是一个反向代理软件,它体积轻量但功能很强大,可以使处于内网或防火墙后的设备对外界提供服务,它支持HTTP、TCP、UDP等众多协议。
服务端配置
SSH连接到VPS之后运行如下命令查看处理器架构,根据架构下载不同版本的frp
运行如下命令,根据架构不同,选择相应版本并进行下载
wget https://github.com/fatedier/frp/releases/download/v0.22.0/frp_0.22.0_linux_amd64.tar.gz
然后解压缩
tar -zxvf frp_0.22.0_linux_amd64.tar.gz
服务端的配置我们只需要关注如下几个文件
- frps
- frps.ini
这两个文件(s结尾代表server)分别是服务端程序和服务端配置文件
然后修改frps.ini文件
[common]
bind_port = 49273
vhost_http_port = 9001
token = Er3@SGTwHtPl+jMRD0/f3QH/A
- “bind_port”表示用于客户端和服务端连接的端口,这个端口号我们之后在配置客户端的时候要用到。
- “vhost_http_port”和“vhost_https_port”用于反向代理HTTP主机时使用。
- “token”是用于客户端和服务端连接的口令,请自行设置并记录,稍后会用到。
编辑完成后保存(vim保存如果不会请自行搜索)
客户端配置
frp的客户端就是我们想要真正进行访问的那台设备。
同样地,根据客户端设备的情况选择相应的frp程序进行下载,将“frp_0.22.0_windows_amd64.zip”解压
客户端的配置我们只需要关注如下几个文件
frpc
frpc.ini
这两个文件(c结尾代表client)分别是客户端程序和客户端配置文件。
然后修改frpc.ini文件
[common]
server_addr = 52.80.184.170
server_port = 49273
token = Er3@SGTwHtPl+jMRD0/f3QH/A
[sentry]
type = http
local_ip = 10.10.75.137
local_port = 9001
custom_domains = 172.31.20.248
其中common字段下的三项即为服务端的设置。
- “
server_addr
”为服务端IP地址,填入即可。 - “
server_port
”为服务器端口,填入你设置的端口号即可。 - “
token
”是你在服务器上设置的连接口令,原样填入即可。
自定义规则
上面frpc.ini的sentry字段是自己定义的规则,自定义端口对应时格式如下。
- “
[xxx]
”表示一个规则名称,自己定义,便于查询即可。 - “
type
”表示转发的协议类型,有TCP和UDP等选项可以选择,如有需要请自行查询frp手册。 - “
local_ip
”是本地应用的IP地址,按照实际应用工作在本机的IP地址填写即可。 - “
local_port
”是本地应用的端口号,按照实际应用工作在本机的端口号填写即可。 - “
custom_domains
”服务端IP地址或域名,可以直接使用服务端ip或者生成一个内网ip。
后台运行脚本
运行服务端
./frpc -c frps.ini
运行客户端
./frpc -c frpc.ini
至此,我们的frp仅运行在前台,如果Ctrl+C停止或者关闭SSH窗口后,frp均会停止运行,因而我们使用 nohup命令将其运行在后台。
服务端创建start.sh
脚本文件以及frps.log
日志文件 编辑start.sh
nohup ./frps -c frps.ini &> frps.log &
客户端创建start.sh
脚本文件以及frpc.log
日志文件 编辑start.sh
nohup ./frpc -c frpc.ini &> frpc.log &
客户端和服务端执行start.sh脚本
./stash
查看log日志
tail -f frps.log
tail -f frpc.log
作者:Nomad_Lau
链接:https://juejin.cn/post/7236656669753016375
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
链接:https://juejin.cn/post/7236656669753016375
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。