1.NAT访问

2.FRP介绍

中文官方文档:https://gofrp.org/docs/

github:https://github.com/fatedier/frp/releases

frp 采用 Golang 编写,支持跨平台,仅需下载对应平台的二进制文件即可执行,没有额外依赖

原理:frp 主要由 客户端(frpc) 和 服务端(frps) 组成,服务端通常部署在具有公网 IP 的机器上,客户端通常部署在需要穿透的内网服务所在的机器上。

   内网服务由于没有公网 IP,不能被非局域网内的其他用户访问。

   用户通过访问服务端的 frps,由 frp 负责根据请求的端口或其他信息将请求路由到对应的内网机器,从而实现通信

2.1 代理类型

frp 支持多种代理类型来适配不同的使用场景。

2.2 frp工作模式

第一种:2边安装客户端,客户端提供配置文件访问公网ftp服务器17389转到到3389端口,流量会经过frp服务器到达局域网,这种是TCP和UDP模式,不是太安全,在frp服务器上可以抓包,另外会在公网上暴露端口,最好只能传输安全加密的协议,frp带宽影响2边数据传输

 第二种:需要2边都安装客户端来保证安全,不需要在公网上暴露端口,传输都是加密形式,但是要经过frp服务器,会被frp带宽影响,数据传输瓶颈

第三种--点对点内网穿透:2端需要安装客户端,frp服务器相当于一个媒介的角色:将访问端和访问远端的信息注册到FRP服务器上,交换完信息后,访问端和被访问端建立一个点对点的通道,访问本地17389端口,流量直接被传送到被访问端的3389端口上去,sk字符串保持一致,特点是:流量不经过frp服务器,数据也是加密的一个过程,网络只取决于2台客户端之间的状况

3.frp安装配置

3.1 tcp模式安装配置

配置:https://gofrp.org/docs/examples/ssh/

在被访问端安装frp客户端,安装一个frp服务器,被访问端提供信息注册到frp服务器上,访问者只需要访问公网frp服务器以及暴露的端口

下载客户端:https://github.com/fatedier/frp/releases

