大多数关注点都是关于 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 数据包。因此,计算机根本不会处理该数据包。