自动化防火墙放行目标域名IP

2023-10-27

#!/bin/bash
# 设置要获取IP地址的域名
domain="yourdomain.com"

# 获取域名的IP地址
new_ip=$(dig +short A $domain)

# 移除之前添加放行的IP地址(通过备注找它的编号)
rule_number=$(iptables -L INPUT -n --line-numbers -v | awk -v domain="${domain}" '$0 ~ "Allow from " domain {print $1}')

# 如果有就删除
if [ -n "$rule_number" ]; then
    iptables -D INPUT $rule_number
fi

# 添加新的IP地址到iptables规则(带备注)
iptables -A INPUT -s $new_ip -m comment --comment "Allow from $domain" -j ACCEPT

#保存规则,如果有docker请省略这一步
service iptables save

正则表达式部分的解释:

  • Allow from : 这是一个固定的文本字符串,表示规则中的注释内容开始部分。
  • domain: 这是一个变量,其中存储了您要匹配的注释内容。在命令中使用-v选项将该变量传递给awk命令。
  • ~操作符: 在awk中,~操作符用于进行模式匹配。
  • $0: 这是awk中的一个特殊变量,表示整个输入行。
  • ~操作符后面的部分 "Allow from " domain 是我们的模式。它指示awk在输入行中查找以"Allow from
    "开头,后面跟着domain变量的内容的部分。

因此,使用模式"Allow from " domain,我们可以匹配包含所需注释的规则行。一旦找到匹配的行,print $1将打印该行的第一个字段,即规则行号。

有docker为啥不保存:

在使用Docker时,iptables规则是由Docker自动管理的。Docker使用自己的网络桥接和转发机制来管理容器之间的通信,它会自动更新iptables规则以适应容器的网络需求

当你运行service iptables save命令时,它会尝试保存当前系统的iptables规则到配置文件中,但是这个命令不会考虑Docker所管理的规则。

如果你希望保存Docker所管理的iptables规则,你可以使用Docker自带的命令来实现。例如,使用docker save命令将Docker的iptables规则保存到文件中,然后在需要的时候使用docker load命令重新加载规则。

另外,从Docker 1.13版本开始,Docker引入了新的命令docker savedocker load,用于保存和加载容器的状态,包括网络规则。这样你就可以使用docker save命令保存Docker的状态,并在需要的时候使用docker load命令重新加载状态,包括iptables规则。

