frp 配置内网访问

frp介绍

frp 是一个开源、简洁易用、高性能的内网穿透软件,支持 tcp, udp, http, https 等协议。frp 项目官网是 https://github.com/fatedier/frp

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

frp工作原理
  • 服务端运行,监听一个主端口,等待客户端的连接;
  • 客户端连接到服务端的主端口,同时告诉服务端要监听的端口和转发类型;
  • 服务端fork新的进程监听客户端指定的端口;
  • 外网用户连接到客户端指定的端口,服务端通过和客户端的连接将数据转发到客户端;
  • 客户端进程再将数据转发到本地服务,从而实现内网对外暴露服务的能力。
配置教程

要配置 frp 进行内网穿透,首先你必须需要一台具有外网 IP(即可外网访问)的服务器。配置教程分为两个部分:服务器端(外网服务器)的配置和客户端(内网服务器)的配置。

服务端配置
解压 frp压缩包
tar -zxvf frp_0.33.0_linux_amd64.tar.gz
进入该解压目录:
cd frp_0.33.0_linux_amd64/
并打开配置文件:
vi frps.ini
将内容修改为以下
[common]
bind_addr = 0.0.0.0
# frp监听的端口,默认是7000,可以改成其他的
bind_port = 7000
# 授权码,请改成更复杂的
token = 123456  # 这个token之后在客户端会用到

# frp管理后台端口,请按自己需求更改
dashboard_port = 7500
# frp管理后台用户名和密码,请改成自己的
dashboard_user = admin
dashboard_pwd = admin
enable_prometheus = true

# 只允许FRPC绑定您列出的端口,如果您不设置,则不会有任何限制
allow_ports = 39002,39001

# frp日志配置
log_file = /var/log/frps.log
log_level = info
log_max_days = 3
设置和启动 frp 服务
sudo mkdir -p /etc/frp
sudo cp frps.ini /etc/frp
sudo cp frps /usr/bin
sudo cp systemd/frps.service /usr/lib/systemd/system/
sudo systemctl enable frps
sudo systemctl start frps

如果上述命令依次执行完毕没有出现任何错误,则说明frp服务已成功启动。

防火墙开放端口
# 添加监听端口
sudo firewall-cmd --permanent --add-port=7000/tcp
# 添加管理后台端口
sudo firewall-cmd --permanent --add-port=7500/tcp
sudo firewall-cmd --reload

注意:

  • 如果是 ubuntu 或者 centos 6,请使用 ufw/iptables 工具放行端口;
  • 7000和7500两个端口分别对应frps.ini配置中的bind_port和dashboard_port
验证服务端是否启动成功

访问: http://服务器IP:后台管理端口 ” ,输入用户名和密码可以查看连接状态

如: http://xx.xx.xx.xx:7500/ ,用户名和密码分别对应 frps.ini 文件中的 dashboard_user 和 dashboard_pwd

登录之后界面如下:

在这里插入图片描述
如果上述步骤没有问题,则说明 frp 的服务端配置成功了,也就意味着你已经成功完成了内网穿透的一半。

客户端配置

解压frp压缩包
tar -zxvf frp_0.33.0_linux_amd64.tar.gz
进入该解压目录:
cd frp_0.33.0_linux_amd64/
并打开配置文件:
vi frpc.ini  (注意哦,不是frps.ini)
将文件内容修改为如下:
# 客户端配置
[common]
server_addr = x.x.xx.xx
server_port = 7000

token=chen123456987231456asdaqweqwe

admin_addr = 127.0.0.1
admin_port = 7400
admin_user = admin
admin_pwd = 123456

# 控制台或真实的日志文件路径,例如./frpc.log
log_file = ./frpc.log

# trace, debug, info, warn, error
log_level = info

log_max_days = 3

# 当 log_file 为 console 时禁用日志颜色,默认为 false
disable_log_color = false

# 您的代理名称将更改为 {user}.{proxy}
user = wk

# 现在支持tcp和kcp和websocket,默认是tcp
protocol = tcp

# 如果tls_enable为true,frpc将通过tls连接frps
tls_enable = true

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 39002

[web]
type = tcp
local_ip = 127.0.0.1
local_port = 80
remote_port = 39001
use_encryption = true
use_compression = true

