《零基础Linux 从入门到精通》_从零开始_轻松掌握Linux操作系统_20.3 一次性任务:at
140
2023-10-25
【摘要】 本书摘自《零基础Linux 从入门到精通》一书中第21章,第3节,编者是零壹快学
21.3 iptables
iptables是比较经典的防火墙管理配置软件,基于Linux内核控制的Netfilter模块,其本身没有拦 截功能,其根本作用其实是维护Netfilter模块的规则。iptables通过Netfilter的接口对存放在内核内存 中的Netfilter配置表进行修改。目前iptables广泛应用于各类企业的生产环境,通过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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~