Firewall防火墙

Linux包过滤防火墙

  • netfilter
    • 称为Linux防火墙的“内核态”
    • 位于Linux内核 中的包过滤功能体系
  • iptables
    • “用户态”
    • 位于/sbin/iptables,
  • 包过滤的工作层次
    • 主要是网络层,针对IP数据包
    • 体现在对包内的IP地址、端口等信息的处理上

iptables的表、链结构

  • 规则链
    • 规则的作用:对数据包进行过滤或处理
    • 链的作用:容纳各种防火墙规则
    • 链的分类依据:处理数据包的不同时机
  • 默认包括5种规则链
    • INPUT:处理入站数据包
    • OUTPUT:处理出站数据包
    • FORWARD:处理转发数据包
    • POSTROUTING链:在进行路由选择后处理数据包
    • PREROUTING链:在进行路由选择前处理数据包
  • 规则表
    • 表的作用:容纳各种规则链
    • 表的划分依据:与防火墙规则的作用相似
  • 默认包括4个规则表
    • raw表:确定是否对该数据包进行状态跟踪
    • mangle表(流量整形表):为数据包设置标记
    • nat表:修改数据包中的源、目标IP地址或端口
    • filter表:确定是否放行该数据包(过滤)
  • 规则表之间的顺序
    • raw->mangle->nat->filter
  • 规则链之间的顺序
    • 入站:PREROUTING->INPUT
    • 出站:OUTPUT->POSTROUTING
    • 转发:PEROUTING->FORWARD->POSTROUTING
  • 规则链内的匹配顺序
    • 按顺序依次检查,匹配立即停止(LOG策略除外)
    • 如找不到相匹配的规则,则按改链的默认策略处理

规则分类

匹配条件

1、通用匹配

    • 协议匹配
    • 地址匹配
    • 接口匹配

2、隐含匹配

    • 端口匹配
    • icmp类型匹配
      • 应答reply
      • 请求request---8
      • 不可达unreachable---3

3、显示匹配

    • 多端口
    • IP范围
    • mac地址
    • 状态匹配

iptables和firewalld的异同点

相同点:

firewalld 与 iptables 都是 Linux 中防火墙的管理程序,但其实其角色主要为对于防火墙策略的管理,真正的防火墙执行者是位于内核中的 Netfilter

不同点:

iptables 仅能通过命令行进行配置;而 firewalld提供了图形接口,类似windows防火墙的操作方式

iptables 每一个单独更改意味着清除所有旧的规则,并从 /etc/sysconfig/iptables 中读取所有新的规则;而 firewalld 在有规则变动后,可以仅仅运行规则中的不同之处,即在 firewalld 运行时间内,改变设置时可以不丢失现行链接

iptables 的配置文件在 /etc/sysconfig/iptables 中;而 firewalld 的配置文件在 /usr/lib/firewalld/ 和 /etc/firewalld/ 中的各种 XML 文件中

iptables 没有守护进程,并不能算是真正意义上的服务;而 firewalld 有守护进程

一:NAT 转发软路由

开启 NAT 转发之后,只要本机可以上网,不论是单网卡还是多网卡,局域网内的其他机器可以将默认网关设置为已开启 NAT 转发的服务器 IP ,即可实现上网。

# vim /etc/sysctl.conf

net.ipv4.ip_forward=1

## 重载网络配置生效

# sysctl -p

---------------------

# 开启 NAT 转发

firewall-cmd --permanent --zone=public --add-masquerade

firewall-cmd --zone=public --add-port=80/tcp --permanent //检查是否允许 NAT 转发

NAT设置完成

二:端口转发

端口转发可以将指定地址访问指定的端口时,将流量转发至指定地址的指定端口。转发的目的如果不指定 ip 的话就默认为本机,如果指定了 ip 却没指定端口,则默认使用来源端口。

# 将80端口的流量转发至8080

firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080

# 将80端口的流量转发至192.168.0.1

firewall-cmd --add-forward-port=proto=80:proto=tcp:toaddr=192.168.0.1

# 将80端口的流量转发至192.168.0.1的8080端口

firewall-cmd --add-forward-port=proto=80:proto=tcp:toaddr=192.168.0.1:toport=8080

富语言举例:

添加拒绝某个IP访问ssh端口

