一、什么是内网穿透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的使用有了基本了解,可根据实际需求进行配置和使用。