当前位置: 首页 > news >正文

frp-内网穿透部署-ubuntu22服务器-windows server-详细教程

文章目录

    • 1.下载frp
    • 2.配置服务器
      • 2.1.配置frps.ini文件
      • 2.2.设置服务文件
      • 2.3.设置开机自启和服务操作
      • 2.4.后台验证
      • 2.5.服务器重启
    • 3.配置本地window
      • 3.1.frpc配置
      • 3.2.添加开机计划启动
      • 3.3.控制台启动隐藏窗口
    • 4.centos防火墙和端口
      • 3.1.开放端口
      • 3.2.查看端口
    • 5.关闭进程
      • 5.1.杀死进程
      • 5.2.强制杀死进程
    • 6.查看服务
    • 7.总结

FRP是一个开源、简洁易用,高性能的内网穿透和反向代理软件,支持tcp、upp、http、https等协议。

1.下载frp

可以去官网下载最新的frp编译好的文件,本文采用frp_0.32.1_windows_amd64版本。也可以在csdn下载。

2.配置服务器

连接ubuntu22服务器,并创建新目录:

/usr/local/frp

将frp_0.32.1_windows_amd64.tar.gz上传至/usr/local/frp目录。

将文件解压。

tar -xvf frp_0.32.1_windows_amd64.tar.gz
mv frp_0.32.1_windows_amd64/* /usr/local/frp/

删除frpc.ini和frpc文件。

cd /usr/local/frp/
rm frpc.ini
rm frpc

2.1.配置frps.ini文件

[common]
bind_addr = 0.0.0.0
# frp监听的端口,默认是7000
bind_port = 7000
# 代理端口一定要设置,否则无法使用http
vhost_http_port = 7001
# 授权码
token = B42D0624-7D18# frp管理后台端口
dashboard_port = 6500
# frp管理后台用户名和密码
dashboard_user = admin
dashboard_pwd = admin@7D18
enable_prometheus = true# frp日志配置
log_file = log.log
log_level = info
log_max_days = 3# 域名访问配置
privilege_mode = true

配置和启动frp。

mkdir -p /etc/frp
cp frps.ini /etc/frp
cp frps /usr/bin

2.2.设置服务文件

vim /usr/lib/systemd/system/frps.service

内容如下:

[Unit]
Description=frp Service
After=rc-local.service nss-user-lookup.target[Service]
Type=forking
Restart=on-failure
RestartSec=5s
ExecStart=/usr/bin/frps -c /etc/frp/frps.ini[Install]
WantedBy=multi-user.target

2.3.设置开机自启和服务操作

开机启动

sudo systemctl daemon-reload
sudo systemctl enable frps

服务编辑

sudo systemctl start frps
sudo systemctl stop frps
sudo systemctl status frpsnetstat -tunlp #查看端口

2.4.后台验证

在浏览器输入服务器后台网址

http://152.136.196.35:6500

如下图所示,则表示服务器配置成功。
在这里插入图片描述
在这里插入图片描述

2.5.服务器重启

shutdown -r now

3.配置本地window

3.1.frpc配置

frpc.ini文件配置如下

[common]
server_addr = 152.136.196.35
server_port = 7000
#与服务器端的令牌一致
token = B42D0624-7D18# 配置tcp服务,用于ip访问
[web1]
type = tcp
local_ip = 127.0.0.1
#本地端口
local_port = 188
#服务器端口
remote_port = 188[web2]
type = tcp
local_ip = 127.0.0.1
#本地端口
local_port = 80
#服务器端口
remote_port = 80

按照命令启动客户端软件:

frpc -c frpc.ini

提示如下表示成功,如下图所示:
在这里插入图片描述

3.2.添加开机计划启动

a.启动文件夹
将系统下可以直接双击就可以启动的可执行文件或者创建快捷方式放在此文件夹中
文件夹寻找方式:
①win+r 打开运行窗口,输入shell:startup,打开了用户启动文件夹。
②C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup,打开系统启动文件夹。

b.任务计划
首先,我的电脑,右键管理,选择任务计划程序。
在这里插入图片描述
在这里插入图片描述
然后,新建计划,输入计划名称,触发器选择当用户登录时。不要选系统启动。操作选择目标程序,可以是exe文件,也可以bat脚本文件。最后点击完成。重启一下系统测试是否正常工作。
在这里插入图片描述
在这里插入图片描述

3.3.控制台启动隐藏窗口

第一种方法,在bat文件前添加代码:

@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
REM

第二种方法,采用vbs脚本启动:

Set ws = CreateObject("Wscript.Shell") 
ws.run "cmd /c C:\frpc\start-frpc.bat",vbhide 

注意:第一种不能和第二种不能同时使用。

4.centos防火墙和端口

开启防火墙。

systemctl start firewalldsystemctl start firewalld.service
systemctl stop firewalld.service
systemctl status firewalld.service

3.1.开放端口

firewall-cmd --zone=public --add-port=80/tcp --permanent

3.2.查看端口

netstat -tunlp | grep 6500

5.关闭进程

查看指定进程名称pid

ps -ef | grep frps

5.1.杀死进程

kill pid
kill 12345

5.2.强制杀死进程

kill -KILL pid
kill -KILL 123456

6.查看服务

使用systemctl命令查看所有已启动的服务:

systemctl list-units --type=service --state=running

使用service命令查看正在运行的服务:

service --status-all

使用ps命令结合grep过滤器来查看正在运行的服务进程:

ps aux | grep [s]ervice
ps aux | grep frps

7.总结

这套系统完整的运行,坑还是挺多的,需要不断的总结。

相关文章:

frp-内网穿透部署-ubuntu22服务器-windows server-详细教程

文章目录 1.下载frp2.配置服务器2.1.配置frps.ini文件2.2.设置服务文件2.3.设置开机自启和服务操作2.4.后台验证2.5.服务器重启 3.配置本地window3.1.frpc配置3.2.添加开机计划启动3.3.控制台启动隐藏窗口 4.centos防火墙和端口3.1.开放端口3.2.查看端口 5.关闭进程5.1.杀死进程…...

MySQL内存使用的监控开关和使用查看

参考文档: https://brands.cnblogs.com/tencentcloud/p/11151 https://www.cnblogs.com/grasp/p/10306697.html MySQL如何使用内存 在MySQL中,内存占用主要包括以下几部分,全局共享的内存、线程独占的内存、内存分配器占用的内存&#xff0…...

数据库管理-第113期 Oracle Exadata 04-硬件选择(20231020)

数据库管理-第113期 Oracle Exadata 04-硬件选择(2023010290) 本周没写文章,主要是因为到上海参加了Oracle CAB/PAB会议,这个放在后面再讲,本期讲一讲Exadata,尤其是存储节点的硬件选择及其对应的一些通用…...

带着问题去分析:Spring Bean 生命周期 | 京东物流技术团队

1: Bean在Spring容器中是如何存储和定义的 Bean在Spring中的定义是_org.springframework.beans.factory.config.BeanDefinition_接口,BeanDefinition里面存储的就是我们编写的Java类在Spring中的元数据,包括了以下主要的元数据信息: 1&…...

C语言修行之函数篇(一)tolower —— 转换为小写字母

文章目录 函数说明函数声明函数返回值函数实现函数实例 函数说明 对于大写字母&#xff0c;如果在当前语言环境中存在小写表示形式&#xff0c;则tolower()返回其小写等效物。否则&#xff0c;tolower()函数执行相同的任务。 函数声明 #include <ctype.h> int tolower(…...

【JavaSE专栏55】Java集合类HashTable解析

&#x1f332;Java集合类HashTable解析 &#x1f332;Java集合类HashTable解析摘要引言Hashtable是什么&#xff1f;Hashtable vs. HashMap&#xff1a;何时使用Hashtable&#xff1f;多线程环境&#xff1a;历史遗留系统&#xff1a;不需要进行特殊操作&#xff1a; Hashtable…...

Apollo上机实践:一次对自动驾驶技术的亲身体验

上机实践 概述自动驾驶通信分布式系统开发模式开发工具 自动驾驶感知传感器特性感知流程及算法部署感知模型 自动驾驶决策规划决策规划流程和算法使用 Dreamview 进行控制在环的规划调试开发规划场景和算法 福利活动 主页传送门&#xff1a;&#x1f4c0; 传送 概述 Apollo 是…...

QTcpServer简单的TCP服务器连接

1、简介 简单实现控制TCP服务器获取连接的套接字。点击断开服务器即可关闭所有连接&#xff0c;最大连接数量为5个。 声明源文件 #include "mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent) {//设置固定大小setFixedSize(1024,600);b…...

LeetCode热题100——双指针

双指针 1.移动零2.盛最多水的容器3.三数之和 1.移动零 给定一个数组 nums&#xff0c;编写一个函数将所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的相对顺序。 // 题解&#xff1a;使用双指针&#xff0c;其中快指针指向非零元素&#xff0c;慢指针指向首个零元素下…...

Ubuntu ARMv8编译Qt源码以及QtCreator

最近需要在NVIDIA小盒子上面跑一个程序&#xff0c;一开始想着在Ubuntu x64下交叉编译一版&#xff0c;后来发现libqxcb.so 这个库在configure时就会一直报错&#xff0c;多方查找怀疑可能是由于硬件不支持在x64环境下编译AMR架构的xcb库。 所以最后在ARM下直接编译Qt源码了&am…...

虚机Centos忘记密码如何重置

1进入开机前的页面&#xff0c;选中第一个&#xff0c;按“e”键&#xff0c;进入编辑模式 2找到ro crashkernel项&#xff0c;将ro替换成 rw initsysroot/bin/sh 3 Ctrlx mount -o remount, rw / chroot /sysroot chroot /sysroot passwd root 输入两次密码 touch /.a…...

OpenGL_Learn02

1. 监听窗口&#xff0c;绑定回调函数 #include <glad/glad.h> #include <GLFW/glfw3.h> #include <iostream>void framebuffer_size_callback(GLFWwindow* window, int width, int height) {glViewport(0, 0, width, height);std::cout << "变了…...

基于STC系列单片机实现外部中断0控制按键调节定时器0产生PWM(脉宽调制)的功能

#define uchar unsigned char//自定义无符号字符型为uchar #define uint unsigned int//自定义无符号整数型为uint sbit PwmOut P1^0;//位定义脉宽调制输出为单片机P1.0脚 uchar PwmTimeCount;//声明脉宽调制时间计数变量 uchar PwmDutyCycle;//声明脉宽调制占空比变量 void Ti…...

vue3中 reactive和ref的区别

在Vue 3中&#xff0c;reactive和ref都是用于响应式数据的API。它们的主要区别在于使用方式和返回值类型。 reactive&#xff1a; reactive函数用于将一个对象转换为响应式对象。它接收一个普通的JavaScript对象&#xff0c;并返回一个被代理的响应式对象。这意味着当响应式对…...

docker的安装部署nginx和mysql

小白自己整理&#xff0c;如有错误请指示&#xff01; 自我理解&#xff1a;docker就是把应用程序所用的依赖程序&#xff0c;函数库等相关文件打包成镜像文件&#xff0c;类似系统光盘&#xff0c;然后可以在任意电脑上安装使用&#xff08;方便运维人员部署程序&#xff09;…...

测试C#调用Aplayer播放视频(1:加载Aplayer控件)

微信公众号“Dotnet跨平台”的文章《开源精品&#xff0c;使用 C# 开发的 KTV 点歌项目》中使用了迅雷开源APlayer播放引擎。最近在学习有哪些能拿来播放视频的组件或控件&#xff0c;于是准备试试&#xff0c;根据文章中的介绍&#xff0c;在迅雷APlayer播放引擎网站中下载了A…...

二叉树的遍历+二叉树的基本操作

文章目录 二叉树的操作一、 二叉树的存储1.二叉树的存储结构 二、 二叉树的基本操作1.前置创建一棵二叉树&#xff1a;1. 定义结点 2.简单的创建二叉树 2.二叉数的遍历1.前序遍历2.中序遍历3.后序遍历4.层序遍历 3.二叉树的操作1.获取树中节点的个数2.获取叶子节点的个数3.获取…...

Go 语言gin框架的web

节省时间与精力&#xff0c;更高效地打造稳定可靠的Web项目&#xff1a;基于Go语言和Gin框架的完善Web项目骨架。无需从零开始&#xff0c;直接利用这个骨架&#xff0c;快速搭建一个功能齐全、性能优异的Web应用。充分发挥Go语言和Gin框架的优势&#xff0c;轻松处理高并发、大…...

Docker底层原理:Cgroup V2的使用

文章目录 检查 cgroup2 文件系统是否已加载检查系统是否已挂载 cgroup2 文件系统创建 cgroup2 层次结构查看 cgroup2 开启的资源控制类型启用 cgroup2 资源控制设置 cgroup2 资源限制加入进程到 cgroup2 检查 cgroup2 文件系统是否已加载 cat /proc/filesystems | grep cgroup…...

历年上午真题笔记(2014年)

解析:A 网络设计的三层模型 : 接入层:Layer 2 Switching,最终用户被许可接入网络的点,用户通过接入层可以访问网络设备。 汇聚层:Layer2/3 Switching,访问层设备的汇聚点,负责汇接配线单元,利用二、三层技术实现工作组分段及网络故障的隔离,以免对核心层网络设备造…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会&#xff0c;其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具&#xff0c;对过去十年 WWDC 主题演讲内容进行了系统化分析&#xff0c;形成了这份…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络&#xff0c;将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具&#xff0c;支持 Chrome、Firefox、Safari 等主流浏览器&#xff0c;提供多语言 API&#xff08;Python、JavaScript、Java、.NET&#xff09;。它的特点包括&a…...

数据链路层的主要功能是什么

数据链路层&#xff08;OSI模型第2层&#xff09;的核心功能是在相邻网络节点&#xff08;如交换机、主机&#xff09;间提供可靠的数据帧传输服务&#xff0c;主要职责包括&#xff1a; &#x1f511; 核心功能详解&#xff1a; 帧封装与解封装 封装&#xff1a; 将网络层下发…...

OpenLayers 分屏对比(地图联动)

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能&#xff0c;和卷帘图层不一样的是&#xff0c;分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析&#xff08;97/126&#xff09;&#xff1a;邮件营销与用户参与度的关键指标优化指南 在数字化营销时代&#xff0c;邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天&#xff0c;我们将深入解析邮件打开率、网站可用性、页面参与时…...

JS设计模式(4):观察者模式

JS设计模式(4):观察者模式 一、引入 在开发中&#xff0c;我们经常会遇到这样的场景&#xff1a;一个对象的状态变化需要自动通知其他对象&#xff0c;比如&#xff1a; 电商平台中&#xff0c;商品库存变化时需要通知所有订阅该商品的用户&#xff1b;新闻网站中&#xff0…...

视觉slam十四讲实践部分记录——ch2、ch3

ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...

iview框架主题色的应用

1.下载 less要使用3.0.0以下的版本 npm install less2.7.3 npm install less-loader4.0.52./src/config/theme.js文件 module.exports {yellow: {theme-color: #FDCE04},blue: {theme-color: #547CE7} }在sass中使用theme配置的颜色主题&#xff0c;无需引入&#xff0c;直接可…...

LRU 缓存机制详解与实现(Java版) + 力扣解决

&#x1f4cc; LRU 缓存机制详解与实现&#xff08;Java版&#xff09; 一、&#x1f4d6; 问题背景 在日常开发中&#xff0c;我们经常会使用 缓存&#xff08;Cache&#xff09; 来提升性能。但由于内存有限&#xff0c;缓存不可能无限增长&#xff0c;于是需要策略决定&am…...

Linux中《基础IO》详细介绍

目录 理解"文件"狭义理解广义理解文件操作的归类认知系统角度文件类别 回顾C文件接口打开文件写文件读文件稍作修改&#xff0c;实现简单cat命令 输出信息到显示器&#xff0c;你有哪些方法stdin & stdout & stderr打开文件的方式 系统⽂件I/O⼀种传递标志位…...