Frp内网穿透工具

强颜欢笑 提交于 2020-05-08 18:58:30

Frp内网穿透

FRP 是一个使用 Go 语言开发的高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务。FRP 支持 TCP、UDP、HTTP、HTTPS等协议类型,并且支持 Web 服务根据域名进行路由转发。
项目地址:https://github.com/fatedier/frp

安装Frp

FRP 采用 Go 语言开发,支持 Windows、Linux、MacOS、ARM等多平台部署。FRP 安装非常容易,只需下载对应系统平台的软件包,并解压就可用。

这里以 Linux 为例,为了方便管理我们把解压后的目录重命名为 frp :

wget https://github.com/fatedier/frp/releases/download/v0.29.0/frp_0.29.0_linux_amd64.tar.gz```
tar xzvf frp_0.15.1_linux_amd64.tar.gz
mv frp_0.15.1_linux_amd64 frp

FRP 服务端配置

配置 FRP 服务端的前提条件是需要一台具有**公网 IP **的设备。

这里以 Linux 为例,FRP 默认给出两个服务端配置文件,一个是简版的 frps.ini,另一个是完整版本 frps_full.ini。
我们先来看看简版的 frps.ini,通过这个配置可以快速的搭建起一个 FRP 服务端。

$ cat frps.ini

[common]
bind_port = 7000 
默认配置中监听的是 7000 端口,可根据自己实际情况修改。

启动 FRP 服务端
$ ./frps -c ./frps.ini
2018/01/25 10:52:45 [I] [service.go:96] frps tcp listen on 0.0.0.0:7000
2018/01/25 10:52:45 [I] [main.go:112] Start frps success
2018/01/25 10:52:45 [I] [main.go:114] PrivilegeMode is enabled, you should pay more attention to security issues

FRP 客户端配置

编辑 frpc.ini

$ vim frpc.ini

[common]
#server_addr 为 FRP 服务端的公网 IP
server_addr = 0.0.0.0
#server_port 为 FRP 服务端监听的端口
server_port = 7000
启动 FRP 客户端
$ ./frpc -c ./frpc.ini
2018/01/25 11:15:49 [I] [proxy_manager.go:284] proxy removed: []
2018/01/25 11:15:49 [I] [proxy_manager.go:294] proxy added: []
2018/01/25 11:15:49 [I] [proxy_manager.go:317] visitor removed: []
2018/01/25 11:15:49 [I] [proxy_manager.go:326] visitor added: []
2018/01/25 11:15:49 [I] [control.go:240] [83775d7388b8e7d9] login to server success, get run id [83775d7388b8e7d9], server udp port [0]

这样就可以成功在 FRP 服务端上成功建立一个客户端连接,当然现在还并不能对外提供任何内网机器上的服务,因为我们并还没有在 FRP 服务端注册任何内网服务的端口。

将服务添加至systemctl

这里以frp服务端为例

将frp/systemd目录下的frps.service复制到/etc/systemd/system/目录下

cp /frp/systemd/frps.service /etc/systemd/system

复制配置文件和二进制文件到相对应的目录

cp /frps /usr/bin
cp /frps.ini /etc/frp

重新加载服务配置

systemctl daemon-reload

下面是我自己的案例

服务端配置文件

[common]
bind_port = 7000
vhost_http_port = 80
vhost_https_port = 443

[common]
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin

客户端配置文件

[common]
server_addr = 183.57.44.65    
server_port = 7000                

[https]
type = https                      
local_port = 443
custom_domains = xxx.cn 

[http]
type = http                       
local_port = 80
custom_domains = xxx.cn
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!