什么是内网穿透
内网穿透是一种技术,允许在一个私有网络(如家庭网络或公司局域网)中的设备或服务可以从外部互联网访问。
说直白点就是将局域网内(不同网段)的IP实现通过公网(跨网段)访问指定端口/服务。
FRP简介
frp 是一款高性能的反向代理应用,专注于内网穿透。它支持多种协议,包括 TCP、UDP、HTTP、HTTPS 等,并且具备 P2P 通信功能。使用 frp,您可以安全、便捷地将内网服务暴露到公网,通过拥有公网 IP 的节点进行中转
通过frp可以轻松实现将本地服务映射到公共网络。
FRP帮助文档:概览 | frp (gofrp.org)
FRP架构模式
这里是内网穿透简单的架构图。
穿透实践
FRP采用的是CS架构模式,需要一台具有公网地址的主机用于充当服务端,实现将目标主机的端口映射到公网。被攻击主机需要安装代理程序实现与服务器建立隧道通信。
服务端
服务端的配置比较简单只需要配置监听的端口即可,该端口只用于与客户端实现隧道连接。默认绑定的ip地址为0.0.0.0
./frps -c frps.tom
//frps.tom 为服务端配置文件
执行指令等待客户端连接
客户端
客户端配置如下
该程序可以实现多个端口通过一个隧道实现转发,下面的配置实现了将本地 22 转发到 公网 6000
将本地 1000 转发到公网 8000.
使用公网IP访问局域网内主机服务
访问成功 实现了局域网内主机的服务映射到公网 同理 22 3389 等端口亦可使用相同方法映射,实现映射。