2.4>、数据包控制
在上面通过一些iptables规则的实例,已经接触到了如ACCEPT、DROP、REJECT等数据包控制方式。iptables对满足”条件匹配“指定条件的数据包,最常采用的处理方式如下。 >>>>>、ACCEPT 允许数据包通过。
>>>>>、DROP 直接丢弃数据包,不给出任何回应信息。
>>>>>、REJECT 拒绝数据包通过,必须时会给数据发送端一个响应信息。
>>>>>、LOG 在/var/log/messages 文件中记录日志信息,然后将数据包传递给下一条规则。通过情况下,只要在规则链中找到一条相匹配的规则,则不再继续检查该链内后面的规则;但使用LOG处理方式的规则是一个特例,因为LOG只是一个辅助动作,并没有真正的处理数据包。
eg: 对于尝试通过SSH方式登录防火墙主机的访问数据,记录日志信息并禁止其访问。 1 [root@node1
桌面]# iptables -I INPUT -p tcp --dport
2 [root@node1 桌面]# iptables -I INPUT -p tcp --dport 22 -j DROP 22 -j LOG 这个时候当我在ssh的时候,会发现如下截图的情况:
tail -f /var/log/messages 查看本机log发现
为了避免日志记录过于频繁,通过结合LIMIT显式匹配(-m limit)对日志写入频繁进行限制。例如以下规则,用于将记录日志的频率限制为平均三次/分钟,允许的峰值为八次。 1 [root@node1 ~]# iptables -R INPUT 1 -p tcp --dport 22 -m limit --limit 3/minute --limit-burst 8-j LOG
>>>、 用户自定义链 将数据包传递给用户自定义的链(内的规则)进行处理。
eg:自定义一个新的链MY1,转发自/至192.168.1.0/24网段的数据包均交给该链中的规则处理。
1 [root@node1 ~]# iptables -t filter -N MY1