《Linuxiptables:规则原理和基础》介绍了iptables的四表五链,简单说就是不同的网络层数据包会经过哪几个挂载点,在每个挂载点可以在哪张表进行规则定义。
本篇沿着这个思路,更具体的介绍一条iptables规则的组成。
Linuxiptables:规则组成
这是iptables一条规则的基本组成,也是iptables定义规则的命令格式:
第一列是iptables命令;
第二列指定规则所在的表,常用的是nat和filter表;
第三列是命令,常用命令如下:
-A在指定链的末尾添加(append)一条新的规则
-D删除(delete)指定链中的某一条规则,可以按规则序号和内容删除
-I在指定链中插入(insert)一条新的规则,默认在第一行添加
-R修改、替换(replace)指定链中的某一条规则,可以按规则序号和内容替换
-L列出(list)指定链中所有的规则进行查看
-F清空(flush)规则
-P设置指定链的默认策略(policy)
-n使用数字形式(numeric)显示输出
第四列是指定规则作用的挂载点;
第五列是选项,常用选项如下:
-p指定协议
-s源地址
-d目的地址
--sport源端口号
--dport目的端口号
--dports目的端口号列表
-m补充
第六列是规则,常用规则如下:
ACCEPT允许数据包通过
DROP直接丢弃数据包,不给任何回应信息
REJECT拒绝数据包通过,必要时会给数据发送端一个响应的信息
SNAT对数据包源地址改写
DNAT对数据包目的地址改写
LOG记录数据包
以上基本上对iptables定义规则时的命令及参数进行了介绍,在定义规则时可以作为参考。