首页/新闻资讯/正文详情

Linux 学习笔记(五十四):内网穿透实战——用 frp 让外网访问你的私人电脑

发布时间:2026/11/5 3:47:17 来源:云帆数科 栏目:资讯中心
Linux 学习笔记(五十四):内网穿透实战——用 frp 让外网访问你的私人电脑
核心结论TL;DR内网穿透背景由于 NAT 技术的存在外部网络无法主动连接内网的私有 IP。核心思路利用一台拥有公网 IP 的服务器作为中转站。frp 架构由运行在公网的frps和运行在内网的frpc组成。内网主动连接公网建立隧道。配置逻辑客户端通过配置localPort和remotePort将公网端口与内网服务绑定。一、 为什么需要内网穿透在 IPv4 地址枯竭的今天家庭宽带和公司网络通常都在 NAT 路由器之后使用私有 IP如 192.168.x.x。如果你想在家里搭建一个 Web 服务器供外网访问或者想在公司远程 SSH 连接家里的电脑外网是无法直接找到你的。这就是内网穿透要解决的问题。二、 frp 工作原理frp 是一款高性能的反向代理应用。在内网机器上运行frpc客户端主动向公网服务器的frps发起连接因为内网访问外网是被允许的。建立一条长期存在的安全隧道。当外部用户访问公网服务器的指定端口时frps会顺着隧道把请求转发给内网的frpc。三、 实战配置(插入 frpc.toml 的截图)# frpc.toml (运行在内网) serverAddr 云服务器公网IP serverPort 7000 [[proxies]] name ssh-tunnel type tcp localIP 127.0.0.1 localPort 22 # 内网本地服务端口 remotePort 8081 # 暴露给公网的端口四、 测试验证与避坑(插入 ssh -p 8081 连接成功的截图)配置完成后启动frps和frpc。在公网机器上执行ssh -p 8081 用户名云服务器IP成功通过公网 8081 端口登录到了内网的 22 端口。⚠️ 核心避坑云服务器的安全组必须放行7000通信端口和8081映射端口。如果想让 frp 在后台常驻可以使用nohup ./frpc -c frpc.toml /dev/null 21 命令。自我实战操作cd ~/linux_study/network_test mkdir frp_demo cd frp_demo第一步下载并解压 frp(如果 GitHub 下载慢可以找网上的国内镜像加速)# 下载 Linux amd64 版本 wget https://github.com/fatedier/frp/releases/download/v0.58.1/frp_0.58.1_linux_amd64.tar.gz 解压 tar -zxvf frp_0.58.1_linux_amd64.tar.gz cd frp_0.58.1_linux_amd64第二步配置公网端frps.tomlvim frps.toml(输入以下代码)bindPort 7000(默认通信端口是 7000。重点排坑去云服务器控制台的安全组里放行 7000 端口)第三步配置内网端frpc.tomlvim frpc.toml(输入以下代码)serverAddr 127.0.0.1 # 模拟环境填 127.0.0.1。如果你在家里填云服务器的公网 IP serverPort 7000 # 连向 frps 的 7000 端口 [[proxies]] name ssh-tunnel type tcp localIP 127.0.0.1 localPort 22 # 内网真正要暴露的服务端口 (这里是 SSH 的 22) remotePort 8081 # 映射到公网的 8081 端口(重点排坑安全组里还要放行 8081 端口)第四步启动并测试终端 A启动服务端./frps -c frps.toml(看到frps started successfully说明成功)终端 B启动客户端./frpc -c frpc.toml(看到start proxy success说明隧道建好了)第五步见证奇迹现在你用本地的电脑或者直接开第三个终端# 尝试连接云服务器的 8081 端口 ssh -p 8081 blog127.0.0.1现象当执行ssh -p 8081 blog127.0.0.1时终端弹出了The authenticity of host ... cant be established.的指纹确认提示。说明这是 SSH 的首次连接安全机制。因为我们刚才配置了 frp 内网穿透将本地的 22 端口映射到了 8081 端口。SSH 客户端发现了这个“陌生”的隧道端口为了防范中间人攻击要求我们核对 RSA/ED25519 指纹。操作输入yes确认后成功进入了目标主机的终端。这标志着 frp 穿透大获全胜以后在家里、在公司随时随地都可以用 8081 这个暗门连回这台服务器了现象在终端执行ssh -p 8081 blog127.0.0.1并输入密码后成功弹出了 Ubuntu 的欢迎信息提示符变成了blogVM-0-16-ubuntu:~$。深度解析我明明连接的是8081端口为什么能登录进blog用户因为 frp 客户端在后台默默把请求转发给了本机的22端口。这个实战虽然是在同一台机器上模拟的但如果在真实的办公场景中frps服务端跑在云服务器上。frpc客户端跑在公司的内网电脑上。那么你在家里只要执行ssh -p 公网IP的8081端口就能直接远程操控公司的电脑安全提醒真实场景下千万不要把带有公网 IP 的 22 端口直接暴露出去使用 frp 映射加上强密码/密钥认证是最稳妥的方案。(实战演示完毕后记得用CtrlC关掉 frps 和 frpc或者用文档里提到的nohup让它们在后台运行nohup ./frpc -c frpc.toml /dev/null )

相关推荐

Linux 学习笔记(五十三):NAT 技术与代理服务——正反向代理的本质区别
Linux 学习笔记(五十三):NAT 技术与代理服务——正反向代理的本质区别

