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

Centos和Window系统下Frp内网穿透

frp 是一个高性能的内网穿透的反向代理软件,支持 TCP、UDP、HTTP、HTTPS 等常见协议(TCP最常用),可以将处于局域网或者家用电脑主机、办公电脑主机通过中转服务器的方式暴露在公网里,使用户可以通过访问公网的IP(域名)的方式获取内网里的信息,对于开发者来说,frp帮助我们调试接口(微信公众号或其他拥有IP白名单的接口),frp帮助我们取流内网的摄像头,访问内网数据库资源等

下载frp地址

https://github.com/fatedier/frphttps://github.com/fatedier/frp/releases

  1. 在centos下安装frp内网穿透代理

frp服务端和客户端都是使用的同一套,因此我们可以将之解压并改名

服务端:frp_server

客户端:frp_client

在这里我服务端和客户端都是使用的一台服务器安装的(可以分2台服务器主机,或者一台centos服务器主机和一台本地的linux(centos)电脑主机)

[root@myw ~]# cd /home
[root@myw home]# tar -zxvf frp_0.33.0_linux_amd64.tar.gz
frp_0.33.0_linux_amd64/
frp_0.33.0_linux_amd64/frps_full.ini
frp_0.33.0_linux_amd64/frps.ini
frp_0.33.0_linux_amd64/frpc
frp_0.33.0_linux_amd64/frpc_full.ini
frp_0.33.0_linux_amd64/frps
frp_0.33.0_linux_amd64/LICENSE
frp_0.33.0_linux_amd64/frpc.ini
frp_0.33.0_linux_amd64/systemd/
frp_0.33.0_linux_amd64/systemd/frpc@.service
frp_0.33.0_linux_amd64/systemd/frpc.service
frp_0.33.0_linux_amd64/systemd/frps.service
frp_0.33.0_linux_amd64/systemd/frps@.service
[root@myw home]# ls
frp_0.33.0_linux_amd64  frp_0.33.0_linux_amd64.tar.gz  tomcat7
[root@myw home]# mv frp_0.33.0_linux_amd64  frp_server
[root@myw home]# tar -zxvf frp_0.33.0_linux_amd64.tar.gz
frp_0.33.0_linux_amd64/
frp_0.33.0_linux_amd64/frps_full.ini
frp_0.33.0_linux_amd64/frps.ini
frp_0.33.0_linux_amd64/frpc
frp_0.33.0_linux_amd64/frpc_full.ini
frp_0.33.0_linux_amd64/frps
frp_0.33.0_linux_amd64/LICENSE
frp_0.33.0_linux_amd64/frpc.ini
frp_0.33.0_linux_amd64/systemd/
frp_0.33.0_linux_amd64/systemd/frpc@.service
frp_0.33.0_linux_amd64/systemd/frpc.service
frp_0.33.0_linux_amd64/systemd/frps.service
frp_0.33.0_linux_amd64/systemd/frps@.service
[root@myw home]# mv frp_0.33.0_linux_amd64  frp_client
[root@myw home]# ls
frp_0.33.0_linux_amd64.tar.gz  frp_client  frp_server  tomcat7
[root@myw home]# 

frps.ini 这个s指的是server 服务端

frpc.ini这个c指的是client 客户端

centos下启动服务端

进入/home/frp_server里面找到frps.ini文件,修改原有文件内容,我的配置如下

bind_port = 36542 #绑定的端口,需要与客户端中 server_port 参数保持一致

vhost_http_port = 36543 #虚拟主机运行在本机的端口

dashboard_port = 36544 #后台web服务页面的端口

dashboard_user = mywadmin #后台服务页面的管理员用户名

dashboard_pwd = mywadmin #后台服务页面的管理员密码

privilege_token = myyhtw147258 #自定义token 必须与客户端中的 privilege_token 保持一致

[common]
bind_port = 36542
vhost_http_port = 36543
dashboard_port = 36544
dashboard_user = mywadmin
dashboard_pwd = mywadmin
privilege_token = myyhtw147258