总之,如果你在使用Docker,并且希望保存iptables规则,建议使用Docker提供的相关命令来管理和保存规则。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自动化防火墙放行目标域名IP 的相关文章

  • 分辨公网IP和内网IP的方法

    公网IP一般就是对外的访问地址 内网IP就是对内的访问地址 两者的使用范围是不一样的 那如果区分客户网络的IP地址是公网IP地址还是内网IP地址呢 公网IP的地址范围是很广泛的 我们可以先了解下内网IP 因为内网IP的地址段相对是局限的 一
  • 双系统安装win7出现grub怎么解决

    我们在重装系统时 特别苹果装双系统时 会出现安装过程或者安装后的问题 发现系统开机显示grub 导致不能正常进入系统 让人很是着急 其实出现这种情况是因为系统找不到主引记录所导致 只要重建主引记录mbr即可解决 下面小编就教教大家win7系
  • Kali Linux 安全渗透核心总结,444页核心知识点

    就像IT人离不开Linux系统一样 网安人也离不开Kali Linux 作为攻击性防御和渗透测试的代名词 越来越多的人开始学习Kali 如果你也对kali感兴趣 又想深入了解这方面内容 不妨收藏一下这份Kali Linux安全渗透教程 共4
  • 6类典型场景的无线AP选型和部署方案

    你们好 我的网工朋友 前段时间刚给你们来了篇解决无线频繁断网的技术文 解决无线频繁断网 这个办法值得收藏 不少朋友私聊 说想再聊聊无线AP的选型和部署方案 这不就安排上了 无线网络覆盖项目中 无线AP的合理选型和部署非常重要 在设计施工中
  • 盘点那些年我们一起玩过的网络安全工具

    大家好 我是IT共享者 这篇文章给大家盘点那些年 我们一起玩过的网络安全工具 一 反恶意代码软件 1 Malwarebytes 这是一个检测和删除恶意的软件 包括蠕虫 后门 流氓 拨号器 间谍软件等等 快如闪电的扫描速度 具有隔离功能 并让
  • CTF之逆向入门

    逆向工程 Reverse Engineering 又称反向工程 是一种技术过程 即对一项目标产品进行逆向分析及研究 从而演绎并得出该产品的处理流程 组织结构 功能性能规格等设计要素 以制作出功能相近 但又不完全一样的产品 逆向工程源于商业及
  • 服务器集群是如何提高计算性能的?

    服务器集群是一种将多台服务器连接起来协同工作的技术 通过集群配置 可以提高计算性能 可靠性和可扩展性 以下是服务器集群如何提高计算性能的详细解释 一 并行处理能力 服务器集群的核心优势在于其并行处理能力 通过将多个服务器组成一个集群 可以将
  • 使用Hypothesis生成测试数据

    Hypothesis是Python的一个高级测试库 它允许编写 测试用例 时参数化 然后生成使测试失败的简单易懂的测试数据 可以用更少的工作在代码中发现更多的bug 安装 pip install hypothesis 如何设计 测试数据 通
  • Jenkins流水线怎么做?

    问CHAT Jenkins流水线怎么做 CHAT回复 Jenkins流水线是一种创建 测试和部署应用程序的方法 以下是为Jenkins创建流水线的步骤 1 安装Jenkins 首先你需要在你的服务器上安装Jenkins 这个过程可能会根据你
  • Python自动化操作:简单、有趣、高效!解放你的工作流程!

    今天跟大家分享一套自动化操作流程解决方案 基于 Python语言 涉及 pyautogui pyperclip pythoncom win32com 依赖包 安装命令为 pip install pyautogui pip install p
  • messages,CentOS 7不收集日志或不存在 /var/log/messages

    var log message var log secure等都不记录了 并且都是空文件 重启机器 reboot 无效 重启日志 systemctl start rsyslog 无效 怀疑空间不足 删除 var log messages 重
  • 步骤详图 教你在linux搭建容器环境

    警告 切勿在没有配置 Docker YUM 源的情况下直接使用 yum 命令安装 Docker 1 准备工作 系统要求 要安装Docker CE 社区版 操作系统的最低要求是CentOS7 7以下版本都不被支持 卸载旧版本 Docker改版
  • 这个很少人知道的零售技巧,却是我最想安利的!

    在当今数字化浪潮的推动下 零售业正在迎来一场革命性的变革 新零售模式的崛起正引领着消费者与商品之间的互动方式发生深刻的变化 在这个变革的前沿 自动售货机作为新零售的一种关键形式 通过智能技术和自动化系统 重新定义了购物体验的边界 客户案例
  • 基于java的物业管理系统设计与实现

    基于java的物业管理系统设计与实现 I 引言 A 研究背景和动机 物业管理系统是指对物业进行管理和服务的系统 该系统需要具备对物业信息 人员信息 财务信息等进行管理的能力 基于Java的物业管理系统设计与实现的研究背景和动机主要体现在以下
  • 还在手工标注数据集?快来试一试自动化多模型标注大模型-gui交互式标注(部署运行教程-高效生产力)

    快速入门指南 先看一下自动化标注的强大 简直医学图像处理的福音呀 不仅如此 任何区域都可以识别到 面对任意开集数据 都可以达到良好的效果 运行模式 目前 X AnyLabeling 支持两种运行方式 一种是下载源码直接运行 另一种是直接下载
  • 一台java服务器可以跑多少个线程?

    一台java服务器可以跑多少个线程 一台java服务器能跑多少个线程 这个问题来自一次线上报警如下图 超过了我们的配置阈值 打出jstack文件 通过IBM Thread and Monitor Dump Analyzer for Java
  • Vue 如何使用WebSocket与服务器建立链接 持续保持通信

    WebSocket 浏览器通过JavaScript向服务器发出建立WebSocket链接的请求 链接建立后 客户端和服务器端就可以通过TCP链接直接交互数据 WebSocket链接后可以通过 send 方法来向服务器发送数据 并通过 onn
  • 【安全】简单解析统一身份认证:介绍、原理和实现方法

    深入解析统一身份认证 介绍 原理和实现方法 导语 统一身份认证是什么 统一身份认证的原理 统一身份认证的实现 结语 导语 随着互联网的发展和各种在线服务的普及 用户在不同的应用和平台上需要进行多次身份验证 为了简化用户的登录和减少重复操作
  • 用Python实现高效数据记录!Web自动化技术助你告别重复劳动!

    自动化关键数据记录 简介 关键数据记录是 Web 自动化测试中的关键部分 它们提供了关于系统行为和执行过程的详细信息 有助于验证用例的正确性 排查问题和确保应用程序的质量 行为日志 行为日志是一种用于记录系统或应用程序的操作和事件的技术 它
  • 【安全-SSH】SSH安全设置

    今天发现自己的公有云服务器被攻击了 在这里插入图片描述 https img blog csdnimg cn direct cafdca04646f4b8b838400ec79ac282f png 然后查看了登录日志 如上图 ls sh va

