What is frp?
frp是一个快速反向代理,可帮助您将NAT或防火墙后面的本地服务器暴露给Internet。 截至目前,它支持tcp&udp以及http和https协议,其中请求可以通过域名转发到内部服务。
一、免费的FRP服务器信息
FRP版本号:0.26.0
连接地址为:www.makedreamsirfrp.xyz:7000
特权认证密码为:love421forever
状态查询:http://www.makedreamsirfrp.xyz:7500
查询帐号:love421
查询帐号:love421
默认http/https端口:88和4343
支持subdomain和custom_domains
开放端口:全端口
二、客户端配置详细步骤
1、SSH
连接上内网主机后,使用wget
指令下载对应服务器版本的frp可执行文件,例如:
1 | wget https://github.com/fatedier/frp/releases/download/v0.26.0/frp_0.26.0_linux_amd64.tar.gz |
2、解压刚刚下载的可执行文件
1 | tar -zxvf frp_0.26.0_linux_amd64.tar.gz |
3、刷新一下,cd
到刚刚解压之后出现的文件夹目录下
4、打开frpc.ini
文件,具体修改配置如下:
最上面这一部分是必要的,无需任何改动,这部分主要是配置连接frp的服务器信息。
1 | [common] |
下面举例说明常用的tcp、http、https映射:
(1)tcp
映射举例说明:
1 | [MDS_NAS_SSH] |
第一行:中括号中内容为映射名称,用以快速寻找区分众多的映射服务,每一个映射都要取一个名字,只支持英文,推荐命名形式:姓名简称_设备_服务,比如:MDS_NAS_SSH
;
第二行:类型,因为你映射的是ssh
端口,所以选择tcp
,如果你要映射http服务或者http
服务,那就填写对应的http或者https;
第三行:为你映射局域网内设备的IP
地址,127.0.0.1
代表的是本设备的内网ip地址;
第四行:本地端口号,例子中22端口为我nas
的ssh
端口号;
第五行:远端端口号,也就是映射成功之后你所用的端口号,可以自定义,开房的端口号是0到65535;
映射之后访问地址是server_addr
固定不变的即:www.makedreamsirfrp.xyz
,端口号是你刚刚自己填写的local_port
即:6666
。
(2)HTTP
映射举例说明:
1 | [MDS_NAS_5000] |
第一、二、三、四行类比tcp映射中所述;
第五行:如果你没有域名,那么你可以配置subdomain,你的访问地址将会是 http://nas.makedreamsirfrp.xyz,如果你自己有域名,那么你可以配置custom_domains
来绑定你自己的域名,你的访问地址将会是 http://你自己的域名(你自己的域名需要添加一条CNAME解析记录解析到www.makedreamsirfrp.xyz
)
(3)HTTPS
映射跟http
映射一样,例子如下:
1 | [MDS_PVE] |
映射成功后访问的域名地址就是:https://pve.makedreamsirfrp.xyz
5、修改之后保存,输入./frpc -c ./frpc.ini
,如果看见此时在服务端会看到start proxy sucess
字样,即连接成功。
6、接着按下ctrl+c
结束任务,然后输入nohup ./frpc -c ./frpc.ini &
让任务在后台一直运行,看到nohub.out
字样,就代表真成功了,然后按下ctrl+c
。
7、输入ps -aux|grep frp| grep -v grep查看当前系统后台进程,正常的话是可以看到用户名,进程号,运行时间等等信息
8、这个时候我们登录frp服务器的dashboard查看我们的映射:
地址:http://www.makedreamsirfrp.xyz:7500
账号:love421
密码:love421
注意事项:
1.如果当前frp已经在后台运行,而此时你想修改它,可以先修改配置保存,然后输入ps -aux|grep frp| grep -v grep
查看进程号,如下图是2739
,接着输入kill -9 2739
杀掉正在运行的frp进程,最后再输入nohup ./frpc -c ./frpc.ini &
让修改之后的任务再后台运行。
2.如果连接服务器失败的话,大多数原因是服务器和客户端版本不一致、token错误、端口被占用、泛域名也就是sudomain重复、映射名称被占用等,所以映射的时候命名最前面可以加个名字拼音首字母简称,不至于重复率太高。