配置文件里不能有注释,不然可能无法启动(很奇怪遇到的)

启动的指令

./frps -c ./frps.ini
[root@myw home]# cd /home/frp_server
[root@myw frp_server]# ls
frpc  frpc_full.ini  frpc.ini  frps  frps_full.ini  frps.ini  LICENSE  systemd
[root@myw frp_server]# chmod u+x frps
[root@myw frp_server]# ./frps -c ./frps.ini
2023/02/05 12:12:29 [I] [service.go:178] frps tcp listen on 0.0.0.0:36542
2023/02/05 12:12:29 [I] [service.go:220] http service listen on 0.0.0.0:36543
2023/02/05 12:12:29 [I] [service.go:277] Dashboard listen on 0.0.0.0:36544
2023/02/05 12:12:29 [I] [root.go:209] start frps success

这样的启动关闭窗口可能就关闭了,如此需要写一个脚本frp_server.sh 放在frp_server目录下

#!/bin/sh
nohup ./frps -c ./frps.ini &
[root@myw frp_server]# ls
frpc  frpc_full.ini  frpc.ini  frps  frp_server.sh  frps_full.ini  frps.ini  LICENSE  systemd
[root@myw frp_server]# chmod u+x frp_server.sh
[root@myw frp_server]# ./frp_server.sh
[root@myw frp_server]# nohup: appending output to ?.ohup.out?
^C
[root@myw frp_server]# netstat -lnp|grep frp
tcp6       0      0 :::36542                :::*                    LISTEN      1820/./frps         
tcp6       0      0 :::36543                :::*                    LISTEN      1820/./frps         
tcp6       0      0 :::36544                :::*                    LISTEN      1820/./frps         
[root@myw frp_server]# ps aux | grep frp
root      1820  0.0  0.5 716052 22120 pts/0    Sl   12:18   0:00 ./frps -c ./frps.ini
root      1914  0.0  0.0 112808   964 pts/0    S+   12:31   0:00 grep --color=auto frp

在frp_server/systemd里有service,找到frps.service打开并修改当前的路径配置

将配置好的frps.service文件放入/etc/systemd/system/里面后刷新加载

