我有大约 4 个 IP 地址,它们不断地随机访问我网络上的一个端口,我想阻止。所以我在我的 OpenWRT 路由器中添加了这样的规则:
iptables -I INPUT -s FIRST_PUBLIC_IP -p tcp --dport 32400 -j DROP
iptables -I INPUT -s SECOND_PUBLIC_IP -p tcp --dport 32400 -j DROP
iptables -I INPUT -s THIRD_PUBLIC_IP -p tcp --dport 32400 -j DROP
iptables -I INPUT -s FOURTH_PUBLIC_IP -p tcp --dport 32400 -j DROP
Run Code Online (Sandbox Code Playgroud)
然后我也有这个规则,只要该端口上有连接就会写入日志
iptables -I FORWARD -p tcp --dport 32400 -m limit --limit 1/min -j LOG --log-prefix "PLEX Connection "
Run Code Online (Sandbox Code Playgroud)
所以我认为会发生的是,如果列出的 4 个 IP 地址中的 1 个尝试连接到该端口,它们只会被丢弃并且永远不会进入前向链。其他一切都会触发该日志记录规则。
但是,这些 IP 地址仍通过 FORWARD 规则记录。它们现在已上线,并在重新启动时使它们永久化。我忽略了什么?
浏览 FORWARD 表的数据包不会命中 INPUT 表。因此,如果您的数据包实际上正在击中 FORWARD 表,则它们可能被 natted 或类似的东西 - 这没关系,但这意味着您不能使用 INPUT 规则来影响它们。
维基百科的 Netfilter 条目中有一个很棒的参考图 - 读起来令人生畏但非常适合参考:https ://en.wikipedia.org/wiki/Netfilter#/media/File:Netfilter-packet-flow.svg 。
但我怀疑您正在对数据包进行一些修改,这就是为什么它不是很明显的原因。考虑将您的规则(尽管很笨拙)添加到 nat 中的 PreRouting 中,或者改为添加到 FORWARD 表中,然后查看行为变化。
祝你好运,如果需要,请扩展您的问题。
归档时间: |
|
查看次数: |
704 次 |
最近记录: |