具有特定目标 IP 的 INPUT 的 iptable 规则未被阻止,并且 iptable 根本不知道有任何此类数据包

具有特定目标 IP 的 INPUT 的 iptable 规则未被阻止,并且 iptable 根本不知道有任何此类数据包

大多数关注点都是关于 INPUT 链中的 SRC ip。

但是对于以下情况:

如果有人发送了错误的源 IP 或错误的目标端口,则执行以下操作:

主机其中一个接口的 IP 是 192.168.1.11

iptables -A INPUT -s 192.168.1.1 -d 192.168.1.11 -dport 1000 -j ACCEPT
iptables -A INPUT -j NFLOG --nflog-group 30
iptables -A INPUT -j DROP

下面不起作用如果有人发送了错误的源 IP 或错误的目标端口:

主机上任何接口都没有 IP - 192.168.1.11

iptables -A INPUT -s 192.168.1.1 -d 192.168.1.11 -dport 1000 -j ACCEPT
iptables -A INPUT -j NFLOG --nflog-group 30
iptables -A INPUT -j DROP

这给人的印象是:

  • 在主机中取消注册 IP(没有具有特定 IP 的 iface),使得 iptable 根本不考虑该规则或者
  • iptable 根本不会接收这个传入的数据包并且它会在它之前被丢弃。

iptables 位于 IP 路由之后的后期。

有人能告诉我 iptable 是如何工作的吗?

另外,如果你想要登录 NFLOG 来记录进入系统的任何描述错误目标 IP 的传入消息,那么如何克服它呢?

我曾尝试过 -t mangle、-t nat、-A preroute 以及字符串检查。

我是否需要使用较低级别的检查,例如 ebtable、NetFilter 等?

答案1

主机上任何接口都没有 IP - 192.168.1.11

这给人的印象是:--在主机中取消注册 IP(没有具有特定 IP 的 iface),使得 iptable 根本不考虑该规则

退一步,忽略 iptables,想想计算机为什么会接受并处理数据包?如果你完全禁用所有防火墙规则,会发生什么?

如果计算机没有与给定接口关联的 IP,并且您没有做任何异常操作,那么它甚至不会使用 mac 地址回复 ARP 数据包。因此,计算机根本不会处理该数据包。

相关内容