frp内网穿透

frp内网穿透

一.frp的作用和原理图

 1.首先frp分客户端和服务端,frp客户端和服务端在同一个局域网。

 2.frp服务端拥有公网ip与互联网连通。

frp的作用:

     通过一台公司拥有外网ip的服务器做为frp服务端,通过请求转发的形式,转发到公司局域网内的服务器(frp客户端),达到实现通过互联网访问局域网。

二.frp安装及配置

1.下载地址

首先登陆github

打开github下载地址:https://github.com/fatedier/frp/releases

  通过uname命令查看系统版本来选择安装包

uname -a

aarch64:选择:frp_0.49.0_linux_arm64.tar.gz

 x86_64:    选择:frp_0.49.0_linux_amd64.tar.gz

2.安装

准备:

  1. 一台具有公网ip的服务器,安装frp服务端。命名为服务器02
  2. 一台本地服务器跑程序的服务器,安装frp客户端。命名为服务器01

我的公网服务器02

   内网ip为:10.xx.16.50

   内网端口5024映射的外网端口为1684 (用来访问web服务)

   内网端口6000映射的外网端口为1502 (用来ssh连接)

本地服务器01:

   内网ip为:10.xx.16.44

(1)一台具有公网IP的机器(云服务器等),服务器02,安装服务端frps

#解压缩
tar -vxzf frp_0.49.0_linux_arm64.tar.gz
cd frp_0.49.0_linux_arm64
vim frps.ini

并修改为以下内容

[common]
bind_port = 8000
vhost_http_port = 5024 # 访问5024端口,映射到内网web服务

(2)安装客户端frpc,服务器01

一台本地服务器安装客户端frpc(如,部署了web服务的服务器)

#解压缩
tar -vxzf frp_0.49.0_linux_arm64.tar.gz
cd frp_0.49.0_linux_arm64
vim frpc.ini

并修改为以下内容

[common]
server_addr = 10.xx.16.50  #frps服务端服务器ip
server_port = 8000   #和frp服务端bind_port保持一致

#ssh连接配置
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000  #用来ssh远程连接客户端的端口

#web服务配置
[web]
type = tcp
local_port = 8080       #web服务内网端口号
local_ip = 10.xx.16.44  #web服务内网ip
remote_port = 5024  #用来远程连接web服务的端口

(3)添加一下frps的自启动服务

  frp客户端:

cd /usr/lib/systemd/system
vi frpc.service

  修改为以下内容

