Frp 内网穿刺

文章目录

Frp 官方介绍

Frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。

简介

Frp:通过带有公网IP机器反代内网服务。好比你家里有台服务器是独立高配置服务器,购买一个海外免备VPS。VPS反代你家里的服务器,然后供给外网访问。通过Frp可以通过外网访问内网的地址,比如路由器、家庭监控、智能设备、WEB服务等。

Frp 下载和安装

软件下载地址:https://github.com/fatedier/frp/releases

选择对应的版本下载即可。386为32bit、Amd64是64bit操作系统。他的客户端和服务端都是在同一个包下面,所以用海外VPS下载一份,然后winscp到本地,国内下载github的速度很慢。

实验环境

客户端:Centos-7 64bit mini

N3160 2H4T 8G DDR3 64G MSSD 百兆网口

服务端:Centos-7 64bit mini

Vultr服务商 NVM.2高性能VPS 日本机房 6$/月 延迟200Ms

Frps服务端搭建

操作之前请开放防火墙相关端口:frps服务端口、web应用需要使用的接口、内网SSh等服务。

本次使用的域名:test.kafecat.com 需要解析到服务端IP

#下载软件包
wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz

#解压软件
tar -zxvf frp_0.33.0_linux_amd64.tar.gz
#解压后主要用 frps 和 frps.ini文件
#修改服务端配置文件frps.ini
[common]
#服务端口
bind_port = 7000
#HTTP 端口
vhost_http_port = 80
#OpenSSL/ HTTPS端口
vhost_https_port = 443

#FRP可视化界面、可以不要
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin

#设置WebApp 01
[web01]
type=http
custom_domains = test.kafecat.com
#运行
./frps -c frpc.ini
运行frps

Frpc客户端搭建

下载软件包解压到指定目录下。修改frpc.ini配置文件:

[common]
server_addr = 1.2.3.4{这里是VPS地址}
server_port = 7000 #VPS Frps服务端端口

[web]
type=http
local_port = 9002 #本地端口
custom_domains = test.kafecat.com #域名

保存后执行:./frpc -c ./frpc.ini

运行截图
本地运行截图
远程访问截图

小结

缺点:

1、frp速度没有直接使用服务器做网站快。用户请求要通过外网机器中转到国内机器,然后国内机器再发送外网VPS中转给用户。可以使用TCP双向加速解决,但是还是不能解决慢的问题。

2、某些webapp 内部有逻辑验证,验证域名、端口。所以还要针对某些应用对程序进行修改,才能正常使用。可以套nginx反代再通过frp操作。

优点:

1、VPS低配置就可以运行反代穿刺服务,家里有高配机器可以享受低价高配的服务,不考虑网络的前提下。

Frp:可以支持穿刺window远程服务、SSH、FTP、SSL等多种服务。具体可以参考github的教程。

原文链接:Frp 内网穿刺