注意:[ssh]这样的名称必须全局唯一,即使有多个客户端,也只能使用一次。其他名称可以使用[ssh2]、[ssh3]等。如果你要配置多个客户端,必须将其他客户端的名称改为[ssh2]、[ssh3],并相应地修改remote_port,例如6002、6003等

防火墙开放端口

linux:

sudo firewall-cmd --permanent --add-port=39001/tcp
sudo firewall-cmd --permanent --add-port=39002/tcp
sudo firewall-cmd --reload

客户端启动

在 frp_0.33.0_darwin_amd 64 目录下执行

./frpc -c frpc.ini

到此为止,恭喜你,你基本上已经成功了。但还有最后一步,很多人常常会弄错。

测试穿透是否配置成功

找另外一台不同网段的linux或者mac电脑,在终端执行

ssh 用户名@服务端ip -p 端口号

这里一定要注意,这里用的是服务端的ip和用户名,端口号用的frpc.ini文件中的remote_port

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

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

相关文章

键盘敲入一个字母,操作系统发生了什么?

一、设备控制器 我们的电脑设备可以接非常多的输入输出设备,比如鼠标键盘网卡硬盘打印机等,每个设备的用法和功能都不相同,那操作系统是如何把这些输入输出设备统一管理的呢? 为了屏蔽设备之间的差异,每个设备都有一…

前端项目环境的搭建

一、下载并且安装Node(不安装node,就安装nvm。nvm安装教程): 1.官网下载Node:https://nodejs.org/en/ 2.测试nodejs安装是否成功: 在windows powerShell中输入node -v 和 npm -v,看到版本号就…

【23-24 秋学期】NNDL 作业9 RNN - SRN

