iptables五表五链


 

 

iptables语句是用来管理主机数据包的,链的作用是用来分别管理iptables规则语句的。 默认显示中间三个,并没有显示到数据流入和流出的两个链。

链的作用根据不同的规则组合起来实现特定场景的功能。

五链:

prerouting:数据包进行路由决策前应用的规则,一般用于改变数据包的目标地址,不让别人知道我找的是谁(对进入的数据包进行预处理)

input:数据包经由路由决策后,进入到本机处理时应用的规则,一般用于本机进程处理的数据包(数据包本机处理)

output:新建数据包经路由决策后,从本机输出时应用的规则,一般用于本机处理后的数据包(数据包本机发出)

forward:数据包经由路由决策后,本机不做处理,仅仅是转发数据包时应用的规则(数据包本机转发)

postrouting:数据包从本机出去前,对数据包应用的规则,一般用于更改数据包的源地址信息,不让给别人知道我是谁(对输出的数据包进行预处理)

常见的场景:

本机处理数据包:prerouting->input

本机转发数据包:prerouting->forward->postrouting

本机相应数据包:output->postrouting

1)192.168.8.14这台

 

 然后再15这台主机上ping 192.168.8.15 发现ping不同 ok

2)14这台主机上接着增加规则。

规则相同,一个拒绝,一个接受。按照优先级的原则,拒绝生效。

3) byets数据包。在15机器上ping 192.168.8.14,就会发现bytes数据包增多。链中的规则多个,按照从上到下的顺序匹配

 

 4)-N 增加自定义链   

      -X 删除自定义链

      -E old-chain new-chain 更改自定义链。标准的链名无法更改。

 

 

 

 

 

 五表

security表:主要针对的是数据链路层的管理规则组合,只不过它是基于target目标来操作的。

filter表:是netfilter中最重要的表,也是默认的表,主要负责数据包的过滤功能

nat表:主要实现网络地址转换的表。可以自由转换数据报文中的ip和port

mangle表:主要实现数据包的拆分-修改-封装动作

raw表:通过关闭nat表的追踪功能,从而实现加速防火墙过滤的表

(连接追踪:就是记录用户的操作,下次再来加速访问,体验好。但是大用量的情况下,花费大量资源来记录历史记录,导致其他用户在等待,导致防火墙的性能非常差)

#iptables -t 表名 -L

 

 #iptables -t nat/managle/raw/security -nvL

==>在不同表中,已经定义好了各自的链组合,mangle表包含的链最多,raw表包含的链最少。

 

 

 表链关系

表中存放的不同的链,联众存在不同数据包规则

 

 netfilter为了更高质量的进行表之间的规则运行,已经定制好了这些表的优先级,从高到低:security > raw > mangle > nat >filter 

 

 链中的优先级 是从上到下

 

 规则编写:

必须遵循的原则:限定方向、再定先后

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM