frp内网穿透工具实现局域网服务访问

news2025/3/6 12:24:22

frp工具实现内网穿透

frp主要作用是实现内网穿透,将内外网端口进行映射,这样如果我想访问局域网内的某项服务,那么我直接访问公网上相对应的映射端口即可。

frp安装配置较复杂,这里我们直接使用frp docker容器安装。所以如果主机上未安装docker的,请先安装docker。

  1. 安装Docker:在Ubuntu上安装Docker,可以通过以下命令进行操作:
sudo apt update
sudo apt install docker.io

验证是否安装成功,请使用

docker -v

  1. 获取frp Docker镜像:使用以下命令从Docker Hub上获取frp镜像:
sudo docker pull snowdreamtech/frps
  1. 创建frp配置文件:创建一个名为frps.ini的配置文件,并根据您的需求进行配置。
    假设我们的公网服务器的地址example.com,ubuntu 20.04系统,各个端口都可用。准备好frp服务端的配置文件/opt/frps.ini,注意文件权限。
    以下是一个示例配置文件的内容:
[common]
bind_addr = 0.0.0.0
bind_port = 7000
dashboard_addr = 0.0.0.0

# 管理端口
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin
log_file = ./frps.log
log_level = info
log_max_days = 3
disable_log_color = false

# 客户端连接token
token = 12345678
allow_ports = 2000-3000,3001,3003,4000-50000
max_pool_count = 5
max_ports_per_client = 0
subdomain_host = frps.com
tcp_mux = true

您可以根据需要添加更多的配置选项和转发规则。

  1. 运行frp容器:使用以下命令在Docker中运行frp容器:
sudo docker run -d --name=frps     --restart=always     -v /opt/frps.ini:/etc/frp/frps.ini     -p 7000:7000 -p 7500:7500 -p 7001:7001   snowdreamtech/frps

/opt/frps.ini替换为您实际的配置文件路径。
注意:上7000是frp服务端口,7500为frp dashboard管理端口, 7001端口是用于映射本地web服务的80端口。

  1. 客户端docker安装配置
    同样,我们client端工具frpc同样采用docker安装,运行命令如下:
docker run --restart=always -d   --network host   -v /opt/frpc.ini:/etc/frp/frpc.ini   -p 80:80/tcp  -p 1194:1194/udp  --name frpc   snowdreamtech/frpc

上述命令会先检测本地是否已下载frpc工具,如果没有会先从docker官方下载对于的docker容器,另外如果容器正在运行,那么需要先清除当前docker,然后再运行。

docker stop /frpc
docker rm /frpc

frpc成功运行:

  1. 验证内网穿透:通过访问公网IP或域名的对应端口来验证内网穿透是否成功。根据上面的示例配置,您可以通过example.com访问内网的HTTP服务。

我们使用公网地址及本地Web服务80端口在远端映射的端口7001成功访问内网Web服务。

注意:在映射端口过程中,注意公网服务器防火墙设置,开放相应的端口,否则无法访问Web服务。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/762577.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第二十章:CANet:具有迭代细化和专注少样本学习的无类别分割网络

0.摘要 最近在语义分割方面的进展是由深度卷积神经网络和大规模标注图像数据集推动的。然而,像素级别的数据标注是繁琐和昂贵的。此外,训练好的模型只能在一组预定义的类别中进行预测。在本文中,我们提出了CANet,一种无类别偏见的…

Spark编程-使用SparkCore求TopN,Max_Min_Value

简介 使用SparkCore求top5值编程,最大最小值 求订单前五的TOP5值 数据 数据字段如下:orderid,userid,payment,productid 需求如下:从文本文件中读取数据,并计算出前5个payment(订单的付款金额)值 //字段 orderid,userid,payme…

Java读取INI文件详解及案例

引言: INI文件是一种常用的配置文件格式,它采用了键值对的形式存储配置信息。在Java编程中,读取和解析INI文件是一个常见的任务。本文将详细介绍如何使用Java读取INI文件,并提供一个案例演示。 ---------------文章目录---------…

给2023年还想要成为网络工程师的朋友的一份学习福利

2023的夏天再怎么热,网络工程师工作的机房也会让你瑟瑟发抖。 很久没有给粉丝们分享网络工程师学习资料了,如果你当下还在为成为网络工程师而学习,不妨顺手拿走这份网工资料包再出发,希望可以给大家的学习一些帮助。 网工光速入门…

快速数据处理:限定表格某些字段是否可见、只读

目录 1 前言 2 打开字段属性表进行修改 3 测试一下几个字段只读属性 1 前言 实际操作中,某些字段不需要显示出来,某些字段需要显示,但是不可修改。我们可以通过简单设置来实现这些。 2 打开字段属性表进行修改 从左下基础表格列表中&am…

