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

centos7防火墙白名单总结

需求:

某台服务器的es的8300,8200端口需要指定白名单访问,需要在不影响服务器上其他服务的前提下(因为是历史项目),完善防火墙配置。

首先梳理发现,这两个端口是docker映射出来的端口,开启防火墙。发现防火墙无法限制端口。

先解决:

centos中docker开放的端口 无法受防火墙 控制:

在 CentOS 中,Docker 容器开放的端口默认不受 firewalld 防火墙控制,因为 Docker 使用了自己的网络命名空间和 iptables 规则来管理容器的网络。这可能会导致在 firewalld 中设置的规则对 Docker 容器不生效。为了使 firewalld 能够控制 Docker 容器的端口,可以采取以下步骤:

1. **修改 Docker 配置**:编辑 `/etc/docker/daemon.json` 文件,添加或修改 `"iptables": false` 配置,这样 Docker 就不会自动设置 iptables 规则。例如:
   {
     "iptables": false
   }
   修改后需要重启 Docker 服务。


systemctl restart docker

注意:重启docker时候,最好先备份docker ps 的结果

centos中指定端口访问地址

方法1:

随后配置public.xml

<?xml version="1.0" encoding="utf-8"?>
<zone<rule family="ipv4"><source address="xx.21.0.16"/><source address="xx.21.0.99"/><port protocol="tcp" port="8200"/><port protocol="tcp" port="8300"/><accept/></rule><port protocol="tcp" port="80-8199"/><port protocol="tcp" port="8201-8299"/><port protocol="tcp" port="8301-30000"/>
</zone>

 重启防火墙

systemctl restart firewalld

方法2:

也可以 public.xml配置

<?xml version="1.0" encoding="utf-8"?>
<zone<port protocol="tcp" port="80-8199"/><port protocol="tcp" port="8201-8299"/><port protocol="tcp" port="8301-30000"/>
</zone>

newszone.xml配置

<?xml version="1.0" encoding="utf-8"?>
<zone<source address="xx.21.0.16"/><source address="xx.21.0.99"/><port protocol="tcp" port="8200"/><port protocol="tcp" port="8300"/>
</zone>

注意,有的版本不支持这种合在一起的写法

那就老老实实用命令行,一行一个规则:

sudo firewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='182.12.14.3' port protocol='tcp' port='2181' accept"
sudo firewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='145.2.4.5' port protocol='tcp' port='2181' accept"

sudo firewall-cmd --reload

这样生成的配置是:

<rule family="ipv4"><source address="182.12.14.3"/><port protocol="tcp" port="2181"/><accept/>
</rule><rule family="ipv4"><source address="145.2.4.5"/><port protocol="tcp" port="2181"/><accept/>
</rule>

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 在MySQL中,要查询所有用户及其权限,您可以使用以下命令:
  • springboot+redis+缓存
  • 59.【C语言】内存函数(memmove函数)
  • python爬虫初体验(二)
  • 611. 有效三角形的个数
  • pip install、yum install和conda install三者技术区分
  • Django一分钟:DRF快速实现JWT认证与RBAC权限校验
  • 《程序猿之设计模式实战 · 适配器模式》
  • Vue3中shallowRef和ref区别
  • MySQL篇(事务 - 基础)
  • STL队列
  • 部标(JT/T1078)流媒体对接说明
  • POI操作EXCEL插入图片
  • 两数之和、三数之和、四数之和
  • PTA矩阵转置
  • 10个最佳ES6特性 ES7与ES8的特性
  • express.js的介绍及使用
  • Node + FFmpeg 实现Canvas动画导出视频
  • 飞驰在Mesos的涡轮引擎上
  • 规范化安全开发 KOA 手脚架
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 力扣(LeetCode)21
  • 排序算法之--选择排序
  • 判断客户端类型,Android,iOS,PC
  • 深入浅出webpack学习(1)--核心概念
  • 手写双向链表LinkedList的几个常用功能
  • 我是如何设计 Upload 上传组件的
  • 无服务器化是企业 IT 架构的未来吗?
  • 线性表及其算法(java实现)
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • 移动端高清、多屏适配方案
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • # Java NIO(一)FileChannel
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • $.ajax()参数及用法
  • (PySpark)RDD实验实战——取最大数出现的次数
  • (WSI分类)WSI分类文献小综述 2024
  • (附源码)ssm码农论坛 毕业设计 231126
  • (七)理解angular中的module和injector,即依赖注入
  • (三)Honghu Cloud云架构一定时调度平台
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (一) springboot详细介绍
  • (已解决)报错:Could not load the Qt platform plugin “xcb“
  • ***linux下安装xampp,XAMPP目录结构(阿里云安装xampp)
  • **PHP二维数组遍历时同时赋值
  • .NET CLR基本术语
  • .net6 webapi log4net完整配置使用流程
  • .NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试
  • .NetCore实践篇:分布式监控Zipkin持久化之殇
  • .net安装_还在用第三方安装.NET?Win10自带.NET3.5安装
  • .NET处理HTTP请求
  • .NET国产化改造探索(一)、VMware安装银河麒麟
  • @selector(..)警告提示