ad

《零基础Linux 从入门到精通》_从零开始_轻松掌握Linux操作系统_21.3 iptables

admin 140 2023-10-25

【摘要】 本书摘自《零基础Linux 从入门到精通》一书中第21章,第3节,编者是零壹快学

21.3 iptables

iptables是比较经典的防火墙管理配置软件,基于Linux内核控制的Netfilter模块,其本身没有拦 截功能,其根本作用其实是维护Netfilter模块的规则。iptables通过Netfilter的接口对存放在内核内存 中的Netfilter配置表进行修改。目前iptables广泛应用于各类企业的生产环境,通过iptables可以更好 地提升系统的安全性。

《零基础Linux 从入门到精通》_从零开始_轻松掌握Linux操作系统_21.3   iptables

21.3.1 规则与规则链

防火墙的规则很容易理解,iptables利用Netfilter过滤机制,根据数据包的内容与自己定义的 规则进行匹配。如果有多条规则,则构成一条规则链。防火墙按照自上而下的顺序读取规则进 行解析, 如果数据包的特征符合规则的定义, 则结束匹配并执行定义好的动作,也就是拦截或者

放行。

举一个简单的例子,我们定义了三条规则:

1. 放行数据包源IP为192.168.1.2的流量。

2. 拒绝所有数据包。

3. 放行数据包源IP为192.168.1.3的流量。

那么根据从上而下的匹配规则,如果数据包的源IP是192.168.1.2,符合第一条规则设定的特 征,执行放行动作,数据包顺利抵达主机;如果数据包的源IP是192.168.1.3,从上而下进行匹配, 第二条规则可以命中所有数据包的特性, 因此执行拦截动作, 不会再执行第三条规则。所以对于

这三条规则的设定顺序而言,第三条规则等于没有生效,因为规则是从上到下进行匹配的。

从实际应用出发,我们根据需求来定义我们想要的规则。例如,我们管理的主机开放了22端

口,只允许IP为192.168.1.2和192.168.1.3的主机进行访问,对于别的数据流量一律丢弃。那么可以

基 础 Linux 从入门到精通

怎么样定义规则呢?读者可以先思考一下。

针对这样的需求,我们可以定义如下的规则:

1. 放行所有22端口的流量。

2. 放行数据包源IP为192.168.1.2的流量。

3. 放行数据包源IP为192.168.1.3的流量。

4. 拦截所有流量。

多条规则组合起来构成了规则链,依据防火墙规则的介入时间,iptables共有五种默认的规则 链,如下所示:

◇ INPUT:用于处理流入主机的数据包,也就是从外界进入本机的数据流量,也称入站。

◇ OUTPUT:用于处理流出主机的数据包,也就是从本机去往外界的数据流量,也称出站。

◇ FORWARD:用于处理经过防火墙转发的数据包,也就是经过本机后转发给其他地址的 流量。

◇ PREROUTING:用于处理进行路由选择前的数据包。

◇ POSTROUTING:用于处理进行路由选择后的数据包。

一般情况下,应用最多的为INPUT规则链,也就是严格控制进入主机的流量。当然,如果主机

被入侵后,通过开放主机的端口进行数据传输,也需要控制主机流出的流量。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:打开《Java语言程序设计与应用》_从基础向熟练进发_3.6.3 插入排序
下一篇:《给所有人的Python》_第四版_也是给你的一本知识宝典_3.5.2 使用了break 语句和 continue 语句的循环控制
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×