Day55|392.判断子序列 、 115.不同的子序列

392.判断子序列 1.题目: 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是…

第五章内存系统(Cortex-M7 Processor)

目录 第五章内存系统 5.1关于内存系统 5.2(Speculative)推测性访问 5.2.1系统设计注意事项 5.3故障处理 5.3.1故障 5.3.2使用模型 5.4内存类型和内存系统行为 5.5AXIM接口 5.5.1AXI属性和事务 5.5.2用于AXIM接口访问的标识符 5.5.3AXI特权信息 5.…

Python案例分析|文本相似度比较分析

本案例通过设计和实现有关文本相似度比较的类Vector和Sketch,帮助大家进一步掌握设计Python类来解决实际问题的能力。 01、文本相似度比较概述 通过计算并比较文档的摘要可实现文本的相似度比较。 文档摘要的最简单形式可以使用文档中的k-grams(k个连…

springboot第30集:springboot集合问题

Logstash Logstash 是开源的服务器端数据处理管道,能够同时从多个来源采集数据、格式化数据,然后将数据发送到es进行存储。 ElasticSearch Elasticsearch 是基于JSON的分布式搜索和分析引擎,是利用倒排索引实现的全文索引。 KibanaKibana 能够…

低代码项目实战第一弹!2人14天快速构建电商企业供应链管理平台(一)

一、前言:项目背景 项目情况:一家主要通过电商平台销售日用清洁用品的企业,淘宝垂直品类第一,销售模式包括自营和代理商两种模式,平时用旺店通ERP进行订单管理和财务结算。并且客户公司有小的开发团队,可以…

Java日期类

日期类 第一代日期类: 1、Date:精确到毫秒,代表特定的瞬间 2、SimpleDateFormat: **格式化和解析日期的具体类,**它允许进行:格式化(日期 → 文本) 解析(文本 → 日期) 和 规范化。 3、常用的使用方法…

sentinel介绍-分布式微服务流量控制

官网地址 https://sentinelguard.io/ 介绍 随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自…

MySQL 知识连载(一)

点击上方↑“追梦 Java”关注,一起追梦! MySQL 是一款开源软件,凭借其出色的性能,目前已经成为绝大多数互联网公司的首选关系型数据库。因此程序员不能只懂数据库的增删改查和一些简单的使用技巧,更需要熟练掌握 MySQL…

MySQL八股学习历程3MySQL数据页的格式from小林coding

MySQL八股学习历程3MySQL数据页的格式from小林coding InnoDB数据页MySQL单表建议数据承载量探究 InnoDB数据页 InnoDB 的数据是按数据页为单位来读写的,每个数据页大小默认为16KB,数据页的格式如下图 文件头中有两个指针,指向上一个数据页和下一个数据页,使得页面连接成一个…

大佬带你体验华为云代码检查服务CodeArts Check

1 开发者的自述 作为开发者,刚开始都不希望有任何针对他代码的批评,因为一旦知道代码被检测出问题,就会付出额外的努力做好工作,实际上,从一个开发人员的编码中,你能更清楚地了解编程语言可以做什么&#…

单片机裸机程序框架是怎样的?

单片机裸机程序框架指的是在单片机上进行编程时,不依赖任何操作系统或高级库的纯裸机编程框架。这意味着你需要直接操作底层硬件和寄存器,以完成特定的任务。下面是一个典型的单片机裸机程序框架,以C语言为例: // 头文件包含&…

分布式kmeans(scala原码实现)

scala分布式kmeans 1.分布式Kmeans算法设计思路2.分布式Kmeans算法代码实现2.1 Driver(主要负责分配、汇总数据)2.2 Executor(主要负责计算)2.3 Executor2(主要负责计算) 3.分布式Kmeans算法spark集群部署3…

如何解决笔记本电脑键盘失灵的问题:3个简单而有效的解决方法

当你使用笔记本电脑时,可能会遇到键盘失灵的情况,这是一件非常令人恼火的事情。然而,不要担心,下面将为你提供三个简单而有效的解决方法。 首先,检查连接和驱动程序。请确保键盘与笔记本电脑的连接正常,有时…

数据结构与算法之美总结(数组、链表、栈、队列、递归、排序及二分)

title: 数据结构与算法之美总结(数组、链表、栈、队列、递归、排序及二分) date: 2023-04-15 01:41:26 tags: 数据结构算法 categories:数据结构与算法 cover: https://cover.png feature: false 1. 前言 1、什么是数据结构?什么是算法&…

SpringCloud Alibaba组件之Seata安装部署

seata server(TC) 部署 部署指南:https://seata.io/zh-cn/docs/ops/deploy-guide-beginner.html 下载地址:https://github.com/seata/seata/tags 版本对应关系:SpringCloud Alibaba 组件对应关系说明 下载 通过查…