# 服务端frps.ini配置
[root@harbor frp_0.44.0_linux_amd64]# cat frps.ini
[common]
bind_addr = 0.0.0.0
bind_port = 7000
kcp_bind_port = 7000
bind_udp_port = 7001 max_pool_count = 5
tcp_mux = true
heartbeat_timeout = 90
authentication_timeout = 900
dashboard_addr = 0.0.0.0
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin
dashboard_tls_mode = false log_file = ./frps.log
log_level = debug
log_max_days = 3 tls_only = true
authentication_method = token
token = 12345678 # 秘钥自己设置 # 启动程序
./frps -c ./frps.ini 查看日志:
[I] [root.go:218] frps started successfully
# frp客户端配置
[root@node1 frp_0.44.0_linux_amd64]# cat frpc.ini
[common]
server_addr = 192.168.10.12
server_port = 7000
token = 12345678 # token要与frp服务端一致
tls_enable = true [ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
[root@node1 frp_0.44.0_linux_amd64]# ./frpc -c ./frpc.ini
2022/09/05 14:59:06 [I] [service.go:349] [e7a9504c752b3bde] login to server success, get run id [e7a9504c752b3bde], server udp port [7001]
2022/09/05 14:59:06 [I] [proxy_manager.go:144] [e7a9504c752b3bde] proxy added: [ssh]
2022/09/05 14:59:06 [I] [control.go:181] [e7a9504c752b3bde] [ssh] start proxy success # frp服务端查看端口
[root@harbor frp_0.44.0_linux_amd64]# netstat -ntlp | grep frp
tcp6 0 0 :::7500 :::* LISTEN 81748/./frps
tcp6 0 0 :::6000 :::* LISTEN 81748/./frps
tcp6 0 0 :::7000 :::* LISTEN 81748/./frps
# 访问客户端
[root@master bin]# ssh -oPort=6000 root@192.168.10.12
第一次登录需要输入密码,第二次不需要

3.2 stcp模式安装配置

下载:frp_0.44.0_windows_amd64.zip

环境
客户端1:windows
frp服务器
客户端2:linux # 1.linux客户端配置:
[root@node1 frp_0.44.0_linux_amd64]# cat frpc_stcp.ini
[common]
server_addr = 192.168.10.12
server_port = 7000
authentication_method = token
token = 12345678
tls_enable = true [secret_ssh]
type = stcp
sk = 123456
local_ip = 127.0.0.1
local_port = 22
#remote_port = 6000 # 2.启动:
./frpc -c ./frpc_stcp.ini # 3.windows客户端配置
[common]
server_addr = 192.168.10.12
server_port = 7000
authentication_method = token
token = 12345678
tls_enable = true [ssh_visitor]
type = stcp
role = visitor
sk = 123456
server_name = secret_ssh
local_ip = 127.0.0.1
bind_port = 10022 # 4.启动:
frpc.exe -c frpc.ini # 5.服务端配置可以和之前tcp一样不需要变化
[root@harbor frp_0.44.0_linux_amd64]# cat frps.ini
[common]
bind_addr = 0.0.0.0
bind_port = 7000
kcp_bind_port = 7000
bind_udp_port = 7001 max_pool_count = 5
tcp_mux = true
heartbeat_timeout = 90
authentication_timeout = 900
dashboard_addr = 0.0.0.0
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin
dashboard_tls_mode = false log_file = ./frps.log
log_level = debug
log_max_days = 3 tls_only = true
authentication_method = token
token = 12345678

# 2个客户端链接到服务端后日志里都会提示
new work connection registered
# windows客户端登录linux 测试
127.0.0.1 10022
正常就可以登录到linux节点

可以用传输文件至linux客户端来检测网络传输瓶颈

3.3 点对点内网穿透

https://gofrp.org/docs/examples/xtcp/

frp内网穿透器安装与介绍的更多相关文章

  1. Frp内网穿透搭建,家庭主机对外提供接口,支持ssh访问

    Frp内网穿透搭建,家庭主机对外提供接口,支持ssh访问 1.使用场景: 需求1.家中服务器 ubuntu 主机,跑接口服务,需要对外暴漏, 需求2.同时需要在外网ssh远程 ​ 关键词: frp内网 ...

  2. frp内网 穿透映射使内网svn可外网访问

    起因 公司svn目前部署在内网服务器上,现在想在家中也可以使用,因此需要外网访问内网的工具 经过 使用过几个产品: utools,一个小巧的windows下的工具,内网映射只是它的一个小功能,支持tc ...

  3. frp 内网穿透访问内网Web服务

    ps:最近想要通过域名(公网)访问或者测试在本地搭建的 web 服务(不想在公网IP服务器上再部署个服务,也不想通过teamview等工具远程卡到爆!), 由于本地机器没有公网 IP,无法将域名解析到 ...

  4. 树莓派FRP内网穿透及自启动

    内网穿透的步骤和文件存档 实验室在远方部署了电脑主机来采集数据和图片,每次去调试会很麻烦,因而使用FRP内网穿透使得我们可以在实验室访问主机. 主要功能 实现远程可访问和开机自启FRP程序服务 安装和 ...

  5. frp内网穿透(已验证)

    # 云服务器frp内网穿透教程 软件源码在https://github.com/fatedier/frp/releases上,根据系统类型,按需下载 教程术语描述 > A 是有固定IP的云服务器 ...

  6. frp内网穿透学习

    前言 因为自己在内网,但是目标站在外网,这时候可以通过内网穿透工具,将接收到的请求转发到内网,实现在内网的msf可以控制外网的靶机. 也看了一些Ngrok,花生壳的,发现Ngrok.cc这个看文章说有 ...

  7. [svc]frp内网穿透

    什么是穿透 可以任意暴漏内网任何服务,加入你在你的办公网络有台pc,可以上网就可以了, 你可以在你电脑上安装各类服务器, 暴漏如80 22等端口, 注意 这可以暴漏到公网哦, 在出口不做任何nat情况 ...

  8. frp内网穿透

    原理 frp(fast reverse proxy)分为Server端和Client端,Server端安装在带有公网IP的服务器上,Client安装在内网环境但能上网的普通PC中. 流程: Serve ...

  9. 网络安全之frp内网穿透

    前言 内网穿透,也即 NAT 穿透,进行 NAT 穿透是为了使具有某一个特定源 IP 地址和源端口号的数据包不被 NAT 设备屏蔽而正确路由到内网主机 环境需求 一台公网服务器(linux操作系统) ...

  10. frp内网穿透实战

    什么是frp frp是一个使用非常简单的开源内网穿透软件,代码地址:https://github.com/fatedier/frp ,使用条前提你需要有一台公网服务器,大致原理是:公网服务器监听某个端 ...

随机推荐

  1. 记录--H5页面对接微信支付踩坑杂记

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 背景 应用背景:vite搭建的vue3项目 需求背景:功能都涉及了支付业务,故需要和外部支付系统对接 外部支付系统:聚合支付.微信小程序支 ...

  2. uni-app 地图全解析+事件监听

    最近找到了一篇uni-app的地图解决方案精品文章,这里分享给大家,希望对大家有所帮助 转载地址:https://blog.csdn.net/cplvfx/article/details/111447 ...

  3. 什么是OOP(Object Oriented Programming)面向对象编程

    1.认识面向对象首先要认识面向过程 面向过程编程,举个例子 比如有一天你要吃回锅肉,你会先去准备食材,然后一步一步把这道菜做出来,这就是面向过程. 还有一种方式你依然可以得到这道菜,你可以去饭店直接点 ...

  4. #二分,负环#JZOJ 3852 单词接龙

    题目 只要一个单词的最后两个字母和另一个单词的前两个字母相同,那么这两个单词就可以有序的连接起来.给出\(n\)个单词组成单词环,求所有环的环中单词平均长度最大值. 分析 二分答案,判断是否存在正环( ...

  5. Debian 11 x64 安装 MySQL 8.0.33

    更新 sudo apt update sudo apt install gnupg 安装 DEB Package wget -c https://dev.mysql.com/get/mysql-apt ...

  6. Java中的类型推断和lambda表达式

    目录 简介 类型的显示使用 Stream中的类型推断 类型推断中变量名字的重要性 类型推断对性能的影响 类型推断的限制 总结 简介 java是强类型的编程语言,每个java中使用到的变量都需要定义它的 ...

  7. 今晚战码先锋润和赛道第2期直播丨如何参与OpenHarmony代码贡献

    「OpenHarmony 开源贡献者计划 2022」战"码"先锋 PR 征集,"润和赛道"已于6月15日正式开启.套件在手.先机在握,更有润和软件的超多赋能和专 ...

  8. HMS Core Discovery第13期直播预告——构建手游中的真实世界

    [导读] 游戏的迭代升级不止在于玩法的创新,也体现在画质升级上.一款又一款次世代游戏运用各种顶尖渲染技术化身"显卡杀手"的同时,也让玩家们在体验过逼真渲染画质后大呼过瘾,技术的进步 ...

  9. Linux-搭建内网yum源

    部署要求: 服务器:CentOS7 YUM源:阿里云 空间要求:CentOS6+CentOS7 50G,考虑后期更新预留,LVS空间100G 1.在服务器配置CentOS7的yum源和CentOS6的 ...

  10. Python 爬虫进阶五之多线程的用法

    Python 爬虫进阶五之多线程的用法 作者 崔庆才   发表于 2016-11-03   分类于 Python   阅读次数: 60553   本文字数: 7.5k   阅读时长 ≈ 7 分钟 前言 ...