Iptables相关知识

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Iptables相关知识相关的知识,希望对你有一定的参考价值。

一、iptables简介
    Linux系统中,防火墙(Firewall)、网址转换(NAT)、数据包(package)记录、流量统计等这些功能都是由Netfilter子系统所提供的。
    而iptables是控制Netfilter的工具。
    iptables将许多复杂的规则组织成成容易控制的方式,以便管理员可以进行分组测试,或关闭、启动某组规则。
iptable能够为Unix、Linux和BSD个人工作站创建一个防火墙,也可以为一个子网创建防火墙以保护其它的系统平台。
iptable只读取数据包头,不会给信息流增加负担,也无需进行验证。

二、 iptable的链表结构

技术分享图片

1、五链:
    1) PREROUTING在数据包进入防火墙之后、路由判断之前对数据包进行修改;
    2)INPUT在数据包被路由到本地之后,但在用户空间程序看到它之前对数据包进行修改;
    3)OUTPUT用户空间程序处理数据包后,由本地发出,再次被路由之前更改数据包;
    4)FORWARD在最初的路由判断之后、最后一次更改包的源地址之前对数据包进行修改;
    5)POSTROUTING在所有路由判断之后,对数据包进行修改
注意: 链是每个数据包流需要经过的不同环节,你可以在不同的环节根据需要设置不同的过滤策略,每个链的默认策略都是Accept

技术分享图片

2、四表(table)
    1)Mangle表
        这个表主要用来mangle包,你可以使用mangle匹配来改变包的一些属性,比如 TOS(TYPE OF SERVICE),TTL (TIME TO LIVE),MARK(后续流量控制TC等)
    2)Nat表
        此表仅用于NAT,也就是转换包的源或目标地址。注意,只有流的第一个包会被这个链匹配,其后的包会自动被做相同的处理(DNAT,SNAT,MASQUERADE)
    3) Filter表
        此表用来过滤数据包,可以在任何时候匹配包并过滤它们,一般就是在这里根据包的内容对包做DROP或ACCEPT的.
    4)Raw表
        此优先级最高,设置raw时一般是为了不再让iptables做数据包的链接跟踪处理,提高性能
    注意:iptalbe中,要用 -t 参数指定要操作哪个表,如果没有 -t 参数,就默认对filter表操作.
    表是规则的集合组,每个表中的规则条目是按顺序匹配的,你可以在数据包经过的不同环节设置规则
    表的处理优先级:raw > mangle > nat > filter

以上是关于Iptables相关知识的主要内容,如果未能解决你的问题,请参考以下文章

android小知识点代码片段

Linux运维工程师面试知识点汇总

基于状态的iptables

iptables路由转发及控制

防火墙iptables详解

RHCE 第11节课 LVM和iptables