您的位置:

内网穿透frp详解

一、什么是内网穿透frp?

内网穿透指通过一个公网服务器搭建的代理服务器,将公网请求代理到内网服务,从而达到内网服务可被公网访问的目的。frp是一款开源的内网穿透工具,支持多种协议,包括HTTP、TCP、UDP等,被广泛应用于内网穿透方案中。

二、frp的基础使用

1、下载并解压frp二进制包

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

2、编写配置文件

[common]
bind_port = 7000
dashboard_port = 7500
dashboard_user = username
dashboard_pwd = password

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
use_encryption = true
use_compression = true

以上配置文件中,定义了一个名为"ssh"的代理服务,将本地22端口映射到服务器的6000端口,通过配置文件控制权限和加密方式。

3、启动frp服务

./frps -c ./frps.ini //服务端
./frpc -c ./frpc.ini //客户端

三、frp的高级使用

1、自定义域名

frp支持域名映射,可以使用自定义域名来访问被代理的服务。

首先,在域名服务商处配置A记录,将目标域名指向公网服务器IP地址。

然后,在frp客户端配置文件中增加以下配置:

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
custom_domains = yourdomain.com
use_encryption = true
use_compression = true

其中,"custom_domains"即为自定义的域名。

2、支持二级域名

除了支持一级域名,frp还支持二级域名映射。只需在域名服务商处配置CNAME记录,将二级域名指向目标域名即可实现二级域名访问。

3、支持UDP协议

在配置文件中,将代理协议"type"改为"udp",即可支持UDP协议的内网穿透。

四、注意事项

1、公网服务器必须开放所使用的端口,且需要防火墙支持。

2、被代理的内网服务必须正常启动,并开放所需要的端口。

3、frp仅用于合法的内网穿透操作,禁止进行非法行为。

frp是一款强大的内网穿透工具,具有通用性、易配置、支持多种协议等优点,被广泛应用于服务器管理、开发测试以及家庭网络等方面。通过本文的介绍,相信您已经对frp的使用有了基本了解,可根据实际需求进行配置和使用。