随机推荐

  • you need to resolve your current index first 解决办法

    前些天发现了一个巨牛的人工智能学习网站 通俗易懂 风趣幽默 忍不住分享一下给大家 点击跳转到教程 从一个分支A切换到另一个分支B后 对切换后的B分支进行pull操作 因为pull操作实际上包含了fetch merge操作 在执行 merge
  • Box2D一:基础知识

    一 box2d基础知识 1 关于 Box2D 是一个用于游戏的 2D 刚体仿真库 从游戏的视角来看 物理引擎就是一个程序性动画 procedural animation 的系统 而不是由动画师去移动你的物体 1 核心概念 刚体 rigid
  • 量化建模时常见的数据穿越问题

    这篇文章将会介绍一下量化建模时常见的数据穿越问题 何为数据穿越 对于t时刻训练得到的模型必须用t时刻之前的数据训练 如果t时刻用到t时刻以后的数据则会产生数据穿越问题 我碰到比较多的数据穿越问题主要有三种 1 训练集和测试集有交叉 2 特征
  • Kali 安装之腾讯云经验遇到坑

    目录 一 准备工作 二 制作镜像 导入kail ios镜像 安装KALI系统 KALI系统安装过程中出现报错 安装 cloud init 制作云镜像 VMDK QCOW 腾讯云导入kali镜像 使用问题 1 无法ssh协议登录 2 重新命名
  • FFMPEG录屏(11)---- aresample重采样pcm

    本文利用ffmpeg中的filter对pcm数据进行重采样 参考官网例子 filtering audio c 初始化filter int filter aresample init const FILTER CTX ctx in const
  • 好像还挺好玩的GAN6——Keras搭建LSGAN最小二乘GAN

    好像还挺好玩的GAN6 Keras搭建LSGAN最小二乘GAN 学习前言 什么是LSGAN 神经网络构建 1 Generator 2 Discriminator 训练思路 实现全部代码 学习前言 据说这个大宝贝的生成效果比较好 让我试试 什
  • Java编程规范(一)

    最近在看一本有关Java编程规范的书 书中精炼阐述了使用java语言时应该遵循的一些原则 接下来的一段时间我将在这里总结我的学习内容 也希望这一系列文章能够对有需要的人有所帮助 不考虑任何编码规范的代码往往存在很多Bug 严重情况下还会制约
  • python迭代器好处_关于Python中迭代器的作用

    迭代器的定义 含有 iter 方法和 next 方法的就是迭代器 即 iterate 含有 iter 方法就可以使用for循环 即iterable 可迭代的 Iterable 可迭代的 gt iter 只要含有 iter 方法的都是可迭代的
  • 小米9能刷鸿蒙系统吗,超大乌龙之后,网友:小米真的不可能会使用鸿蒙系统吗?...

    这几天网上传得沸沸扬扬的华为鸿蒙系统即将在小米手机上使用一事 真的是把大家都给忽悠过去了 就连笔者都差点信以为真 没办法 现在 大忽悠 的IT忽悠手段都太高明 把雷军和任正非的出镜视频剪辑到了一起 还让大家误以为是小米和华为偷偷开了个会 会
  • fio verify数据校验失败

    fio3 7使用verify校验失败 使用本地文件系统也是失败 不知道那块配置的问题 感觉是参数冲突引起的 ioengine psync directory dirs name test bs 4K sync sync numjobs nu
  • 【机器学习 - 2】:数据集的处理

    文章目录 训练集和数据集分离 获取最优模型 超参数 寻找最优模型 网格搜索的使用 训练集和数据集分离 训练集和数据集分离的原理 当我们获取一个数据集时 我们需要将其一小部分拿出来作为测试集 剩余的作为训练集 例如对于一个训练集 将其20 作
  • 分布式文件系统FastDFS设计原理

    转自 http blog yunnotes net index php fastdfs design FastDFS是一个开源的轻量级分布式文件系统 由跟踪服务器 tracker server 存储服务器 storage server 和客
  • goland注册码

    https www jianshu com p fab800e01428 https blog csdn net m0 37323771 article details 82194065 https blog csdn net qq 166
  • 图论之dijkstra

    di jkstra是由迪杰斯特拉提出的一种图论算法 用于求一个点到其他所有点的最短距离 dijkstra的核心思想就是将所有的点分成两个集合A B 从B集合中找到一个离A集合内的点最近的点 把他加入A集合 然后再用这个点去迭代其他所有点 注
  • 更改Jupyter保存位置、路径详细步骤

    修改Jupyter保存位置 路径具体步骤 我安装的是 Anaconda3 64 bit 中的jupyter notebook 问题 在使用Jupyter时 发现它的自动保存路径是在系统盘 由于自己C盘快满了 而且我习惯把软件和文件保存到F盘
  • Mysql数据库的监控

    Mysql是一款开源关系型数据库 在业务系统中广泛的应用 我们监控MYSQL数据库 从以下几个维度进行监控 1 吞吐量 包括数据库的接收和发送吞吐量 2 innodb的指标信息 包括了innodb buffer pool的各项指标信息 数据
  • Nacos 配置实时生效

    在nacos 的yaml文件配置字段根据环境配置成对应的第三方服务接口地址 但是发现时不时地 接口会不稳定地宕掉 原先本地都是调本地服务接口 今天发现 测试服务的接口有数据 而本地服务接口并没有数据 这时候测试环境的接口返回依旧是空 这才发
  • linux如何开发一些自定义命令

    在Linux中 可以通过创建自己的脚本或可执行程序来开发自己的命令 下面是一些具体的步骤 创建脚本或可执行程序 首先 你可以使用文本编辑器创建一个脚本文件或可执行程序 例如使用Bash脚本编写一个名为 mycommand 的命令 bin b
  • 【华为OD机试2023】工作安排 100% C++ Java Python

    华为OD机试2023 工作安排 100 C Java Python 前言 如果您在准备华为的面试 期间有想了解的可以私信我 我会尽可能帮您解答 也可以给您一些建议 本文解法非最优解 即非性能最优 不能保证通过率 Tips1 机试为ACM 模
  • 自动化防火墙放行目标域名IP

    bin bash 设置要获取IP地址的域名 domain yourdomain com 获取域名的IP地址 new ip dig short A domain 移除之前添加放行的IP地址 通过备注找它的编号 rule number ipta