Frp内网穿透

简介

Frp工具下载地址: https://github.com/fatedier/frp/releases

Frp可将处于防火墙或内网后的主机对外网提供http、https、tcp或udp等服务, 例如在虚拟机做个frp内网穿透, 在其他主机访问其映射的vps就能访问到此虚拟机

Frp工具是由go语言写的, 可跨平台使用, 像常见的windows和linux都可使用

穿透SSH

服务端配置

首先准备一台云服务器vps用于配置Frp服务端, Frp库下载地址: https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz, Frp下载好后上传至云服务器并解压

tar -zxvf frp_0.45.0_linux_amd64.tar.gz 
image-20221121172709867

进入Frp文件目录, 修改服务端配置文件frps.ini为如下内容: vim.tiny frps.ini

image-20221121181507429

服务端启动frp服务: ./frps -c ./frps.ini

image-20221121181805843

客户端配置

首先输入arch命令判断客户端主机是什么系统的,我这里演示的kali主机是32位系统, 因此需下载的frp版本为linux_386.tar.gz

image-20221121201321941
image-20221121201524239

将下载的frp文件解压至客户端主机, 进入frp文件夹, 然后修改frpc.ini配置文件为如下内容, 意思是将本机的22端口映射至外网vps的6000端口

客户端启动frp服务: ./frpc -c ./frpc.ini

image-20221121195713437

打开Xshell连接180.76.55.245:6000端口即可访问到客户端主机22端口的ssh服务

image-20221121200106282
image-20221121200141301

穿透HTTP

服务端配置

在上述frps.ini内容基础上添加一行vhost_http_port来定义外网映射http服务的端口, 随后输入./frps -c frps.ini启动frp服务

image-20221121211855842

客户端配置

若客户端主机为windows64位系统则需选择frp的版本为windows_amd64.zip

image-20221121210800251

将frp文件解压至客户端主机, 修改frpc.ini文件为如下内容

在frp文件夹打开终端执行命令:frpc.exe -c frpc.ini

image-20221121211416614

访问180.76.55.245的8080端口即可访问到内网主机80端口的http服务

image-20221121212109521

穿透TCP

服务端配置

frps.ini的配置如下所示:

启动frp服务端:./frps -c ./frps.ini

image-20230906210606659

客户端配置

frpc.ini的配置如下

最后更新于