1.Frp

1.Frp介绍

对于没有公网IP的内网用户来说,远程管理内网下的HE Gateway网关是一个的难题,内网穿透可实现通过公网访问内网下的网关设备,而FRP是一款高性能的反向代理应用,专注于内网穿透,它支持多种协议,包括 TCP、UDP、HTTP、HTTPS 等。使用 frp,您可以安全、便捷地将内网服务暴露到公网,通过公网 IP 进行中转。

frp 支持多种代理类型,以适应不同的使用场景。以下是一些常见的代理类型:

  • TCP:提供纯粹的 TCP 端口映射,使服务端能够根据不同的端口将请求路由到不同的内网服务。
  • UDP:提供纯粹的 UDP 端口映射,与 TCP 代理类似,但用于 UDP 流量。
  • HTTP:专为 HTTP 应用设计,支持修改 Host Header 和增加鉴权等额外功能。
  • HTTPS:类似于 HTTP 代理,但专门用于处理 HTTPS 流量。
  • STCP:提供安全的 TCP 内网代理,要求在被访问者和访问者的机器上都部署 frpc,不需要在服务端暴露端口。
  • SUDP:提供安全的 UDP 内网代理,与 STCP 类似,需要在被访问者和访问者的机器上都部署 frpc,不需要在服务端暴露端口。
  • XTCP:点对点内网穿透代理,与 STCP 类似,但流量不需要经过服务器中转。
  • TCPMUX:支持服务端 TCP 端口的多路复用,允许通过同一端口访问不同的内网服务。

每种代理类型适用于不同的使用情境,您可以根据需求选择合适的代理类型来配置 frp。

2.组成部分(必看)

1.一台公网服务器,安装frps作为服务器

2.网关启用frpc作为客户端

3.Windows电脑安装frpc作为客户端(可选,仅在stcp通信模式时需要,其他模式不需要)

3.安装并部署frps

下载合适的frps版本,解压在服务器路径中:

1.frps.toml配置参考:(以frp-0.65为例)

bindAddr = "0.0.0.0"

#服务器端绑定端口是7000,私有部署时,请更改为其他端口
bindPort = 7000
auth.method = "token" 

# 用于客户端和服务器通信的身份验证令牌,请务必进行修改
auth.token = "1qaz@WSX" 
webServer.addr = "0.0.0.0"
webServer.port = 7500
#管理面板的用户
webServer.user = "Admin" 
 #管理面板的密码
webServer.password = "HEGateway"

2.允许防火墙通过放行映射的端口

以centos7为例(其他操作系统请自行百度)
    firewall-cmd --zone=public --add-port=7000/tcp --permanent
或者临时关闭防火墙:
    systemctl stop firewalld.service

3.添加开机自启动:

以centos7为例,其他操作系统请自行百度

执行下面的命令创建 frps.service 文件 vim /etc/systemd/system/frps.service 输入以下内容并保存:

[ Unit]
Description = frp server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple

#启动 frps 的命令,需修改为您的 frps 的安装路径
ExecStart = /opt/frp_0.65.0/frps -c /opt/frp_0.65.0/frps.toml
[Install]
WantedBy = multi-user.target

执行下面的命令启用开机自启和启动服务 systemctl enable frps && sudo systemctl start frps

4.客户端连接方式1(TCP)

此种方式是直接暴露HEGateway网关端口的方式来使用,仅适用于4G专网的环境,开启这种方式时,请勿将“写接口"对外开放,否则存在被网络攻击的可能,我司不承担用户因为对外开放写接口导致一系列责任,

1.关闭写接口,并打开Frp开启自启动:

10_1_1_关闭写接口

2.上传frpc.toml配置文件

10_1_2_上传frpc配置

frpc.toml格式内容(实际为ini格式),请勿将#注释和配置项写在同一行

[common]
#服务器的ip
server_addr = 221.38.41.198

#服务器端frps开放的端口
server_port = 7000

#登录失败后不退出
login_fail_exit = false
# 用于客户端和服务器通信的身份验证令牌,请务必进行修改
token = 1qaz@wSX

#下列3行为固定内容,请勿修改
log_file = /wg/log/runlog/frpc
log_max_days = 1
log_level = info

[proxies]
type = tcp
local_ip = 127.0.0.1

#网关的8084端口,已具备转发功能
local_port = 8084

#开放在服务器端中的端口,此种方式,不同网关占用不同端口
remote_port = 6000

3.配置软件连接

1.通过菜单栏→监控,打开下图界面,并如下图中进行操作

10_1_3_启用frp监控1

并配置"远程监控端口",和上文中客户端开放端口一致

10_1_3_启用frp监控2

2.连接并匹配网关

10_1_3_启用frp监控3

5.客户端连接方式2(STCP)

通过stcp的方式,允许对访问者进行用户校验,需要电脑端同样也启用frpc来加入到网络中来使用

1.关闭写接口,并打开Frp开启自启动:

10_1_1_关闭写接口

2.上传frpc.toml配置文件

10_1_2_上传frpc配置

frpc.toml格式内容(实际为ini格式)

[common]
#服务器的ip地址
server_addr = 221.38.41.198

#服务器端frps开放的端口
server_port = 7000

#登录失败后不退出
login_fail_exit = false

# 用于客户端和服务器通信的身份验证令牌,请务必进行修改
token = 1qaz@wSX

#下列3行为固定内容,请勿修改
log_file = /wg/log/runlog/frpc#固定内容,请勿修改
log_max_days = 1#固定内容,请勿修改
log_level = info#固定内容,请勿修改

#如果是不同机器,stcp代理的名称是通过[]内容来指定的
[gateway1]
type = stcp
local_ip = 127.0.0.1

#网关的8084端口,已具备转发功能
local_port = 8084

#访问此机器的秘钥
sk = test@88888

3.部署有HE Gateway得windows机器同样部署frpc客户端

注:此种方式,连接不同的网关,每次需要更改配置文件中"serverName"和"secretKey"并重启服务

使用frpc.exe -c frpc.toml,来启动服务,其中frpc.toml如下格式:(实际格式为toml格式)

serverAddr = "221.38.41.198"
serverPort = 7000
auth.method = "token"
auth.token = "1qaz@wSX" #服务认证 token,对应 frps 配置 auth.token 的值

[[visitors]]
name = "secret_ssh_visitor"
type = "stcp"
# 要访问的 stcp 代理的名字
serverName = "gateway1"
secretKey = "test@88888"
# 通过本地端口去访问指定机器的端口
bindAddr = "127.0.0.1"
bindPort = 6000

3.配置软件连接

1.通过菜单栏→监控,打开下图界面,并如下图中进行操作

10_1_3_启用frp监控1

并配置"远程监控端口"

10_1_3_启用frp监控2

2.连接并匹配网关

10_1_3_启用frp监控4

results matching ""

    No results matching ""

    results matching ""

      No results matching ""