文章目录

  • 一、iptables
  • 1、iptables与Netfilter
  • 2、四表五链(重要)
  • 3、iptables语法格式



一、iptables

1、iptables与Netfilter

iptables是Linux的防火墙管理工具而已,真正实现防火墙功能的是Netfilter,我们配置了iptables规则后Netfilter通过这些规则来进行防火墙过滤等操作

Netfilter模块:

它是主要的工作模块,位于内核中,在网络中的五个位置(也就是防火墙四表五链)注册了一些函数,用来抓取数据包;把数据包的信息拿来匹配各个各个链位置在对应表中的规则:匹配之后,进行相应的处理ACCEPT、DROP等等。

两者间的关系:

2、四表五链(重要)

四表五链:

一个表----->多个链链

一个链------->多个规则

链就是位置:共有五个:进路由(PREROUTING)、进系统(INPUT)、转发(FORWARD)、出系统(OUTPUT)、出路由(POSTROUTING)

进出路由做数据转换时用到,一般用不到

**表就是存储的规则:**数据包到了该链接,会去对应表中查询设置的规则,然后决定是否放行、丢弃、转发还是修改等等操作。

iptables 多条规则合并的写法 iptables规则链_linux

1)、具体的四表

  • filter表——涉及FORWARD、INPUT、OUTPUT三条链,多用于本地和转发过程中数据过滤;
  • Nat表——涉及PREROUTING、OUTPUT、POSTROUT三条链,多用于源地址/端口转换和目标地址/端口的转换;
  • Mangle表——涉及整条链,可实现拆解报文、修改报文、重新封装,可常见于IPVS的PPC下多端口会话保持。
  • Raw表——涉及PREROUTING和OUTPUT链,决定数据包是否被状态跟踪机制处理,需关闭nat表上的连接追踪机制。

2)、具体的五链

  • INPUT——进来的数据包应用此规则链中的策略
  • OUTPUT——外出的数据包应用此规则链中的策略
  • FORWARD——转发数据包时应用此规则链路中的策略
  • PREROUTING——对数据包作路由选择前应用此链中的规则(所有的数据包进来的时候都先由这个链处理)
  • POSTROUTING——对数据包作路由选择后应用此链中的规则(所有的数据包出来的时候都先由这个链处理)

3、iptables语法格式

iptables  [-t 表名] 选项 [链名] [条件] [-j 控制类型 ]

iptables常用参数

-P

设置默认策略 iptable

-F

清空规则链

-L

查看规则链

-A

在规则链的末尾加入新规则

-I

num 在规则链的头部加入新规则

-D

num 删除某一条规则

-s

匹配来源地址 IP/MASK,加叹号“ !”表示除这个IP外

-d

匹配目标地址

-i

网卡名称 匹配从这块网卡流入的数据 入站口

-o

网卡名称 匹配从这块网卡流出的数据 出站口

-p

匹配协议,如tcp,udp,icmp

–dport num

匹配目标端口号

–sport num

匹配来源端口号