内网穿透工具frp简易教程

下载

frp也是托管在Github上的开源项目,直接到Release页面下载即可,链接如下:

https://github.com/fatedier/frp/releases

1.png

下载解压之后是一个文件夹,里面包含了frpc、frps可执行程序,以及它们对应的示例配置文件,前者是客户端程序,后者是服务端程序。运行frp需要同时运行客户端和服务端程序才行。full和min分别是最大和最小配置文件,如果需要参考的话可以打开看看,最大配置文件中列出了frp支持的所有选项。

Linux系统的安装

export FRP_VERSION=0.34.1
sudo mkdir -p /etc/frp
cd /etc/frp
sudo wget "https://github.com/fatedier/frp/releases/download/v${FRP_VERSION}/frp_${FRP_VERSION}_linux_amd64.tar.gz"
sudo tar xzvf frp_${FRP_VERSION}_linux_amd64.tar.gz
sudo mv frp_${FRP_VERSION}_linux_amd64/* /etc/frp

其中,第一行等号后面的 0.34.1 是 frp 的版本号 (截稿为止最新版本)。你安装的时候可以到官网查看下有没更新的版本,只需将新版本的号码替换掉 0.34.1 即可。

FRP 默认提供了 2 个服务端配置文件,一个是简化版的 frps.ini,另一个是完整版的 frps_full.ini。初学者只需用简版配置即可,在简版 frps.ini 配置文件里,默认设置了监听端口为 7000,你可以按需修改它。

服务端配置

首先我们看看如何配置frp的服务端。服务端配置比较简单,如果不使用高级功能的话,只需要两三行就可以了。

# frps.ini

[common]
bind_port = 7000
token = 123456

bind_port是服务端与客户端之间通信使用的端口号,默认就可以。token用于验证连接,只有服务端和客户端token相同的时候才能正常访问。如果不使用token,那么所有人都可以直接连接上,所以我建议大家在使用的时候还是把token加上。

配置完毕后就可以启动服务端了,启动命令也很简单:

./frps -c ./frps.ini

如服务器使用 Win 系统,假设解压到 c:\frp 文件夹,那么只需这样启动:

c:\frp\frps.exe -c c:\frp\frps.exe

一般情况下服务端这么配置就可以了,大部分配置都是在客户端的配置文件中处理。作者这样设计还是挺合理的,将来如果有改动的话,只需要修改客户端配置文件,服务端一般情况下不需要改动。

端口转发

下面来看看客户端配置,frp可以实现很多常用功能,都是在客户端配置文件中完成配置。首先来看看最基本的端口转发配置。

# frpc.ini

[common]
server_addr = x.x.x.x
server_port = 7000
token = 123456
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

首先是common下的配置项,需要和服务端配置文件相同。然后是ssh下的配置,type是连接类型,大部分应用都是tcp协议的,所以这里就写tcp就好;local_ip是本地ip,默认127.0.0.1即可;local_port是要转发的端口号,官方实例中这里是远程转发SSH,所以端口号是22,如果你想做游戏服务器的话,改成对应的端口号即可;remote_port是端口转发之后暴露在外网的端口号。

客户端配置完毕之后,就可以启动了,启动命令类似:

./frpc -c ./frpc.ini

如果你想简单把本地部署的网站开放出去,也可以以这种方式直接将本地80端口转发出去。如果你购买了域名,希望别人通过域名访问本地网站,还可以使用接下来要介绍的,专门的web转发功能。

转发web服务

首先是服务端,需要添加vhost_http_port参数:

# frps.ini

[common]
bind_port = 7000
vhost_http_port = 80

然后是客户端,注意web下的参数,type是协议类型,http或者https,local_port是本地网站的端口号,custom_domains是购买的网站域名,需要注意这个网站域名需要事先在域名服务商那里设置好域名解析才能正常使用。

# frpc.ini

[common]
server_addr = x.x.x.x
server_port = 7000
[web]
type = http
local_port = 8080
custom_domains = www.yourdomain.com

配置完成后,访问服务器网址 http://x.x.x.x  即可看到部署在本地 http://localhost:8080 上的网站。如果需要https的话,只要把vhost_http_port改成vhost_https_port,再把客户端web下type设置为https即可。

仪表盘

frp还支持仪表盘功能,可以从网页查看运行的流量等信息。开启仪表盘需要在服务端进行设置。

# frps.ini

[common]
dashboard_port = 7500
# dashboard 用户名密码,默认都为 admin
dashboard_user = admin
dashboard_pwd = admin

设置完毕后,在浏览器中访问服务端地址:端口号并输入用户名与密码即可查看仪表盘。

2.png
仪表盘

以上就是frp的一些介绍,如果有需要的请查看官方中文文档,详细列出了frp支持的各项功能,还可以参考frpc_full.ini与frps_full.ini,查看完整配置文件支持的选项。文档地址:

https://github.com/fatedier/frp/blob/master/README_zh.md

この記事はhttp://www.chieng.cn から来て、再現してください!

赞助 支付宝 微信
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论

Top