首页 > 其他分享 >frps 内网穿透

frps 内网穿透

时间:2024-08-07 16:38:34浏览次数:14  
标签:frps 主机 端口 穿透 公网 port 客户端

原文:https://blog.csdn.net/jiuweideqixu/article/details/120167410

内网穿透的作用包括跨网段访问一个局域网中的一台主机

 如上图,假设我们想要通过主机A访问主机C,但是主机A和主机C绑定的都是私有ip地址,所以它们之间是无法直接进行通信的。要想使得A和C能够进行通信,就需要用到内网穿透的技术。

我们可以借助frps(服务端)和frpc(客户端)来实现主机A对主机C的访问。

需要做的是:

1.在绑定了公网ip的主机B中配置frps(服务端)

2.在主机C中配置frpc(客户端)

frps/frpc的工具包的github地址是:

Releases · fatedier/frp · GitHub

下载适合自己机器的版本即可。

在服务端,即主机B中,编辑frps.ini文件:

[common]
bind_port = 7000                                # 服务端与客户端通信端口
dashboard_port = 7500                      # 后台管理端口
dashboard_user = admin                    # 后台登录用户名
dashboard_pwd = admin

vhost_http_port = 7002                      # http穿透端口 ,访问端口时,frp将http请求转发到内网服务器
vhost_https_port = 7003                    # https穿透端口,访问端口时,frp将http请求转发到内网服务器
max_pool_count = 50

token = aaa123                                   # 身份验证令牌,frpc要与frps一致
tcp_mux = true

log_file = /usr/local/frp/frps.log         # 日志相关
log_level = info
log_max_days = 3

authentication_timeout = 0                # 服务器与客户端时间相差15min会连接失败,0表示不验证
subdomain_host = feng.top     # 注册的域名
privilege_mode = true

 

然后可以启动服务端,切换到frps软件的解压目录之后,使用命令:

./frps -c frps.ini

在客户端,即主机C中,编辑frpc.ini文件:

[common]
server_addr =  x.x.x.x          # frps公网服务器ip
server_port = 7000                          # frps公网服务端通信端口

token = aaa123                     # 令牌,与frps公网服务端保持一致    
tcp_mux = true


log_file = /usr/local/frp/frpc.log      # 日志相关
log_level = info
log_max_days = 3
authentication_timeout = 0           # 服务器与客户端时间相差15min会连接失败,0表示不验证

[ssh]                                                  # 不能重复   远程windows 需要内网电脑开启远程桌面
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 33389                       # 不能重复

[web01]                                              
type = http
local_ip = 127.0.0.1
local_port = 8002    
custom_domains =  1.feng.top # 通过域名解析   由于frps公网服务配置的http端口是7002,所以请求  1.feng.top:7002 



[web02]                                              
type = http
local_ip = 127.0.0.1
local_port = 8003    
custom_domains =  2.feng.top  # 通过域名解析   由于frps公网服务配置的http端口是7002,所以请求  2.feng.top:7002 


[web03]
type = tcp
local_ip = 127.0.0.1
local_port = 8004
remote_port = 8004

[mysql]                             
type = tcp
local_ip = 127.0.0.1
local_port = 3306
remote_port = 33306

 

客户端会根据frpc.ini文件中配置的server的ip以及port 与 服务端监听的7000端口进行连接 

客户端使用命令连接到服务端:

./frpc -c frpc.ini

 

 这里主机C(客户端)相当于是充当了反向代理的角色,而主机B(服务端)充当了正向代理的角色。

正向代理是代理客户端,为客户端收发请求,使真实客户端对服务器不可见;而反向代理是代理服务器端,为服务器收发请求,使真实服务器对客户端不可见。

因此,主机B用来接收主机A发送过来的请求,然后主机B将请求转发给主机C,从而主机A和主机C就能够进行通信了。

比如根据上面frpc.ini配置的ssh的内容,可知主机A通过ssh访问主机B的20022端口的时候,主机B会把该请求转发给主机C的22端口,因此主机A和主机C就建立了ssh的连接。

举例:

Windows中openssh的下载地址是:mls-software.com,安装完成之后,可以直接在powershell的命令行中调用ssh命令。

现在通过主机A(WIndows7)进行ssh访问,我们还知道主机B和主机C都是linux系统。

假设主机C中有两个用户,一个用户的用户名是acat,另一个用户的用户名是oracle,

那么ssh命令的格式是为:        ssh -p 公网的转发端口 主机C的用户名@公网的ip

 

 同样,可以使用SFTP协议传输文件,相当于是使用SCP命令来完成这种操作,因为SCP相当于是传输文件的过程中加了密。

命令格式:       

把主机A(本地机器WIndows7)上的文件传到主机C:(注意这里的P是大写的)

