1. FRP搭建

frp 是一种快速反向代理,是一个隧道工具,可帮助您将 NAT 或防火墙后面的本地服务器暴露给 Internet。

截至目前,它支持TCPUDP,以及HTTPHTTPS协议,其中请求可以通过域名转发到内部服务。

服务器端

1.下载命令

wget https://github.com/fatedier/frp/releases/download/v0.37.0/frp_0.37.0_linux_amd64.tar.gz

2.解压缩命令

tar -zvxf frp_0.37.0_linux_amd64.tar.gz

3.配置服务器端文件
vi frps.ini ------ 服务器端的配置

[common]
bind_port = 7000              -------FRP本地监听端口,客户端通过该端口进行连接
auto_token = xxx     			-------FRP客户段连接服务器端的时候会验证本token值
dashboard_port = 7500			-------FRP有一个web管理页面,该web网站使用的端口
dashboard_user = admin			-------FRP访问web管理页面时的账号名
dashboard_pwd = admin			-------FRP访问web管理页面时的密码
[http]
type = tcp					-------FRP客户段连接服务器端使用的协议。
local_ip = 127.0.0.1				-------FRP服务器端的IP地址
local_port = 8080				-------在代理过程中FRP服务器段使用的端口		
remote_port = 8080			-------在代理的过程中FRP客户端使用的端口

4.运行
./frps -c ./frps.ini

客户端

  1. 在kali上安装客户端,解压

  2. 配置客户端文件

    vi frpc.ini ------ 客户端的配置

[common]
server_addr = 1.15.139.205
server_port = 7000 
auto_token = xxx  			 

[http]
type = tcp
local_ip = 127.0.0.1
local_port = 8080
remote_port = 8080

local_port(在客户端侦听)和remote_port(在服务器上公开)用于进/出server_portfrp系统的流量,而用于 frps 之间。
  1. 运行

​ ./frpc -c frpc.ini
在这里插入图片描述
客户端显示情况
在这里插入图片描述

在这里插入图片描述

登录VPS验证

在windows物理机上登录

在这里插入图片描述
在这里插入图片描述

2. 正向代理和反向代理

正向代理

用户向代理发送请求访问服务器,代理帮助用户将请求转发给服务器,然后将从服务器得到的资源转发给用户

  1. 用在用户通过防火墙访问公网的途径。
  2. 就像我们访问百度,必须知道百度的地址,但是回应我们的不一定是服务器,很有可能是代理。

反向代理

对于用户而言,反向代理就是目标服务器,直接访问反向代理,就可以获得目标服务器的资源。用户可以不知道目标服务器的地址

  1. 反向代理的原理:反向代理通过请求判断向哪个服务器转发,然后反向代理就将从服务器获取的资源发给用户,就像这些资源原本就是它自己的一样。
  2. 用在外部用户通过防火墙访问内网服务器,反向代理还可以缓解web服务器的压力。攻击者访问内网,由于不知道内网主机的IP地址,只能通过web服务器反弹的方式进行信息收集,攻击等
  3. 而且反向代理对外是透明的,访问者不知道自己访问的是哪个代理
  4. 就像我们访问一个单位的内网资源,

区别

正向代理:用户访问目标是服务器。用户需要知道服务器的地址
反向代理:用户访问目标是代理。用户不需要知道服务器的地址
但都是通过代理获取服务器资源。

3. 总结

  1. 在配置的时候有关于端口的问题。

    客户端和服务器连接的时候要用到一个端口
    服务器在监听目标主机的时候要用到另一个端口,此端口用于转发流量数据等

4. 参考

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

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