返回
内网穿透利器:深入浅出看懂frp并实战配置
前端
2024-01-08 01:15:59
在网络世界的浩瀚海洋中,我们常常会遇到这样的场景:内网中搭建的服务器或应用,由于缺少公网IP,无法被外部网络所访问。这时,内网穿透技术便应运而生,它犹如一把利器,可以帮助我们轻松打通内网和外网之间的连接。而frp,正是内网穿透领域中的佼佼者。
frp全称为fast reverse proxy,中文译为快速反向代理。它是一款专注于内网穿透的高性能应用,支持TCP、UDP、HTTP、HTTPS等多种协议。通过在内网和公网节点上部署frp客户端和服务端,我们可以将内网服务以安全、便捷的方式暴露到公网。
要了解frp的工作原理,不妨将它想象成一个中转站。当外网用户访问frp公网节点时,frp会将请求转发到内网frp客户端,后者再将请求转发到目标内网服务。这样一来,外网用户就能够访问到内网服务,而无需知道内网服务的实际IP地址和端口。
frp的配置过程并不复杂,下面我们就以一个实战案例来一步步演示:
1. 安装frp
在公网节点和内网节点上分别安装frp,具体命令如下:
# 公网节点
wget https://github.com/fatedier/frp/releases/download/v0.47.0/frp_0.47.0_linux_amd64.tar.gz
tar -zxvf frp_0.47.0_linux_amd64.tar.gz
cd frp_0.47.0_linux_amd64
# 内网节点
wget https://github.com/fatedier/frp/releases/download/v0.47.0/frp_0.47.0_linux_386.tar.gz
tar -zxvf frp_0.47.0_linux_386.tar.gz
cd frp_0.47.0_linux_386
2. 配置frp
修改公网节点上的frp配置文件/etc/frp/frps.ini
:
[common]
bind_addr = 0.0.0.0
bind_port = 7000
修改内网节点上的frp配置文件/etc/frp/frpc.ini
:
[common]
server_addr = 公网节点IP地址
server_port = 7000
3. 启动frp
在公网节点和内网节点上分别启动frp:
# 公网节点
./frps -c /etc/frp/frps.ini
# 内网节点
./frpc -c /etc/frp/frpc.ini
4. 测试frp
在公网节点上,使用curl命令测试frp是否工作正常:
curl http://公网节点IP地址:7000/frp
如果输出结果为"frp is running!",则说明frp配置成功。
通过frp,我们不仅可以实现内网穿透,还可以享受其他高级功能,例如流量控制、协议加密、负载均衡等。这些功能极大地提高了内网服务的稳定性和安全性,让开发者可以更加专注于业务逻辑的开发。