使用FRP做内网穿透
Github地址:https://github.com/fatedier/frp
什么是FRP?
frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。
怎么用FRP
下载FRP
https://github.com/fatedier/frp/releases
配置
此文章使用的是FRP版本为 v0.24.1
FRP的配置很简单,最常见的有两种情况:
- 需要通过公网访问内网的SSH/RemoteDesktop
- 需要通过公网访问内网的Webserver
对于第一种情况,需要FRP转发TCP即可。
对于第二种情况,需要转发HTTP/HTTPS,FRP支持多虚拟主机,先指定端口,然后根据域名,转发到各个虚拟主机。当然,既然是HTTP/HTTPS,那也可以像第一种情况那样走TCP协议,来达到转发效果。
本文只对反向代理TCP做简要介绍 , 详细配置请参考:https://github.com/fatedier/frp/blob/master/README_zh.md
服务端配置:
[common]
bind_port = 7000
dashboard_user= admin
dashboard_pwd= admin
dashboard_port= 7001
token = 666
启动服务端:
./frps -c ./frps.ini
客户端配置:
[common]
server_addr = 66.66.66.66
server_port = 7000
token = 666
[RDP_Home]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 7002
use_encryption = true
use_compression = true
[Web_01]
type = tcp
local_ip = 127.0.0.1
local_port = 443
remote_port = 7003
use_encryption = true
use_compression = true
启动客户端:
./frpc -c ./frpc.ini
请读者自行配制防火墙。
参数配置
参数 | 备注 | |
---|---|---|
服务端: | ||
1 | bind_port | 用于反向代理的端口 |
2 | dashboard_user | 通过浏览器查看 frp 的状态以及代理统计信息展示。用户名 |
3 | dashboard_pwd | 密码 |
4 | dashboard_port | 端口 |
5 | token | 只有于客户端一致,才能使用FRP |
客户端: | ||
1 | server_addr | 服务器IP地址 |
2 | server_port | 服务器的bind_port |
3 | token | 只有于服务端一致,才能使用FRP |
4 | type | 本文使用的是tcp |
5 | local_ip | 127.0.0.1 |
6 | local_port | 端口 |
7 | remote_port | 服务器对外端口 |
8 | use_encryption | true 启用加密 |
9 | use_compression | true 启用压缩 |
参考
声明
本文采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可,发表在CSDN和博客园,欢迎读者转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接!请读者/爬虫们尊重版权