飙血推荐
  • HTML教程
  • MySQL教程
  • JavaScript基础教程
  • php入门教程
  • JavaScript正则表达式运用
  • Excel函数教程
  • UEditor使用文档
  • AngularJS教程
  • ThinkPHP5.0教程

frp实现基于反向代理的内网穿透

时间:2021-12-14  作者:xzajyjs  

个人博客主页: 域名

frp是什么

简单地说,frp就是一个反向代理软件,它体积轻量但功能很强大,可以使处于内网或防火墙后的设备对外界提供服务,它支持HTTP、TCP、UDP等众多协议。

实验环境

  • 一台拥有公网IP的VPS(Linux)
  • 需要进行内网穿透的实验机Windows(暂不支持macOS)

三种服务样例

1. ssh服务

在Linux上和Win上分别下载对应的最新Release版本(点我跳转)

tar -zxv 域名域名
cd 域名nux_amd64

在我们的公网服务器 Server A上配置 域名设置通信端口

# 域名
[common]
bind_port = 7000

启动服务

./frps -c 域名

接着配置我们Windows端的 域名 (这次我们实验使用默认的ssh类型即可)

# 域名
[common]
server_addr = x.x.x.x
server_port = 7000

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 7890

server_addr 填入我们的公网IP

server_port 刚刚的通信端口

local_ip 需要进行内网穿透的主机ip

local_port 是需要进行映射的端口

remote_port 是映射至公网服务器的端口

配置好后开启服务连接

.\域名 -c 域名

此时就可以通过公网IP+端口(7890)连接我们windows的22端口了

2. http服务

配置vps的域名

# 域名
[common]
bind_port = 7000
vhost_http_port = 8080

配置win的域名

# 域名
[common]
server_addr = x.x.x.x
server_port = 7000

[web]
type = http
local_port = 80
custom_domains = 域名

此时通过访问公网IP+8080端口访问到我们部署在win上80端口的web服务

3. dns服务

配置域名

# 域名
[common]
bind_port = 7000

配置域名

# 域名
[common]
server_addr = x.x.x.x
server_port = 7000

[dns]
type = udp
local_ip = 8.8.8.8
local_port = 53
remote_port = 6000

使用dig进行测试

dig @[公网IP] -p 6000 域名

其他

frp支持远远不止这些服务,当然也可以自定义服务。具体可阅读手册

标签:编程
湘ICP备14001474号-3  投诉建议:234161800@qq.com   部分内容来源于网络,如有侵权,请联系删除。