firewall-cmd --add-rich-rule "rule family=ipv4 source address=10.0.10.1 service name='ssh' drop"

禁止响应ping

firewall-cmd --permanent --add-rich-rule='rule protocol value=icmp drop'

查询是否有某个规则

firewall-cmd --query-rich-rule='rule family=ipv4 protocol value=icmp drop'

移除规则

firewall-cmd --remove-rich-rule='rule family=ipv4 protocol value=icmp drop'

拒绝来自public区域中IP地址为192.168.0.11的所有流量

firewall-cmd --zone=public --add-rich-rule='rule family=ipv4 source address=192.168.0.11/32 reject'

将源192.168.2.2地址加入白名单,以允许来自这个源地址的所有连接

firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.2.2" accept'

允许来自192.168.0.0/24地址的TFTP协议的IPv4连接,并且使用系统日志每分钟记录一次

firewall-cmd --add-rich='rule family="ipv4" source address="192.168.0.0/24" service name="tftp" log prefix="tftp" level="info" limit value="1/m" accept'

在192.168.1.0/24子网的dmz区域中,接收端口7900--1905的所有TCP包

firewall-cmd --zone=dmz --add-rich-rule='rule family=ipv4 source address=192.168.1.0/24 port port=7900-1905 protocol=tcp accept'

firewalld中理解直接规则:

将iptables的规则直接插入到firewall的管理区域当中,这种方式写的规则叫做直接规则

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NodeJs的安装与环境变量配置

Node.js的环境变量配置主要涉及设置Node.js的安装路径、npm(Node Package Manager)的全局模块安装路径和缓存路径,以及可能需要的国内镜像源配置。以下是详细的配置步骤: 一、安装Node.js 下载Node.js安装包: 访问Nod…

Android(2) : 创建手机模拟器

1.进入device manager, 选择添加 2.配置选择 名称: Pixel8 Pro 大小: 6.7英寸 分辨率: 1344x2992px Density: xxhdpi 3.下载镜像 4.编辑虚拟机内存 文件如下 C:\Users\admin\AppData\Roaming\Google\AndroidStudio2024.1\studio64.exe.vmoptions 我的电脑是32G内存, …

直播预告|飞思实验室暑期公益培训7月10日正式开启,报名从速!

01 培训背景 很荣幸地向大家宣布:卓翼飞思实验室将于7月10日正式开启为期两个月的暑期公益培训!本次培训为线上直播,由中南大学计算机学院特聘副教授,RflySim平台总研发负责人戴训华副教授主讲。 培训将基于“RflySim—智能无人…

编程上下文Context及其实现原理

编程上下文Context及其实现原理 author:shengfq date:2024-07-06 title:编程上下文Context及其实现原理 category:编程思想1.编程中的上下文Context是指什么? 在编程和软件工程领域,“上下文”(Context)是一个多义词,其含义可以…

1.Python学习笔记

一、环境配置 1.Python解释器 把程序员用编程语言编写的程序,翻译成计算机可以执行的机器语言 安装: 双击Python3.7.0-选择自定义安装【Customize installation】-勾选配置环境变量 如果没有勾选配置环境变量,输入python就会提示找不到命令…

Idea新增Module报错:sdk ‘1.8‘ type ‘JavaSDK‘ is not registered in ProjectJdkTable

文章目录 一,创建Module报错二,原因分析三,解决方案1,点击上图的加号,把JDK8添加进来即可2,点击左侧[Project],直接设置SDK为JDK8 四,配置检查与验证 一,创建Module报错 …

创维汽车开展年中总结会:创新创造·勇开拓 智慧经营·攀高峰

2024年7月3日,回顾上半年的工作成果,总结经验教训,明确下半年的发展方向和重点任务,创维汽车于山西省晋中市榆次区山西联合创维体验中心开展年中总结会。 创维集团、创维汽车创始人黄宏生;开沃集团联合创始人、首席执…

分析一下多方联合计算中的数据泄露场景

假设某一天,某地社保局接到了教育局的求助, 希望提供社保表,和教育局自身的毕业生信息表 进行联合分析, 以得到2024年各学校的毕业生实力。 这时候社保局犯了难,两会会议里刚提过隐私保护相关的议题: 隐私…

2024.7.6 刷题总结

