首页 > 系统相关 >【shell脚本】使用firewall-cmd批量增加IP访问规则

【shell脚本】使用firewall-cmd批量增加IP访问规则

时间:2024-09-06 19:52:15浏览次数:11  
标签:shell firewall IP cmd rule echo --

原创 wsdhla 想惑1025

增加单个IP,并指定端口:

firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="xxx.xx.xx.xxx" port protocol="tcp" port="54321" accept"

批量增加IP访问规则,使用脚本:

batch-add-ip-rule-firewall-cmd.sh


#!/bin/bash
file="ip-list.txt"
ZONE=public

if [ -f "$file" ]; then
  while IFS= read -r IP; do
    # 需要替换掉换行符
    IP=${IP//\n/}
    IP=${IP//\r/}
    IP=$(echo -n "$IP" | tr -d '\n')
    IP=$(echo -n "$IP" | tr -d '\r')
    echo "$IP"
    # 移除
    # firewall-cmd --permanent --zone=public --remove-source=$IP
    firewall-cmd --permanent --zone=$ZONE --add-rich-rule="rule family="ipv4" source address="$IP" port protocol="tcp" port="54321" accept"
  done < "$file"

  firewall-cmd --reload
  echo "添加完成"
else
  echo "文件 $file 不存在"
fi

我的博客:

https://blog.csdn.net/wsdhla/article/details/128684694
修改于2024年04月15日

微信扫一扫
关注该公众号

标签:shell,firewall,IP,cmd,rule,echo,--
From: https://www.cnblogs.com/o-O-oO/p/18400899

相关文章

  • JavaScript学习文档(14):深入对象、内置构造函数、综合案例
    目录一、深入对象1、创建对象三种方式2、构造函数(1)构造函数(2)说明:(3)利用构造函数创建多个对象(4)实例化执行过程3、实例成员和静态成员(1)实例成员:(2)静态成员:二、内置构造函数1、Object2、Array(1)数组常见实例方法-核心方法(2)员工涨薪计算成本案例(3)还有些数组常见方法(4......
  • javascript网页设计案例
    JavaScript在网页设计中扮演着重要的角色,能够实现动态效果和交互功能,提升用户体验。下面,我将通过一个具体的案例——“动态图片轮播”来展示JavaScript在网页设计中的应用。案例:动态图片轮播1.HTML结构<!DOCTYPEhtml><htmllang="zh"><head>  <metacharset="UTF-......
  • 鸿蒙-TypeScript语法
    1.概述HarmonyOS应用的主要开发语言是ArkTS,它由TypeScript(简称TS)扩展而来,在继承TypeScript语法的基础上进行了一系列优化,使开发者能够以更简洁、更自然的方式开发应用。注意:TypeScript本身也是由另一门语言JavaScript扩展而来,它主要是在JavaScript的基础上添加了静......
  • BRAM IP Native模式使用
    简介    BRAM(‌BlockRAM)是‌FPGA(Field-ProgrammableGateArray)中的一种专用RAM资源,固定分布在FPGA内部的特定位置。该内容主要对BRAM(BlockRAM”的缩写)Native模式下IP界面做详细描述和使用。界面介绍Basic界面          1、选择对外接口,可以是AXI总线......
  • 解压zip文件或者安装软件出现 "无法成功完成操作" 解决方案
    近期,有一些朋友反馈在解压zip压缩包,或者在安装软件的过程中出现了下面的错误提示:"无法成功完成操作, 因为文件包含病毒或者潜在垃圾文件""Operation didnotcompletesuccessfullybecausethefilecontainsavirusorpotentiallyunwantedsoftware"    ......
  • python测试开发基础---multiprocessing.Pool
    1.基础概念多进程编程:Python中的multiprocessing模块允许你使用多个进程并行执行任务,这可以提高程序的性能,尤其是在需要大量计算的情况下。Pool类是一个常用工具,可以帮助你更轻松地管理多个进程。进程池:进程池是一个包含多个工作进程的池子,用来处理多个任务。你可以将任......
  • 进程间通信(IPC):概念、分类与信号机制(2)
    文章目录进程间通信(IPC):概念、分类与信号机制引言IPC的分类信号机制信号周期信号的产生信号的发送信号的接收信号处理示例IPC的其他方法管道通信消息队列共享内存套接字通信服务器端代码客户端代码优点与缺点优点缺点结论进程间通信(IPC):概念、分类与信号机制引言......
  • 信息学奥赛初赛天天练-84-NOIP2014普及组-基础题3-总线、存储器、邮件协议、二叉树、
    信息学奥赛初赛天天练-84-NOIP2014普及组-基础题3-总线、存储器、邮件协议、二叉树、满二叉树、顶点的度、无向图、有向图PDF文档公众号回复关键字:202409061NOIP2014普及组基础题36CPU、存储器、I/O设备是通过()连接起来的A接口B总线C控制线D系统文......
  • Shell编程撰写Linux工具箱
    创建一个Linux工具箱脚本可以帮助您快速执行常见的系统管理任务。以下是一个示例脚本,包含了一些常见的功能,如系统信息查看、磁盘使用情况检查、网络信息查看、进程管理等。前言在开发者的世界里,我们不断探索,不断创新。今天,我们携手赞助商浪浪云,向您致敬,同时以敬业的精神......
  • JavaScript中的Object.freeze()和Object.seal()
    一、Object.freeze()1.简介:Object.freeze()是一个可以将对象冻结的方法。一旦对象被冻结,就不能添加、删除或修改其属性。这在需要确保对象完整性、防止任何意外或故意更改的场景中非常有用constperson={name:'Alice',age:30};Object.freeze(person);p......