FRP内网穿透需要注意的事情

安全性

  1. SSH设置好密钥后,一定要关闭密码登陆。现在暴力破解策略往往是先派小鸡端口扫描看看谁可以密码访问,如果可以,然后定点爆破就开始了。
  2. 不允许root登陆。
  3. FRP使用token验证。
  4. FRP服务端要输出配置文件,info等级就能显示访问ip了,作为ip封禁的依据。下面是我的服务端设置example:
bindPort = 7000
auth.token = "xxx"
webServer.port = 7600
webServer.user = "xxx"
webServer.password = "xxx"
#日志记录等级,有trace, debug, info, warn, error
log.level = "info"
#日志保留时间
log.maxDays = 3
log.to = "/root/frp_0.54.0_linux_amd64/log/frps.log"

info模式输出/root/frp_0.54.0_linux_amd64/log/frps.log的打印结果
info模式输出

其他

  1. 要把隧道绑定在域名上面,而不是ip。一旦ip被封或者切换,远程主机就失联了。
  2. FRP同一个服务器开多端口穿透,只需要一个配置文件写就好,不要多开frps。下面是我Client端的设置:
serverAddr = "x.xx.com"
serverPort = 7000
auth.token = "xxxxx" #似乎不能加特殊符号

[[proxies]]
name = "ssh1"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 3000

[[proxies]]
name = "vnc"
type = "tcp"
localIP = "127.0.0.1"
localPort = 6666
remotePort = 370

  1. 服务端注意运行定期脚本,解析frp的域名,然后解析得到的ip需要转发特定网口。
#!/bin/bash

# 域名
DOMAIN_NAME="xx.xx.com"

# 使用dig命令解析域名获取IP地址
IP_ADDRESS=$(dig +short $DOMAIN_NAME | tail -n1)

if [ -z "$IP_ADDRESS" ]; then
    echo "无法解析域名: $DOMAIN_NAME"
    exit 1
fi

# WiFi接口名称,注意下面只是example接口名
WIFI_INTERFACE="wlx200db0362a21"

# 获取WiFi接口的默认网关
WIFI_GATEWAY=$(ip route show default | grep $WIFI_INTERFACE | awk '{print $3}')

# 构造预期的路由规则
EXPECTED_ROUTE="$IP_ADDRESS via $WIFI_GATEWAY dev $WIFI_INTERFACE"

# 检查是否已存在预期的路由规则
EXISTING_ROUTE=$(ip route show to match $IP_ADDRESS | grep $WIFI_INTERFACE)

if [[ "$EXISTING_ROUTE" == *"$EXPECTED_ROUTE"* ]]; then
    echo "路由规则已存在,无需更新: $EXPECTED_ROUTE"
else
    # 删除旧的路由规则(如果存在)
    sudo ip route del $IP_ADDRESS dev $WIFI_INTERFACE 2> /dev/null

    # 添加新的路由规则
    sudo ip route add $EXPECTED_ROUTE

    echo "路由更新完成: $EXPECTED_ROUTE"

    sudo systemctl restart frpc.service
fi

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

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

相关文章

mac docker 宿主机和容器间网络打通

动因 是这样,笔者最近满怀欣喜入手Docker,看着各种文章命令都是不断点头称道:“嗯嗯,不错不错”,在接下来终于准备大干一场的时候碰壁了,主要情况是说在Mac中跑了第一把的时候发现碰到,虚拟机和宿主机居然…

C语言笔试题之两数相加(多次反转链表实现)

实例要求: 1、给定两个非空链表(l1和l2)来代表两个非负整数;2、数字最高位位于链表开始位置;3、它们的每个节点只存储一位数字;4、将这两数相加会返回一个新的链表; 案例展示: 实例…

Leetcode刷题笔记题解(C++):面试题 08.07. 无重复字符串的排列组合

思路:因为字符之间互不相同,故使用全排列的方式去解题; 字符串长度为n,将第一个字母分别与后面每一个字母进行交换,生成n种不同的全排列;再用第二个元素与后面每一个元素进行交换,生成n - 1种不…

K8S之运用亲和性设置Pod的调度约束

亲和性 Node节点亲和性硬亲和实践软亲和性实践 Pod节点亲和性和反亲和性pod亲和性硬亲和实践 pod反亲和性 Pod 的yaml文件里 spec 字段中包含一个 affinity 字段,使用一组亲和性调度规则,指定pod的调度约束。 kubectl explain pods.spec.affinity 配置…

c语言实现io多路复用(select),进程,线程并发服务器

io多路复用&#xff08;select&#xff09;代码 #include<myhead.h> #include <sys/select.h> #define PORT 8888 #define IP "192.168.250.100" int main(int argc, char const *argv[]) { //创建套接字int sfd socket(AF_INET, SOCK_STREAM, 0…

Leetcode—60. 排列序列【困难】

2024每日刷题&#xff08;113&#xff09; Leetcode—60. 排列序列 算法思想 实现代码 class Solution { public:string getPermutation(int n, int k) {vector<int> nums(n);// f[i] i!vector<int> f(n 1, 1); string ans;iota(nums.begin(), nums.end(), 1…

Blazor入门100天 : 自做一个支持长按事件的按钮组件