2024.7.6 **每日一题** 3101.交替子数组计数,这道题刚开始看到时想用双循环遍历数组以及位运算来判断是否为交替子数组,但是数据范围不允许,所以只能考虑一个循环,先考虑数学推导看看规律。经过数学分析发现,只需要枚…

【C++干货基地】C++模板深度解析:进阶技巧与高级特性掌握(按需实例化、全特化与偏特化)文末送书

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 引入 哈喽各位铁汁们好啊,我是博主鸽芷咕《C干货基地》是由我的襄阳家乡零食基地有感而发,不知道各位的…

动态路由--RIP配置(思科cisco)

一、简介 RIP协议(Routing Information Protocol,路由信息协议)是一种基于距离矢量的动态路由选择协议。 在RIP协议中,如果路由器A和网络B直接相连,那么路由器A到网络B的距离被定义为1跳。若从路由器A出发到达网络B需要…

Vben:表格的表头和表格的内容对不齐,以及解决方法

文章目录 一、问题描述二、解决方法 一、问题描述 基于Vue-Vbne-admin框架进行前端开发的时候,调用表格useTable函数实现表格之后,发现表格的表头和表格的内容对不齐。如下图所示。针对这种情况,本文记录了解决方法。 调用的模块如下&#x…

带你一步步搭建Web自动化测试框架

测试框架的设计有两种思路,一种是自底向上,从脚本逐步演变完善成框架,这种适合新手了解框架的演变过程。另一种则是自顶向下,直接设计框架结构和选取各种问题的解决方案,这种适合有较多框架事件经验的人。本章和下一张…

优化LabVIEW代码以提高软件性能

优化LabVIEW代码对于提高软件性能、减少执行时间和资源消耗至关重要。以下是一些具体的策略和方法,可以帮助LabVIEW程序员优化代码: 1. 代码结构和模块化 使用子VI:将重复使用的代码段封装成子VI,提高代码的可读性和可维护性。 避…

使用Vue CLI方式创建Vue3.0应用程序

Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统。新版本的 Vue CLI 的包名由原来的 vue-cli 改成了 vue/cli。 在开发大型项目时,需要考虑项目的组织结构、项目构建和部署等问题。如果手动完成这些配置工作,工作效率会非常低。为此,Vue.…

第8篇 智能合约的商业应用场景解析

一、引言 在区块链技术的众多应用中,智能合约无疑是其中的一颗璀璨明珠。它通过自动化、去中心化和不可篡改的特性,为商业世界带来了革命性的变革。今天,我们将一同探索智能合约在十个不同行业中的实际应用,感受其独特的魅力。 二、智能合约的商业应用案例 供应链管理:…

刷题之买股票的最佳时机(leetcode)

买股票的最佳时机 动态规划入门题。 最简单的模拟式解法&#xff1a; class Solution { public:int maxProfit(vector<int>& prices) {//也可以换一种思路&#xff0c;因为只交易一次&#xff0c;那么找出股票最便宜的时候买入&#xff0c;最贵的时候卖出&#xff…

c与c++的内存管理

给出内存四个分区名字&#xff1a;栈区、堆区、全局区&#xff08;俗话也叫静态变量区&#xff09;、代码区&#xff08;也叫代码段&#xff09;&#xff08;代码段又分很多种&#xff0c;比如常量区&#xff09; 当然也会看到别的定义如&#xff1a; 两者都正确&#xff0c;记…

职升网:中级统计师是否属于中级职称?

中级统计师确实属于中级职称。 在统计专业人员的职称体系中&#xff0c;中级统计师占据了重要的位置&#xff0c;它属于中级职称范畴。这个职称体系包括初级、中级、高级和正高级四个层次&#xff0c;每个层次都对应着不同的专业技术岗位等级。初级职称只设助理级&#xff0c;…

【大数据】—FIFA世界杯探索性分析(EDA)

引言 足球&#xff0c;作为全球最受欢迎的运动之一&#xff0c;拥有庞大的粉丝群体和深远的文化影响。自1930年首届FIFA世界杯举办以来&#xff0c;这项赛事已经成为全球体育盛事&#xff0c;吸引了数十亿观众的目光。世界杯不仅是各国足球技艺的较量&#xff0c;更是国家荣誉…