[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/opt/frp_0.49.0_linux_arm64/frpc -c /opt/frp_0.49.0_linux_arm64/frpc.ini
ExecReload=/opt/frp_0.49.0_linux_arm64/frpc reload -c /opt/frp_0.49.0_linux_arm64/frpc.ini
LimitNOFILE=1048576

[Install]
WantedBy=multi-user.target

  /opt/frp_0.49.0_linux_arm64为自己的安装路径

  frp服务端:

cd /usr/lib/systemd/system
vi frps.service

 修改为以下内容

[Unit]
Description=frpc server daemon
Documentation=https://github.com/fatedier/frp
After=network-online.target

[Service]
ExecStart=/opt/frp_0.49.0_linux_arm64/frpc -c /opt/frp_0.49.0_linux_arm64/frpc.ini
ExecReload=/opt/frp_0.49.0_linux_arm64/frpc reload -c /opt/frp_0.49.0_linux_arm64/frps.ini
Type=simple
User=nobody
Group=nogroup
WorkingDirectory=/tmp
Restart=on-failure
RestartSec=5s

[Install]
WantedBy=multi-user.target

/opt/frp_0.49.0_linux_arm64为自己的安装路径

(4)启动服务

启动frp服务端:

sudo systemctl restart  frps

启动frp客户端:

sudo systemctl restart frpc

其它命令

# 启动客户端frpc
sudo systemctl start frpc
# 自启动客端端frpc
sudo systemctl enable frpc
# 重启客户端应用
sudo systemctl restart frpc
# 停止客户端应用
sudo systemctl stop frpc
# 停止自启动
sudo systemctl disable frps
# 查看客端端应用的日志
sudo systemctl status frpc



# 启动服务端端frps
sudo systemctl start frps

# 重启服务端应用
sudo systemctl restart frps

# 停止服务端应用
sudo systemctl stop frps

3.验证

用ssh验证:

用02服务器的公网ip和端口号登陆01服务器

 web服务验证:

用02服务器的公网ip和端口号登陆安装在01服务器上的web服务器

http://02服务器公网ip:1684

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Qt,day4

闹钟 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget) {ui->setupUi(this);this->setWindowTitle("闹钟");this->setWindowIcon(QIcon("D:\\HQYJRJ\\QT\\day1\\…

二十三种设计模式第十六篇--观察者模式

观察者模式是一种行为型设计模式,它建立了一种对象间的一对多依赖关系,使得当一个对象的状态发生变化时,所有依赖于它的对象都会得到通知并自动更新。这种模式可以实现对象间的松耦合通信,提高系统的可扩展性和灵活性。 观察者模…

TCP连接管理(三次握手,四次挥手)

目录 一、回顾一下TCP包头二、连接的建立——“三次握手”三、连接的建立——“四次挥手”保活计时器 一、回顾一下TCP包头 源端口号(Source Port):16 位字段,表示发送方的端口号。 目的端口号(Destination Port&…

FTP服务器

文章目录 FTP服务器FTP的数据传输原理FTP的功能简介不同等级的用户身份命令记录与日志文件记录限制用户活动的目录 FTP的工作流程与使用到的端口FTP主动式连接FTP被动式连接 vsftpd服务器基础设置为什么使用vsftpd所需要的软件以及软件结构vsftpd.conf 配置值说明与服务器环境比…

Leetcode---352周赛

周赛题目 2760. 最长奇偶子数组 2761. 和等于目标值的质数对 2762. 不间断子数组 2763. 所有子数组中不平衡数字之和 一、最长奇偶子数组 这题的数据范围允许用暴力来做,只要我们分别枚举左端点left和右端点right,然后看区间[left,right]是否符合题目条…

vue3 报错解决:找不到模块‘xxx.vue’或其相应的类型声明。(Vue 3 can not find module)

src下面建立一个xx.d.ts的文件 declare module *.vue {import { ComponentOptions } from vueconst componentOptions: ComponentOptionsexport default componentOptions }

数据结构错题集 第七章 查找

7.2 124 等比 1(1-2^h)/(1-2) 2^h - 1 查找失败的最小次数相等吗? 13.A D 推一下公式 (M1)/2 平均查找长度 17.有序 就可二分查找 记住向下取整就是往右 13题就是个例子 向上取整就是往左 7.3 A错 不会分裂 不是平衡树 12。 C 黑高…

Tomcat、Maven以及Servlet的基本使用

Tomcat什么是TomcatTomcat的目录结构启动Tomcat MavenMaven依赖管理流程配置镜像源 Servlet主要工作实现Servlet添加依赖实现打包分析 配置插件 Tomcat 什么是Tomcat Tomcat 是一个 HTTP 服务器。前面我们已经学习了 HTTP 协议, 知道了 HTTP 协议就是 HTTP 客户端和 HTTP 服务…

Android性能优化(bin启动优化)

我们平时会在android里面写个bin程序来干点活,但是有时候我们会发现很奇怪的现象,我明明很早就启动这个bin了,但是过了很久bin程序的main函数才被调用~。这个是为啥呢?主要有2个原因: 一.bin程序依赖的so库太多&#…

Python:使用prometheus-client提交数据到实现prometheus+ grafana数据监控

相关资料 prometheus文档:https://prometheus.io/grafana文档:https://grafana.com/grafana github: https://github.com/grafana/grafanaPyhton客户端https://pypi.org/project/prometheus-client/ 目录 1、使用Python提供数据源2、启动 prometheus3、…

zabbix 监控 windows 系统、java应用、SNMP

Zabbix 监控 Windows 系统 1、下载 Windows 客户端 Zabbix agent 2 2、安装客户端,配置 3.在服务端 Web 页面添加主机,关联模板 Zabbix 监控 java 应用 1、客户端开启 java jmxremote 远程监控功能 1.1配置 java jmxremote 远程监控功能 1.2启动…

左神算法之中级提升(2)

目录 [案例1】 【题目描述】 【思路解析1】 【思路解析2】 【代码实现】 【案例2】 【题目描述】 【思路解析】 【代码实现】 【案例3】 【题目描述】 【思路解析】 【代码实现】 【案例4】 【题目描述】今日头条2018面试题 第四题 【输入描述】 【思路解析】 【…

pytorch学习第一篇:conda配置jupyter notebooks pytorch

安装jupyter notebooks 创建一个pytorch的环境 conda create -n pytorch python3.10 conda activate pytorch安装jupyter notebook,运行命令 conda install jupyter notebook启动jupyter 运行命令 jupyter notebook或者 notebook查看pyhton版本 import sys p…

C++ 环境设置

不好意思,最近有点事,没更新。 C 环境设置 本地环境设置 如果您想要设置 C 语言环境,您需要确保电脑上有以下两款可用的软件,文本编辑器和 C 编译器。 文本编辑器 这将用于输入您的程序。文本编辑器包括 Windows Notepad、O…

QT - 20230710

练习&#xff1a;实现一个简易闹钟 widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QDateTime> #include <QDebug> #include <QTextToSpeech>namespace Ui { class Widget; }class Widget : public QWidget {Q_OBJECTpubl…

【数据挖掘】时间序列教程【十】

5.4 通用卡尔曼滤波 上一节中描述的状态空间模型作为观测方程的更一般的公式 和状态方程 这里是一个p1 向量

win系统电脑在线打开sketch文件的方法

自Sketch诞生以来&#xff0c;只有Mac版本。Windows计算机如何在线打开Sketch文件&#xff1f; 即时设计已经解决了你遇到的大部分问题&#xff0c;不占用内存也是免费的。 您可以使用此软件直接在线打开Sketch文件&#xff0c;完整预览并导出CSS、SVG、PNG等&#xff0c;还具…

pycharm的一些常用设置

pycharm的一些常用设置 1、最新安装pycharm ,怎么设置解释器如图&#xff1a; 2、可通过鼠标放大缩小配置&#xff1a; 进入setting>Editor>File and Code Templates&#xff0c;点击python script&#xff0c;进行设置&#xff1a; """Author : A Tim…

探索图像处理的利器——OpenCV

目录 引言&#xff1a; 一、OpenCV简介&#xff1a; 二、OpenCV的特点&#xff1a; 三、OpenCV的应用领域&#xff1a; 四、实际案例&#xff1a; 结论&#xff1a; 引言&#xff1a; 在当今信息化的时代&#xff0c;图像处理已经成为了日常生活中不可或缺的一部分。从社…

【开源与项目实战:开源实战】84 | 开源实战四(上):剖析Spring框架中蕴含的经典设计思想或原则

在 Java 世界里&#xff0c;Spring 框架已经几乎成为项目开发的必备框架。作为如此优秀和受欢迎的开源项目&#xff0c;它是我们源码阅读的首选材料之一&#xff0c;不管是设计思想&#xff0c;还是代码实现&#xff0c;都有很多值得我们学习的地方。接下来&#xff0c;我们就详…