使用frps建立内网穿透从而实现外界连接内网电脑的全教程

article/2025/9/12 1:41:32

1. 说明

我有台服务器,但它在内网里,我需要通过ssh方式访问它,目前可以采用:向日葵等商业软件,RustDesk等开源软件。或者,《自建内网穿透服务器》。
本教程把实现上述功能的所有步骤罗列出来,以及避坑攻略。注意,本教程采用Linux(公网服务器端、内网服务器端)。至于你自己ssh远程的客户端就随意了,windows和linux都可以ssh。
本教程参考了:
https://www.bilibili.com/video/BV1D7411q7cA?p=2
https://blog.csdn.net/qq_26290415/article/details/115839191
https://www.ofuni.com/frp-config/
https://blog.csdn.net/jackghq/article/details/54974141
等。

2. 工具准备

a. 带公网IP的公网服务器
b. 需要访问的内网服务器(很多教程叫它客户端,我认为这个实际是我需要访问的内网服务器,所以和其他人叫法有所区别。
c. 客户端(很多教程并未提及这个,实际设置上也有点trick。客户端是你自己的笔记本电脑之类的,你想要从客户端远程接入服务器)

3. 公网服务器申请

阿里云,腾讯云(轻量级应用即可满足一般需求)。截至 2021年11月。Amazon依旧可以申请免费1年的服务器端。
网址:https://aws.amazon.com/cn/campaigns
申请免费1年的EC2。自己申请,具体教程要去找其他教程了。
图1
本教程列出两个必要设置:
(1)EC2控制面板左侧,点击安全组。–》 找到”编辑入站规则“ --》编辑成下图3(所有流量均可访问)
图2
图3
(2)链接外网ip地址。这个ip地址,就是公网服务器的地址,也是你以后都要使用,来访问私网服务器的地址。有些教程是有公网域名的。也是可以的。本教程我们假设你申请到的IP是199.199.199.9
图4

4. 公网服务器端设置

要求,使用root设置。

步骤1. 下载frps

cd ~
wget https://github.com/fatedier/frp/releases/frp_0.30.0_linux_amd64.tar.gz
tar -zxvf frp_0.30.0_linux_amd64.tar.gz
mv frp_0.30.0_linux_amd64 frp
cd frp/
vi frps.ini 

步骤2. 设置frps(请务必注意,这里是frps.ini,后面是frpc.ini,这个坑,耽误了我3个小时)

[common]
bind_port = 7000
token = ttt123# web online check status of frp
dashboard_port=7500
dashboard_user=sheng
dashboard_pwd=abc123# point to point 
bind_udp_port = 7001

这里的设置可变的项,有:
token,dashboard_user,dashboard_pwd,你可以设置为你想要的密钥,用户名和密码。后续有用。
你也可以增加其他服务端口,比如其他教程里加的:

# http, https port
vhost_http_port = 8080
vhost_https_port= 443

http
https服务。我不需要,所以没加。

步骤3. 开启服务并测试是否正常开启。

cd ~/frp
./frps -c frps.ini

在外网服务器端开启该服务后,任何一台电脑,输入网址:
http://199.199.199.9:7500 (这个Ip请改成你自己申请到的IP)
输入账户sheng密码abc123(即你写的dashboard_user和dashboard_pwd的设置值)就可以直接访问该frp服务器端。查看状态。

步骤4. 内网服务器端设置。

在你的内网服务器,下载frps,

cd ~
wget https://github.com/fatedier/frp/releases/frp_0.30.0_linux_amd64.tar.gz
tar -zxvf frp_0.30.0_linux_amd64.tar.gz
mv frp_0.30.0_linux_amd64 frp
cd frp/
vi frpc.ini 

设置frpc.ini。请注意:
这里设置的是frpc.ini !!!
这里设置的是frpc.ini !!!
这里设置的是frpc.ini !!!

[common]
server_addr = 199.199.199.9
server_port = 7000
token = ttt123
# frpc客户端管理界面
admin_addr = 127.0.0.1
admin_port = 7400
# 失败重连
login_fail_exit = true[ssh1]
type = tcp
local_ip = 0.0.0.0
local_port = 22
remote_port = 6001

这里设置的token必须和前面frps的token一致。
linux的ssh端口是22,所以必须使用22.
可以更改的有,
连接名:[ssh1]可以随意更改,以及增加。但不要重复。
local_ip:是你的内网服务器的ip地址。
remote_port可以设置为6000-7000随意。但不要重复。后续要用这个端口来ssh连接内网服务器。

步骤5. 内网服务器端测试

cd ~/frp
./frpc -c frpc.ini

至此,你已经可以在任何一个客户端,访问内网服务器了。

步骤6. 客户端测试

注意坑2:
如果你的内网服务器是Ubuntu,那么需要开启ssh,(默认不开启)。开启ssh,开启ssh,开启ssh!!!
具体见:https://blog.csdn.net/jackghq/article/details/54974141

sudo apt-get install openssh-server
dpkg -l | grep ssh
ps -e | grep ssh

然后,你用内网服务器的用户名和密码,即可访问内网服务器。
Windows:
putty里设置 IP: 199.199.199.9 Port: 6001
Linux:

ssh -p 6001 userid@199.199.199.9

也可以直接访问了。

步骤7:自启动设置(公网和内网服务器均需设置)

公网服务器端

cd /etc/systemd/system/
vi frps.service

在frps.service里输入以下内容:

[Unit]
Description=frps daemon
After=syslog.target network.target
Wants=network.target[Service]
Type=simple
TimeoutStartSec=30
ExecStart=~/frp/frps -c ~/frp/frps.ini
Restart= always
RestartSec=1min
[Install]
WantedBy=multi-user.target
Alias=frps

接着开启自动启动,并开启frps服务:

systemctl enable frps.service
systemctl start frps
systemctl status frps

内网服务器端

cd /etc/systemd/system/
vi frpc.service

在frpc.service里输入以下内容:

[Unit]
Description=frpc daemon
After=syslog.target network.target
Wants=network.target[Service]
Type=simple
TimeoutStartSec=30
ExecStart=~/frp/frpc -c ~/frp/frpc.ini
Restart= always
RestartSec=1min
[Install]
WantedBy=multi-user.target
Alias=frpc

接着开启自动启动,并开启frpc服务:

systemctl enable frpc.service
systemctl start frpc
systemctl status frpc

注意:
请自行检查并修改frps和frps.ini文件的路径。
请注意frpc和frps的区别

至此,所有设置完毕。


http://chatgpt.dhexx.cn/article/DXt02OlW.shtml

相关文章

frp 内网穿透服务器搭建frps服务端和frpc客户端

1 工具 一台具有公网ip的服务器 2 下载frp frp下载地址 打开上面的frp下载地址 公网服务器上 打开下载文件 frps是服务端,在公网服务器上部署 frpc是客户端,在需要内网穿透的电脑上部署 1. frps配置 首先我这用的是win公网服务器 (linux…

内网穿透配置(FRP)

目录 0、内网穿透的一般场景 1、内网穿透配置 a、frp软件下载 b、frp 的配置 3、通过 frp 实现远程连接 4、设置 frpc / frps 开机启动的方法 5、设置frp安全连接的方法 0、内网穿透的一般场景 放假回家怎么远程连接学校实验室的服务器? 先分析一波&#x…

FRP入门篇

目录 一、前言 1、概述 2、原理 3、支持功能 4、适用场景 二、环境准备 三、使用 1、安装包下载 2、服务端部署 2.1、上传安装包 2.3、启动服务端 3、客户端部署 3.1、代理服务准备 3.2、上传安装包 3.3、客户端配置 3.4、启动客户端 4、功能验证 一、前言 1、…

frps内网穿透

1 原理讲解 frp工作原理 服务端运行,监听一个主端口,等待客户端的连接; 客户端连接到服务端的主端口,同时告诉服务端要监听的端口和转发类型;服务端fork新的进程监听客户端指定的端口; 外网用户连接到客户…

2021大数据架构、高性能、数据治理面试题

2021大数据架构、高性能、数据治理面试题 需要自取:https://url80.ctfile.com/f/32319880-516640957-aba608 (访问密码:1000)

Java架构师和大数据架构师的区别是什么?哪个更有发展前景?

[Java]是我们耳熟能详的编程语言,[大数据]更是当今科技的明星技术,那Java和Java大数据架构学习的内容是一样的吗?两者有什么区别呢?今天千锋广州Java的老师就从Java和大数据架构的以下方面谈谈两者的区别。 [ 01 [架构师](需要考…

大数据架构发展的20年

随着近几年数据湖概念的兴起,业界对于数据仓库和数据湖的对比甚至争论就一直不断。有人说数据湖是下一代大数据平台,各大云厂商也在纷纷的提出自己的数据湖解决方案,一些云数仓产品也增加了和数据湖联动的特性。 但是数据仓库和数据湖的区别…

大数据架构设计模式主要考虑八方面问题

在架构设计中,没有万能的软件架构能解决所有问题,不同的场景、需求、限制下需要有针对性的架构模式才能满足项目需求。大数据架构设计模式中,需要从分层、分割、分布式、集群、缓存、异步、灾备、自动化几个方面考虑。 1.分层 大数据平台从…

深度解密 5 类大数据架构及实现

前几天读到白发川的一篇文章《对比解读五种主流大数据架构的数据分析能力》,文中详细总结了各类数据架构的应用以及原理。作为一名在数据仓库耕耘多年的技术人员,对于其中的一些技术细节还是破解兴趣的,所以随着作者的思路写下了我对主流数据…

典型大数据架构有哪些?我该怎么选择?

讨论大数据架构,不可避免要讨论传统的结构化存储和数据仓库。 PS:最原始的结绳记事、仓颉造字不在咱们讨论范围内哈,咱们主要讨论计算机出现以后的数据存储。 我们对数据存储方式的认知顺序一般是: 注意:这个演变过程&…

大数据架构与技术——(一)大数据概述

文章目录 1.1 大数据时代1.1.1第三次信息化浪潮1.1.2信息科技为大数据时代提供技术支撑1.1.3数据产生方式的变革促成大数据时代的来临1.1.4 大数据的发展历程 1.2 大数据概念1.2.1 数据量大1.2.2 数据类型繁多1.2.3 处理速度快 1.3 大数据的影响1.4 大数据的应用1.5 大数据关键…

什么是大数据架构

什么是大数据架构 大数据架构是用于摄取和处理大量数据(通常称为“大数据”)的总体系统,因此可以针对业务目的进行分析。该架构可视为基于组织业务需求的大数据解决方案的蓝图。大数据架构旨在处理以下类型的工作:   批量处理大数据源。 实时处理大…

Pipeline大数据架构

1.Pipeline大数据架构 (create by 王小雷) Pipeline大数据架构,面向大数据仓库和大数据处理平台。是基于lambda的大数据架构的变种,增加了企业级服务,而并非只是大数据组件的对切,是一种更落地的方案。 如…

大数据架构之--Kappa架构

一、什么是Kappa架构 Kappa 架构是由 LinkedIn 的前首席工程师杰伊克雷普斯(Jay Kreps)提出的一种架构思想。克雷普斯是几个著名开源项目(包括 Apache Kafka 和 Apache Samza 这样的流处理系统)的作者之一。 Kreps 提出了一个改…

大数据架构及技术体系

下面是大数据体系架构图 大数据分2个部分,一部分是走实时的,另外一部分是走离线的,不管那块都需要数据来分析 从上图来看,数据分为结构化数据(MYSQL,ORACLE等),半结构数据(文件日志…

大数据架构演进

1、数仓架构演变(场景驱动) 1.1 经典数仓架构 数据仓库概念是Inmon于1990年提出并给出了完整的建设方法 1.2 离线大数据架构 随着互联网时代来临,数据量暴增,开始使用大数据工具来代替经典数仓中的传统工具 此时仅仅是工具的…

大数据架构(一)背景和概念

-系列目录- 大数据架构(一)背景和概念 大数据架构(二)大数据发展史 一、背景 1.岗位现状 大数据在一线互联网已经爆发了好多年,2015年-2020年(国内互联网爆发期)那时候的大数据开发,刚毕业能写Hive SQL配置个离线任务、整个帆软报表都20K起步。如果做到架…

大数据架构

大数据核心原理和场景分析 processon:https://www.processon.com/view/link/60b4d0071e08532bd00e9290

大数据架构图

大数据管理数据处理过程图 大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察力。大数据处理的主要流程包括数据收集、数据存储、数据处理、数据应用等主要环节。随着业务的增长,大量和流程、…

大数据架构:全网最全大数据架构生态

文章目录 简介1、数据采集技术框架2、数据存储技术框架3、分布式资源管理框架4、数据计算框架(1)离线数据计算 5、数据分析技术框架6、任务调度技术框架7、大数据底层基础技术框架8、数据检索技术框架9、大数据集群安装管理框架 简介 随着大数据行业的发…