[Unit]
Description=Frp Server Service
After=network.target[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/home/frp_server/frps -c /home/frp_server/frps.ini[Install]
WantedBy=multi-user.target
[root@myw frp_server]# systemctl daemon-reload
[root@myw frp_server]# systemctl start frps.service
[root@myw frp_server]# netstat -lnp|grep frp
tcp6       0      0 :::36542                :::*                    LISTEN      2025/frps           
tcp6       0      0 :::36543                :::*                    LISTEN      2025/frps           
tcp6       0      0 :::36544                :::*                    LISTEN      2025/frps           
[root@myw frp_server]# systemctl restart frps.service
[root@myw frp_server]# netstat -lnp|grep frp
tcp6       0      0 :::36542                :::*                    LISTEN      2045/frps           
tcp6       0      0 :::36543                :::*                    LISTEN      2045/frps           
tcp6       0      0 :::36544                :::*                    LISTEN      2045/frps           
[root@myw frp_server]# systemctl stop frps.service
[root@myw frp_server]# netstat -lnp|grep frp
[root@myw frp_server]# 
[root@myw frp_server]# systemctl enable frps.service
Created symlink from /etc/systemd/system/multi-user.target.wants/frps.service to /usr/lib/systemd/system/frps.service.
[root@myw frp_server]# 

刷新:systemctl daemon-reload

启动:systemctl start frps.service

重启:systemctl restart frps.service

停止:systemctl stop frps.service

开机启动:systemctl enable frps.service

取消开机启动:systemctl disable frps.service

centos下启动客户端

进入/home/frp_client里面找到frpc.ini文件,修改原有文件内容,我的配置如下

server_addr = 127.0.0.1 服务端的IP地址

server_port = 36542 # 客户端的连接服务端的端口

privilege_token = myyhtw147258 # 服务端token 保持一致

type = tcp # 使用协议类型tcp

local_ip = 127.0.0.1 # 客户端的本地ip

local_port = 8081 # 客户端的本地端口

remote_port = 8082 # 内网穿透代理端 也就是用户访问frp服务端的端口

[common]
server_addr = 127.0.0.1
server_port = 36542
privilege_token = myyhtw147258[tomcat7]
type = tcp
local_ip = 127.0.0.1
local_port = 8081
remote_port = 8082

我这里8081端口是tomcat服务器,按理来说后续只需要访问8082端口就能访问到tomcat7

启动的指令

./frpc -c ./frpc.ini

如果权限不够

chmod u+x frpc

写一个脚本frp_client.sh 放在frp_client目录下

#!/bin/sh
nohup ./frpc -c ./frpc.ini &
[root@myw /]# cd /home/frp_client
[root@myw frp_client]# ls
frpc  frpc_full.ini  frpc.ini  frp_client.sh  frps  frps_full.ini  frps.ini  LICENSE  systemd
[root@myw frp_client]# chmod u+x frp_client.sh
[root@myw frp_client]# ./frp_client.sh
[root@myw frp_client]# nohup: appending output to ?.ohup.out?
^C
[root@myw frp_client]# ps aux | grep frp
nobody    2180  0.0  0.5 716052 22452 ?        Ssl  12:58   0:00 /home/frp_server/frps -c /home/frp_server/frps.ini
root      2251  0.0  0.2 712224  9644 pts/1    Sl   13:06   0:00 ./frpc -c ./frpc.ini
root      2257  0.0  0.0 112808   964 pts/1    S+   13:06   0:00 grep --color=auto frp
[root@myw frp_client]# 

在frp_client/systemd里有service,找到frpc.service打开并修改当前的路径配置

将配置好的frpc.service文件放入/etc/systemd/system/里面后刷新加载

 [Unit]
Description=Frp Client Service
After=network.target[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/home/frp_client/frpc -c /home/frp_client/frpc.ini
ExecReload=/home/frp_client/frpc reload -c /home/frp_client/frpc.ini[Install]
WantedBy=multi-user.target
[root@myw ~]# cd /home/frp_client
[root@myw frp_client]# systemctl daemon-reload
[root@myw frp_client]# systemctl start frpc.service
[root@myw frp_client]# systemctl enable frpc.service
Created symlink from /etc/systemd/system/multi-user.target.wants/frpc.service to /usr/lib/systemd/system/frpc.service.
[root@myw frp_client]# ps aux | grep frp
nobody     743  0.0  0.5 716052 22380 ?        Ssl  13:14   0:00 /home/frp_server/frps -c /home/frp_server/frps.ini
nobody    1604  0.0  0.2 713376  9896 ?        Ssl  13:16   0:00 /home/frp_client/frpc -c /home/frp_client/frpc.ini
root      1640  0.0  0.0 112812   964 pts/0    S+   13:17   0:00 grep --color=auto frp
[root@myw frp_client]# 

可以看到服务端和客户端都已启动的

刷新:systemctl daemon-reload

启动:systemctl start frpc.service

重启:systemctl restart frpc.service

停止:systemctl stop frpc.service

开机启动:systemctl enable frpc.service

取消开机启动:systemctl disable frpc.service

2.在windows下安装frp内网穿透代理

同样的在windows下使用frp部署frp_server和frp_client 配置文件信息除了IP根据具体外,其他的完全一致

启动2个服务(win系统的杀毒软件很烦人的,会把他认为是木马病毒)

mywadmin mywadmin

可以看到客户端内网穿透已经部署成功

访问(客户端主机)

http://127.0.0.1:8081

访问(服务端主机)

http://127.0.0.1:8082

在此处,都是一样的(因为在同一台电脑上部署的)

相关文章:

Centos和Window系统下Frp内网穿透

frp 是一个高性能的内网穿透的反向代理软件,支持 TCP、UDP、HTTP、HTTPS 等常见协议(TCP最常用),可以将处于局域网或者家用电脑主机、办公电脑主机通过中转服务器的方式暴露在公网里,使用户可以通过访问公网的IP(域名)…...

春招冲刺(四):flex布局面试题总结

flex布局面试题总结 Q1:什么是弹性盒布局? 特点:让元素对不同屏幕尺寸和不同显示设备做好适应。在响应式网站表现较好。 一、容器属性 Q2:display:flex和display:inline-flex的作用 使容器变成弹性布局,为其子元素…...

我的 System Verilog 学习记录(7)

引言 本文简单介绍 SystemVerilog 语言的 testbench 组件间通信和数据交互。 前文链接: 我的 System Verilog 学习记录(1) 我的 System Verilog 学习记录(2) 我的 System Verilog 学习记录(3&#xff…...

canvas复习笔记(绘制直线、矩形、圆形、圆弧)

canvas 画一条直线 <body><canvasid"c"width"300"height"200"style"border: 1px solid #ccc;"></canvas> </body><script>// 2、获取 canvas 对象const cnv document.getElementById("c");…...

LeetCode 653. 两数之和 IV - 输入二叉搜索树

653. 两数之和 IV - 输入二叉搜索树 难度&#xff1a;easy\color{Green}{easy}easy 题目描述 给定一个二叉搜索树 rootrootroot 和一个目标结果 kkk&#xff0c;如果二叉搜索树中存在两个元素且它们的和等于给定的目标结果&#xff0c;则返回 truetruetrue。 示例 1&#xf…...

【Datawhale图机器学习】图神经网络

图神经网络 GNN是一种连接模型&#xff0c;通过网络中节点之间的信息传递的方式来获取图中的依存关系&#xff0c;GNN通过从节点任意深度的邻居来更新该节点状态&#xff0c;这个状态能够表示状态信息。第一次在论文 The graph neural network model 中提出 与传统NN的区别&a…...

【项目精选】 javaEE采购管理系统(论文+视频+源码)

点击下载源码 本系统是一个独立的系统&#xff0c;用来解决企业采购信息的管理问题。采用JSP技术构建了一个 有效而且实用的企业采购信息管理平台&#xff0c;目的是为高效地完成对企业采购信息的管理。经过 对课题的深入分析&#xff0c;采购系统需实现以下功能模块&#xff1…...

【Servlet篇2】创建一个web项目

在上一篇文章当中&#xff0c;已经提到了什么是Maven&#xff0c;以及如何使用maven从中央仓库下载jar包。【Tomcat与Servlet篇1】认识Tomcat与Maven_革凡成圣211的博客-CSDN博客Tomcat&#xff0c;mavenhttps://blog.csdn.net/weixin_56738054/article/details/129228140?spm…...

Allegro如何手动让静态铜皮避让过孔操作指导

Allegro如何手动让静态铜皮避让过孔操作指导 在用Allegro做PCB设计的时候,如果铺的是静态铜皮,铜皮铺在过孔上会造成短路,需要手动避让下,如下图 下面介绍如何手动避让,具体操作如下 点击Shape点击Manual Void/Cavity...

Java使用SpringBoot的Filter来扩展管道请求

Java Spring Boot 是一个流行的 Java Web 开发框架&#xff0c;它提供了一些基本的 Web 管道功能。在 Spring Boot 中&#xff0c;Web 管道是通过一组过滤器、拦截器、控制器和视图解析器等组件组成的。 如果你需要扩展 Spring Boot Web 管道&#xff0c;可以考虑以下几种方式…...

「JVM 高效并发」锁优化

为了线程间更高效的共享数据及解决竞争问题&#xff0c;提高程序执行效率&#xff0c;JDK 6 做了大量锁优化&#xff0c;如适应性自旋&#xff08;Adaptive Spinning&#xff09;、锁消除&#xff08;Lock Elimination&#xff09;、锁膨胀&#xff08;Lock Coarsening&#xf…...

当园区物流遇上云计算,会发生什么事情?

顺丰供应链与亚马逊云科技的强强联手&#xff0c;可以给物流供应链企业带来怎样的启示&#xff1f;物流行业的数智化趋势在国内物流行业说起顺丰&#xff0c;相信是无人不知无人不晓。作为数字化供应链服务解决方案提供商&#xff0c;顺丰供应链可以提供端到端供应链的规划、管…...

作为测试开发岗的面试官,我都是怎么选人的?

最近一段时间面试了不少人&#xff0c;主要是一些测试开发岗&#xff0c;中高级的初级的也都有&#xff1b;也有一些偏业务测试岗的候选人。总结出了一些方法论&#xff0c;或者说更多的是个人作为面试官所遵守的一套面试准则。 1.什么是面试&#xff1f; 面试不仅仅是你问我…...

android事件分发机制源码分析

没什么用的前言责任链设计模式流程图源码分析 没什么用的前言 事件分发机制是面试中一道必问的题目&#xff0c;而我的应对方式则是&#xff0c;在网络上找一些博客看看&#xff0c;然后做一些笔记&#xff0c;最后在面试时将我自己记住的内容说出来。这种方式本身没有太大的…...

今天,小灰37岁了!

人们常常说&#xff0c;35岁是互联网人的中年危机。现在&#xff0c;小灰已经跨过了中年危机&#xff0c;倒不是因为小灰财务自由了&#xff0c;而是因为今天是小灰37岁的生日。年轻时候&#xff0c;小灰总觉得30岁是一个很遥远的年龄&#xff0c;而现在&#xff0c;小灰距离40…...

基于.NET 7 + iView 的前后端分离的通用后台管理系统开源框架

更多开源项目请查看&#xff1a;一个专注推荐.Net开源项目的榜单 今天给大家推荐一套前后端分离通用后台管理系统开源框架。 项目简介 这是基于.Net 7 Vue.js开发的、前后端分离框架&#xff0c;前端UI框架采用iView&#xff0c;该项目只有基础功能模块&#xff0c;不包含具…...

新一代通信协议—— RSocket

一、简介 RSocket 是一种二进制字节流传输协议&#xff0c;位于 OSI 模型中的5~6层&#xff0c;底层可以依赖 TCP、WebSocket、Aeron 协议。最初由 Netflix 开发&#xff0c;支持 Reactive Streams。其开发背后的动机是用开销更少的协议取代超文本传输协议(HTTP)&#xff0c;H…...

【编程实践】这个代码命名规范是真优雅呀!代码如诗!!(多读优秀的开源代码,多实践,你也可以一样优秀!)

目录 管理类命名 传播类命名 回调类命名 监控类命名 内存管理类命名 过滤检测类命名 结构类命名 常见设计模式命名 解析类命名 网络类命名 CRUD命名 其他 End 管理类命名 写代码&#xff0c;少不了对统一资源的管理&#xff0c;清晰的启动过程可以有效的组织代码…...

Linux->进程终止和等待

目录 1. 进程终止场景 1.1 进程退出码 1.2 进程常见退出方式 2. 进程等待 2.1 进程等待的必要性 2.2 进程等待的方式 wait()方式 waitpid()方式 options参数 status参数 1. 进程终止场景 代码运行完毕&#xff0c;结果正确 代码运行完毕&#xff0c;结果不正确 代码异…...

超店有数分享:tiktok数据分析工具推荐,助你成功出海!

现阶段的跨境电商人都纷纷入局tiktok&#xff0c;这是风口也是发展趋势。Tiktok的下载量已经超过了35亿&#xff0c;每月都有10亿用户活跃&#xff0c;在154国家/地区使用。Tiktok用户每天在平均花1小时左右进行浏览&#xff0c;打开率也很高。如今&#xff0c;tiktok也越来越成…...

终极英雄联盟换肤工具:R3nzSkin国服特供版完整使用教程

终极英雄联盟换肤工具&#xff1a;R3nzSkin国服特供版完整使用教程 【免费下载链接】R3nzSkin-For-China-Server Skin changer for League of Legends (LOL) 项目地址: https://gitcode.com/gh_mirrors/r3/R3nzSkin-For-China-Server 想要在英雄联盟国服免费体验所有皮肤…...

如何在电脑上完美运行3DS游戏:Citra模拟器5步安装指南

如何在电脑上完美运行3DS游戏&#xff1a;Citra模拟器5步安装指南 【免费下载链接】citra A Nintendo 3DS Emulator 项目地址: https://gitcode.com/GitHub_Trending/ci/citra 想要在电脑上重温任天堂3DS的经典游戏吗&#xff1f;Citra模拟器作为目前最优秀的开源3DS模拟…...

靠谱的微晶电热板机构

在实验设备领域&#xff0c;微晶电热板是一款重要的工具&#xff0c;选择靠谱的机构至关重要。微晶电热板的重要性微晶电热板在环境监测、食品安全、农产品检测等分析实验室中应用广泛。它能够为样品前处理提供稳定的加热环境&#xff0c;保障实验结果的准确性。行业报告显示&a…...

米尔RK3576开发板评测:工业AI与边缘计算的性能甜点方案

1. 项目概述&#xff1a;当RK3576遇上米尔开发板&#xff0c;工业AI的新选择最近在嵌入式圈子里&#xff0c;瑞芯微的RK3576这颗SoC讨论热度挺高。作为一枚常年混迹在工控、边缘计算和AIoT项目里的老工程师&#xff0c;我对这类新平台的发布总是格外敏感。米尔电子作为国内老牌…...

5分钟快速搭建零配置静态服务器:http-server终极完整指南

5分钟快速搭建零配置静态服务器&#xff1a;http-server终极完整指南 【免费下载链接】http-server A simple, zero-configuration, command-line http server 项目地址: https://gitcode.com/gh_mirrors/ht/http-server 你是否曾在本地开发时&#xff0c;为了预览一个简…...

3分钟拯救你的B站视频:m4s-converter零转码转换完全指南

3分钟拯救你的B站视频&#xff1a;m4s-converter零转码转换完全指南 【免费下载链接】m4s-converter 一个跨平台小工具&#xff0c;将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 想象一下&#xff0c;你花了…...

LibreOffice Online 终极指南:如何在浏览器中实现免费办公协作

LibreOffice Online 终极指南&#xff1a;如何在浏览器中实现免费办公协作 【免费下载链接】online Read-only Mirror - no pull request (use https://gerrit.libreoffice.org instead) 项目地址: https://gitcode.com/gh_mirrors/onl/online 还在为昂贵的在线办公软件…...

使用Taotoken后Nodejs项目的大模型API延迟与用量观测体验

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 使用Taotoken后Nodejs项目的大模型API延迟与用量观测体验 1. 项目背景与接入动机 在Node.js项目中集成大模型能力时&#xff0c;开…...

【Java用法】jar包运行后显示 没有主清单属性

jar包运行后显示 没有主清单属性一、问题现象二、问题分析三、解决方案3.1 添加 spring-boot-maven-plugin 插件3.2 修改 spring-boot 父级依赖3.3 配置IDEA开发工具一、问题现象 jar包运行后显示 没有主清单属性&#xff01;如下图所示&#xff1a; 前些天发现了一个特别好用…...

syncpack 迁移指南:从 v13 到 v14 的完整步骤与注意事项

syncpack 迁移指南&#xff1a;从 v13 到 v14 的完整步骤与注意事项 【免费下载链接】syncpack Consistent dependency versions in large JavaScript Monorepos. 项目地址: https://gitcode.com/gh_mirrors/sy/syncpack syncpack 是一款专为大型 JavaScript Monorepo 设…...