如何知道哪一个 iptable 是匹配的?

如何知道哪一个 iptable 是匹配的?

我是 iptables 新手,我创建了几条规则,我需要知道其中哪条阻止了我的流量,换句话说,我需要知道其中哪条匹配

答案1

为每种情况插入日志记录规则,为每个日志条目使用唯一的注释。有时这会导致大量日志记录,在这种情况下,只需在调试时启用它进行测试即可。

我的规则集中的示例:

# The location of the iptables program
#
IPTABLES=/sbin/iptables

#Setting the EXTERNAL and INTERNAL interfaces and addresses for the network
#
EXTIF="enp4s0"
INTIF="enp2s0"
EXTIP="XXX.XXX.YYY.YYYY"
INTNET="192.168.111.0/24"
INTIP="192.168.111.1/32"
UNIVERSE="0.0.0.0/0"
... [snip] ...

$IPTABLES -A INPUT -i $INTIF -p tcp -m state --state INVALID -j LOG --log-prefix "IINVALID:" --log-level info
#$IPTABLES -A INPUT -i $INTIF -p tcp -m state --state INVALID -j DROP

# A NEW TCP connection requires SYN bit set and FIN,RST,ACK reset.
$IPTABLES -A INPUT -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "NEW TCP no SYN:" --log-level info
#$IPTABLES -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
$IPTABLES -A INPUT -p tcp ! --syn -m state --state NEW -j REJECT

您还可以查看数据包计数器,观察自上次计数器重置以来每条路径被采用的次数。示例:

$ sudo iptables -v -x -n -L
[sudo] password for doug:
Chain INPUT (policy DROP 0 packets, 0 bytes)
    pkts      bytes target     prot opt in     out     source               destination
...[snip]...
    1700    68318 DROP       all  --  enp4s0 *       205.206.120.226/31   0.0.0.0/0
       0        0 DROP       all  --  enp4s0 *       212.32.255.151       0.0.0.0/0
      17      696 DROP       all  --  enp4s0 *       218.0.0.0/12         0.0.0.0/0
       4      164 DROP       all  --  enp4s0 *       218.56.0.0/13        0.0.0.0/0
      21      916 DROP       all  --  enp4s0 *       218.64.0.0/11        0.0.0.0/0
     193     9376 DROP       all  --  enp4s0 *       220.160.0.0/11       0.0.0.0/0
      18      886 DROP       all  --  enp4s0 *       221.224.0.0/12       0.0.0.0/0
      17      760 DROP       all  --  enp4s0 *       222.64.0.0/11        0.0.0.0/0
      36     1448 DROP       all  --  enp4s0 *       222.160.0.0/11       0.0.0.0/0
    1135    52212 DROP       all  --  enp4s0 *       0.0.0.0/0            0.0.0.0/0            u32 "0x6&0xff=0x1&&0x0>>0x16&0x3c@0x0>>0x18=0x8&&0x0&0xff00=0x0"
      39     1560 DROP       all  --  enp4s0 *       0.0.0.0/0            0.0.0.0/0            u32 "0x6&0xff=0x1&&0x0>>0x16&0x3c@0x0>>0x18=0xd"

相关内容