iptables详解

  1.简介

  iptables是基于软件的形式实现的一种防火墙程序

  Firewall:工作在主机或网络边缘,对进出的报文俺实现定义的规则进行处理的一组硬件或软件的组合,设置可能是两者的组合

  主机防火墙:工作在主机边缘,只能对一台主机起到保护的作用

  网络防火墙:工作于网络边缘,可以对多台主机起到保护的作用

  iptables/netfilter:基于网络层的防火墙,用于连接追踪和状态检测,其中iptales是防火墙规则的编写工具,工作在用户空间中。而netfilter则是一个网络过滤器,是一个框架,工作在内核空间中。

  2.iptables的表和链

  iptables有四表和五链,他们分别是

  四表:filter net mangle raw

  五链:PREROUTING INPUT FORWARD OUTPUT POSTROUTING

  表和链的对应关系:

  filter INPUT FORWARD OUTPUT

  nat    PREROUTING OUTPUT POSTROUTING

  mangle PREROUTING INPUT FORWARD OUTPUT POSTOUTING

  raw:

  表的优先级:raw mangle net filter

  建议:将控制强的规则放在前面,应用访问频繁的也要放在前面

  3.iptables的格式

  检查条件,处理机制

  通:白名单,默认为堵,只对能识别的进行放行

  堵:黑名单,默认为通,只对能识别的进行拦截

  4.处理机制分为:

  DROP(丢弃)

  REJECT(直接拒绝)

  ACCEPT(允许)

  SNAT(源地址转换)

  DNAT(目标地址转换)

  RETURN(由自定义的链返回主链)

  LOG(只记录日志)

  5.如何写规则,filter表可以省略不写

  创建一条自定义的空规则链

  iptables [-t table] -N chain

  清除一条自定义的空规则链

  iptables [-t table] -N chain

  修改自定义链的名称

  iptables [-t table] -E old-chain-name new-chain-name

  为链指定默认的策略,修改默认的属性

  iptables [-t table] -P chain-name target

  清空链中的规则

  iptables [-t table] -F chain-name

  插入规则:

  iptables [-t table] -I chain[rulenum] rule-specifiction

  替换指定的规则:

  iptables [-t table] -R chain rulenum rule-specifiction

  删除指定的规则:

  iptables [-t table] -D chain rulenum

  直显示指定脸上的规则添加命令:

  iptables [-t table] -S [chain [rulenum]]

  显示表中的所有规则

  iptables [-t table] -L options

  -n:数字格式显示ip和port

  -v:显示详细信息,显示的格式如下

  pkts:packets 被本规则所有匹配到的报文个数

 

发表评论

邮箱地址不会被公开。 必填项已用*标注