iptables

Posted zh-dream

tags:

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

什么是iptables?

iptables是用于配置Linux 2.4.x和更高版本的数据包过滤规则集的用户空间命令行程序。iptables还可用于从数据包过滤器规则集中配置了网络地址转换。

iptables工作与主机或网络的边缘,对进出主机或网络的报文,根据事先定义好的规则进行检测,对于能被规则所匹配的报文做出相应处理。

依存关系

iptables需要一个具有ip_tables数据包过滤器的内核。这包括所有2.4.x和更高版本的内核。

iptables中的表和链

1、filter表

iptables的默认表,如果没有自定义表,默认使用filter表,它包含以下三个链:
  • INPUT – 处理来自外部的数据。
  • OUTPUT – 处理向外发送的数据
  • FORWARD – 将数据转发到本机的其他网卡设备上。

2、NAT表

NAT表有三种内建链:
  • PREROUTING – 处理刚到达本机并在路由转发前的数据包。它会转换数据包中的目标IP地址(destination ip address),通常用于DNAT(destination NAT)。
  • POSTROUTING – 处理即将离开本机的数据包。它会转换数据包中的源IP地址(source ip address),通常用于SNAT(source NAT)。
  • OUTPUT – 处理本机产生的数据包。

3、 Mangle表

Mangle表用于指定如何处理数据包,工作过程为拆解报文并做出修改,然后重新封装。它能改变TCP头中的QoS位。Mangle表具有5个内建链:
  • PREROUTING
  • OUTPUT
  • FORWARD
  • INPUT
  • POSTROUTING

4、Raw表

Raw表用于处理异常,它具有2个内建链:
  • PREROUTING
  • OUTPUT

使用iptables时的注意要点:

(1)实现的功能作用在哪张表上

(2) 经过的报文作用在哪个链上

(3)链上的规则是自上而下一次检查的,所以同一类规则(针对同一应用)匹配范围小的规则应该放在最上面,不同类规则,匹配频率高的放上面

(4)设置默认规则

数据包通过iptables的流程

技术图片

 

 

 表的优先级:

raw  --------> mangle ---------> nat ---------> filter

 

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

CentOS中iptables防火墙 开放80端口方法

Iptables 网络安全

iptables防火墙

iptables基础知识

Linux中iptables防火墙指定端口范围

iptables防火墙