scp -P 公网的转发端口 主机A文件路径 主机C用户名@公网ip地址:主机C文件路径

 

拉取主机C上的文件到主机A(本地机器Windows7)中:

scp -P 公网的转发端口 主机C用户名@公网ip地址:主机C文件路径 主机A的目录

 

标签:frps,主机,端口,穿透,公网,port,客户端
From: https://www.cnblogs.com/zhang1f/p/18347364

相关文章

  • Redis02——缓存(缓存更新策略、缓存穿透、缓存雪崩、缓存击穿、缓存工具封装)
    目录缓存概念添加Redis缓存业务场景缓存作用模型java代码缓存更新策略主动更新的三种策略主动更新——CacheAsidePattern实际应用缓存穿透概念解决方法实际应用缓存雪崩概念解决方法缓存击穿互斥锁介绍 实际应用逻辑过期介绍实际应用  互斥锁VS......
  • 缓存击穿和缓存穿透
    缓存击穿和缓存穿透都是缓存系统中可能出现的问题,但它们的原因和解决方法有所不同。 ###缓存击穿缓存击穿通常发生在高并发场景下,当某个热门数据的缓存刚好过期时,大量请求同时到达,发现缓存中没有数据,因此这些请求会直接落到后端数据库,导致数据库瞬间压力激增,这种情况称为......
  • 本地部署动态服务发现管理平台Nacos结合内网穿透实现远程访问管理
    文章目录前言1.Docker运行Nacos2.本地访问Nacos3.Linux安装Cpolar4.配置NacosUI界面公网地址5.远程访问NacosUI界面6.固定NacosUI界面公网地址7.固定地址访问Nacos前言本文主要介绍如何本地部署动态服务发现、配置管理和服务管理平台Nacos,并结合cpola......
  • Frpc 内网穿透客户端配置教程
    github:https://github.com/fatedier/frp/releases1下载操作系统对应版本的Frpc.exe客户端程序2配置对应的frpc.ini文件3切换到Frpc.exe目录,cmd执行:Frpc.exe-cfrpc.ini 例如:frpc.ini如下例如 frps服务地址:10.10.10.10 端口10000本地服务端口5000,  frps域......
  • 内网穿透公众号开本地nginx发环境配置(花生壳和量子互联)
    昨天搞了一天,这儿总结一下,免得以后忘了 nginx收入80端口  所以穿透的工具局域网设80    其它端口根据软件应用配置花生壳的通道要选https  量子互联的话tcp配置启动https就可以nginx 我用1.24没有能成功  1.20成功了,不知道啥原因nginx配置时注意全文,都......
  • 搭建Home Assistant智能家居系统 - 家庭设备「内网穿透」
     文章目录前言1.安装HomeAssistant2.配置HomeAssistant3.安装cpolar内网穿透3.1windows系统3.2Linux系统3.3macOS系统4.映射HomeAssistant端口5.公网访问HomeAssistant6.固定公网地址6.1保留一个固定二级子域名6.2配置固定二级子域名......
  • 缓存优化(缓存穿透)
    缓存优化(缓存穿透)缓存穿透缓存穿透是指查询一个一定不存在的数据时,数据库查询不到数据,也不会写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,可能导致数据库崩溃。这种情况大概率是遭到了攻击。常见的解决方案有:缓存空数据,使用布隆过滤器等。当前项目中存在的......
  • 以BGP方式直连中国联通骨干网络,为客户提供全方位的互联网穿透服务
    联通IPTransit产品:以BGP直连,引领互联网穿透新纪元在数字化转型的浪潮中,互联网已成为连接世界、推动各行业创新发展的核心基础设施。面对日益增长的网络流量需求与复杂多变的网络环境,如何高效、安全地将内容推向全球用户,成为内容提供商面临的重要挑战。中国联通,作为国内领先的电......
  • “不简洁,毋宁死“办公应用想获得生命力,须走简洁有穿透力路线。
    办公类的应用程序通常需要足够简洁,因为用户需要快速找到并使用功能,而不愿意在复杂的界面中浪费时间。以下是一些办公类应用程序必须具备的简洁设计原则:1.直观的导航:简单而直观的导航可以让用户快速找到需要的功能和信息。清晰的菜单结构和导航标签可以帮助用户快速了解应......
  • 雨云服务器的一下玩法——内网穿透服务器
    前言前段时间因为应为一些技术验证和测试的原因入手了一个雨云服务器,但是在我搞完所需要的内容之后,就一直有一些空虚,一直想让其在发挥一些热量。所以我进行了一些尝试。第一个玩法就是内网传统服务器,随着ipv4池的ip枯竭,许多人没有了公网ip,但是又有公网访问的需求,内网穿透成为......