好长时间没继续写这个系列博客了, 不知道大家还记得我吗? 话不多说,直接开撸. 配套源码 demo https://blazor.app1.es/b19LongPressButton ####1. 新建 net8 blazor 工程 b19LongPressButton 至于用什么模式大家各取所需, 我创建的是ssr单工程, 如果大家不小心建立错了按页…

软考 系统分析师系列知识点之信息系统战略规划方法(4)

接前一篇文章&#xff1a;软考 系统分析师系列知识点之信息系统战略规划方法&#xff08;3&#xff09; 所属章节&#xff1a; 第7章. 企业信息化战略与实施 第4节. 信息系统战略规划方法 7.4.2 关键成功因素法 关键成功因素&#xff08;Critical Success Factors&#xff0c…

Vue3.0(五):Vue-Router 4.x详解

Vue-Router详解 vue-router教程 认识前端路由 路由实际上是网络工程中的一个术语 在架构一个网络的时候&#xff0c;常用到两个很重要的设备—路由器和交换机路由器实际上就是分配ip地址&#xff0c;并且维护着ip地址与电脑mac地址的映射关系通过映射关系&#xff0c;路由器…

放假--寒假自学版 day1(补2.5)

fread 函数&#xff1a; 今日练习 C语言面试题5道~ 1. static 有什么用途&#xff1f;&#xff08;请至少说明两种&#xff09; 1) 限制变量的作用域 2) 设置变量的存储域 2. 引用与指针有什么区别&#xff1f; 1) 引用必须被初始化&#xff0c;指针不必。 2) 引用初始…

数据结构与算法-链表(力扣附链接)

之前我们对C语言进行了一定的学习&#xff0c;有了一些基础之后&#xff0c;我们就可以学习一些比较基础的数据结构算法题了。这部分的知识对于我们编程的深入学习非常有用&#xff0c;对于一些基本的算法&#xff0c;我们学习之后&#xff0c;就可以参加一些编程比赛了&#x…

java基础(2) 面向对象编程-java核心类

面向对象 面向对象对应的就是面向过程&#xff0c; 面向过程就是一步一步去操作&#xff0c;你需要知道每一步的步骤。 面向对象的编程以对象为核心&#xff0c;通过定义类描述实体及其行为&#xff0c;并且支持继承、封装和多态等特性 面向对象基础 面向对象编程&#xff0…

吉他学习:识谱,认识节奏,视唱节奏,节拍器的使用

第九课 识谱https://m.lizhiweike.com/lecture2/29362692 第十课 基础乐理(二)——节奏篇https://mp.csdn.net/mp_blog/creation/editor?spm=1011.2124.3001.6192

CPU和GPU有什么区别,玩游戏哪个更重要?

大家好&#xff01;今天我们要聊的话题是CPU和GPU&#xff0c;它们在电脑中扮演着重要的角色&#xff0c;虽然看起来只是两个简单的缩写&#xff0c;但它们的功能和影响是截然不同的&#xff01; 那么&#xff0c;究竟CPU和GPU有什么区别呢&#xff1f;在玩游戏时&#xff0c;…

OCP使用web console创建和构建应用

文章目录 环境登录创建project赋予查看权限部署第一个image检查pod扩展应用 部署一个Python应用连接数据库创建secret加载数据并显示国家公园地图 清理参考 环境 RHEL 9.3Red Hat OpenShift Local 2.32 登录 在 crc start 启动crc时&#xff0c;可以看到&#xff1a; .....…

寒假作业2024.2.6

1.现有无序序列数组为23,24,12,5,33,5347&#xff0c;请使用以下排序实现编程 函数1:请使用冒泡排序实现升序排序 函数2:请使用简单选择排序实现升序排序 函数3:请使用直接插入排序实现升序排序 函数4:请使用插入排序实现升序排序 #include <stdio.h> #include <stdl…

机器学习11-前馈神经网络识别手写数字1.0

在这个示例中&#xff0c;使用的神经网络是一个简单的全连接前馈神经网络&#xff0c;也称为多层感知器&#xff08;Multilayer Perceptron&#xff0c;MLP&#xff09;。这个神经网络由几个关键组件构成&#xff1a; 1. 输入层 输入层接收输入数据&#xff0c;这里是一个 28x…

空气质量预测 | Matlab实现基于SVR支持向量机回归的空气质量预测模型

文章目录 效果一览文章概述源码设计参考资料效果一览 文章概述 政府机构使用空气质量指数 (AQI) 向公众传达当前空气污染程度或预测空气污染程度。 随着 AQI 的上升,公共卫生风险也会增加。 不同国家有自己的空气质量指数,对应不同国家的空气质量标准。 基于支持向量机(Su…

真正免费的文件恢复软件easyrecovery2024中文版

easyrecovery数据恢复软件是一款广受好评的数据恢复工具&#xff0c;它能够有效地帮助用户恢复各种类型的文件。无论是照片、视频、音乐还是文档&#xff0c;都能轻松地找回这些重要文件。操作安全、用户可自主操作的数据恢复方案&#xff0c;它支持从各种各样的存储介质恢复删…

备战蓝桥杯---动态规划之背包问题引入

先看一个背包问题的简单版&#xff1a; 如果我们暴力枚举可能会超时。 但我们想一想&#xff0c;我们其实不关心怎么放&#xff0c;我们关心的是放后剩下的体积。 用可行性描述即可。 于是我们令f[i][j]表示前i个物品能否放满体积为j的背包。 f[i][j]f[i-1][j]||f[i-1][j-v…