简单循环网络(Simple Recurrent Network,SRN)只有一个隐藏层的神经网络. 目录 1. 实现SRN (1)使用Numpy (2)在1的基础上,增加激活函数tanh (3&#xff0…

rabbitMQ镜像队列的使用

在rabbitMQ集群中,默认发送消息时,队列默认时在一个节点上存在的。 我们以node01 node02 node03三节点集群为例,在node01声明队列发送消息后,发现: 测试队列只在节点node01上出现。 我们手动停止node01后&#xff0c…

#HarmonyOS:软件安装window和mac预览Hello World

Window软件地址 https://developer.harmonyos.com/cn/develop/deveco-studio#download 安装的建议 这个界面这样选,其他界面全部按照默认路径往下走!!! 等待安装… 安装环境错误处理 一般就是本地node配置异常导致&#xff…

Nginx基线检查

扩展知识: Nginx主配置文件:/etc/nginx/nginx.conf 这是Nginx的主要配置文件,用于配置全局的设置、HTTP块、事件处理、邮件等内容。 打开并编辑配置文件 vim /etc/nginx/nginx.conf 一、关于禁止显示服务器版本号和操作系统版本信息: 简介: 在错误页面和响应头中显示…

SAP_ABAP_编程基础_逻辑流控制_比较运算符 / 比较字符串和数字串 / 比较二进制位结构 / 编程分支和循环

SAP ABAP 顾问(开发工程师)能力模型_Terry谈企业数字化的博客-CSDN博客文章浏览阅读470次。目标:基于对SAP abap 顾问能力模型的梳理,给一年左右经验的abaper 快速成长为三年经验提供超级燃料!https://blog.csdn.net/j…

html/css中用float实现的盒子案例

运行效果&#xff1a; 代码部分&#xff1a; <!doctype html> <html> <head> <meta charset"utf-8"> <title>无标题文档</title> <style type"text/css">.father{width:300px; height:400px; background:gray;…

云轴科技ZStack助力龙芯打造IT产业新生态

11月28日&#xff0c;2023龙芯产品发布暨用户大会在国家会议中心启幕。大会以“到中流击水”为主题&#xff0c;现场发布新一代通用处理器龙芯3A6000、打印机主控芯片龙芯2P0500重磅成果&#xff0c;并对外公布龙芯处理器核IP及龙芯自主指令系统架构授权计划。作为龙芯的卓越行…

element-ui表格滚动效果,el-table滚动条样式重置

项目首页需要展示一个表格滚动区域&#xff0c;特此来记录一下 HTML <div class"table-box" mouseenter"mouseenter" mouseleave"mouseleave"><el-table :data"tableList" border height"400px" v-loading"…

spring日志输出到elasticsearch

1.maven <!--日志elasticsearch--><dependency><groupId>com.agido</groupId><artifactId>logback-elasticsearch-appender</artifactId><version>3.0.8</version></dependency><dependency><groupId>net.l…

单机zk安装与zk四字命令

一、下载 Apache ZooKeeper可以在 Linux 系统中使用 wget 命令直接下载&#xff0c;官网地址 Apache ZooKeeper 二、解压 tar -zxvf apache-zookeeper-3.8.3-bin.tar.gz 进去解压的目录中&#xff0c; 进入到 zk 解压目录的 conf 目录&#xff0c;复制 zoo_sample.cfg 文件&a…

leetCode 93.复原 IP 地址 + 回溯算法 + 图解 + 笔记

93. 复原 IP 地址 - 力扣&#xff08;LeetCode&#xff09; 有效 IP 地址 正好由四个整数&#xff08;每个整数位于 0 到 255 之间组成&#xff0c;且不能含有前导 0&#xff09;&#xff0c;整数之间用 . 分隔。 例如&#xff1a;"0.1.2.201" 和 "192.168.1.1…

基于AT89C51单片机的电子闹钟设计

1&#xff0e;设计任务 利用AT89C51单片机为核心控制元件,设计一个电子闹钟&#xff0c;设计的系统实用性强、操作简单&#xff0c;实现了智能化、数字化。 &#xff08;1&#xff09;按开始键自动进入时间显示&#xff0c;开始为0&#xff0c;按K1键进入更改时间&#xff0c…

代码随想录算法训练营 ---第五十一天

1.第一题&#xff1a; 简介&#xff1a; 本题相较于前几题状态复杂了起来&#xff0c;因为多了一个冷冻期。本题讲解可去代码随想录看&#xff0c;这里差不多只是加了些自己的理解。 动规五部曲&#xff0c;分析如下&#xff1a; 确定dp数组以及下标的含义 dp[i][j]&#x…

数据库应用:MongoDB 文档与索引管理

目录 一、理论 1.MongoDB文档管理 2.MongoDB索引管理 二、实验 1.MongoDB文档管理 2.MongoDB索引管理&#xff08;索引添加与删除&#xff09; 3.MongoDB索引管理&#xff08;全文索引&#xff09; 4.MongoDB索引管理&#xff08;多列索引&#xff09; 5.MongoDB索引管…

【办公软件】Outlook启动一直显示“正在启动”的解决方法

早上打开电脑Outlook2016以后&#xff0c;半个多小时了&#xff0c;一直显示这个界面&#xff1a; 解决办法 按WIN R键打开“运行”&#xff0c;输入如下命令&#xff1a; outlook.exe /safe 然后点击“确定” 这样就进入了Outlook的安全模式。 点击“文件”->“选项”-…

【智能家居】三、添加语音识别模块的串口读取功能点

语音识别模块SU-03T 串口通信线程控制代码 inputCommand.h&#xff08;输入控制指令&#xff09;voiceControl.c&#xff08;语音控制模块指令&#xff09;main.c&#xff08;主函数&#xff09;编译运行结果 语音识别模块SU-03T AI智能语音识别模块离线语音控制模块语音识别…

Oracle 单表插入/多表插入(Single Table Insert/Multi-table Insert)

数据库应用中&#xff0c;我们经常需要向表中插入数据&#xff0c;insert语句是最常用的数据插入方式&#xff0c;根据目标表的数量&#xff0c;可以分为单表插入和多表插入。 目录 一、 单表插入&#xff08;Single Table Insert&#xff09; 二、 多表插入&#xff08;Multi-…

Set集合的特点

Set系列集合特点&#xff1a; 无序&#xff1a;添加数据的顺序和获取出的数据顺序不一致&#xff1b;不重复&#xff1b;无索引&#xff1b; HashSet&#xff1a;无序&#xff0c;不重复&#xff0c;无索引 LinkedHashSet&#xff1a;有序&#xff0c;不重复&#xff0c;无索引…