📌 核心结论(TL;DR):NAT 技术:将私有 IP 替换为公网 IP,利用端口号区分不同主机(NAPT),拯救了 IPv4。正向代理:代表客户端,隐藏客户端身份。如翻墙… · 2026/11/5 3:47:17

Linux 学习笔记(五十五):五种 IO 模型与非阻塞 IO 实战
Linux 学习笔记(五十五):五种 IO 模型与非阻塞 IO 实战

📌 核心结论(TL;DR):阻塞 vs 非阻塞:阻塞是死等结果,非阻塞是立刻返回并轮询。五种 IO 模型:阻塞 IO、非阻塞 IO、信号驱动 IO、IO 多路复用(epoll)、异步 IO。fcntl 函数… · 2026/11/5 3:47:17

Win7下成功安装深度学习库的完整教程
Win7下成功安装深度学习库的完整教程

这两天我忙着安装那个深度学习库。我是真的尝试了好多遍。CMake、MinGW、BLAS这些东西, 我全部都装了。然后自己试着去编译, 在网上也搜索了一大堆教程。但是不管怎么弄, 就是都没有成功。一直到昨晚的晚上, 我回家把电脑清理干净了。接着我又小心翼翼地重装了一遍。这一次是成… · 2026/11/5 3:47:17

TED精读如何训练高阶英语思维与认知能力
TED精读如何训练高阶英语思维与认知能力

1. 项目概述:这不是一节普通英语课,而是一次认知升级的实操训练“跟TED演讲学英文:How AI can save our humanity by Kai-Fu Lee”——这个标题乍看是语言学习类内容,但真正懂行的人一眼就能看出,它根本不是在教“how … · 2026/11/5 4:39:54

PostgreSQL INSERT操作全面指南与性能优化
PostgreSQL INSERT操作全面指南与性能优化

1. PostgreSQL INSERT 操作深度解析PostgreSQL 作为一款功能强大的开源关系型数据库,其 INSERT 语句提供了远超基础数据插入的丰富功能。在实际开发中,合理运用这些特性可以显著提升数据操作效率和可靠性。1.1 基础语法与核心组件INSERT 语句的基础结构包… · 2026/11/5 4:39:54

Python在线考试系统开发:微服务架构与大数据分析实践
Python在线考试系统开发:微服务架构与大数据分析实践

1. 项目概述与设计背景在线考试系统作为教育信息化的重要载体,正在经历从传统纸质考试向智能化评估的转型。我们团队基于Python技术栈开发的这套系统,核心目标是解决三个行业痛点:一是人工阅卷效率低下,二是考试过程监管困难&… · 2026/11/5 4:39:54

MySQL执行机制解析与性能优化实战
MySQL执行机制解析与性能优化实战

1. 项目概述MySQL作为最流行的开源关系型数据库之一,其内部执行机制一直是开发者们关注的焦点。在实际工作中,我们经常遇到这样的困惑:为什么这条SQL执行这么慢?索引为什么没生效?连接池配置多少合适?要真正… · 2026/11/5 4:39:54

小波阈值去噪五种改进变体:原理、MATLAB实现与避坑指南
小波阈值去噪五种改进变体:原理、MATLAB实现与避坑指南

简介:面向信号处理初学者与工程实践者的MATLAB小波阈值去噪工具包,聚焦软阈值、硬阈值及五种改进阈值方法的快速实现。作者在wden、thselect与wthresh三个函数基础上进行改造,并进一步封装为filterWaveletTh函数,延续专栏一贯的代… · 2026/11/5 4:39:54

从NRZ到PAM4:SerDes高速链路调制选型、均衡与眼图调试
从NRZ到PAM4:SerDes高速链路调制选型、均衡与眼图调试

高速串行链路这个圈子,做得久了你会发现一个很有意思的现象:真正决定一个系统能不能跑通的,往往不是那几百页的协议栈,而是最底层那一对差分线上的信号到底长什么样。SerDes 系统里 NRZ 和 PAM4 这两种调制方式的取舍,… · 2026/11/5 4:38:47

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38

多智能体协作系统架构设计与实践优化
多智能体协作系统架构设计与实践优化

1. 多智能体协作系统的时代背景2017年Transformer架构的诞生彻底改变了人工智能的发展轨迹。当行业还沉浸在单一大模型带来的性能突破时,Anthropic的研究团队已经将目光投向了更前沿的领域——如何让多个智能体通过协作产生超越单体能力的系统智能。这就像交响乐团中… · 2026/11/5 0:00:39

大模型系统性入门实战指南:从原理到部署微调的全链路路线
大模型系统性入门实战指南:从原理到部署微调的全链路路线

提到大模型的系统性入门,我先说个结论:这事真不难,难的是资料太散、路线太多,今天这个框架明天那个工具,新人很容易在“收藏夹吃灰”和“教程看到一半放弃”之间反复横跳。市面上关于大模型的内容少说有几十万篇&#… · 2026/11/5 0:00:39

鸿蒙文件系统沙箱机制解析与开发实践
鸿蒙文件系统沙箱机制解析与开发实践

1. 鸿蒙文件系统沙箱机制深度解析作为一名从Android转向鸿蒙开发的工程师,我深刻体会到文件系统访问是迁移过程中最先遇到的"拦路虎"。在Android上运行良好的文件读写代码,在鸿蒙真机环境却频频出现文件写入后神秘消失或直接抛出权限拒绝错误的… · 2026/11/5 0:00:39

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码