iptables:网络地址源是否包含本地主机?

iptables:网络地址源是否包含本地主机?

第三行上的网络地址是否包含localhost(也是192.168.1.31)?(有没有关于此行为的参考?我找不到——这就是我来这里的原因。)

也许是因为本地机器在那个网络上?

如果确实如此,那么我是否需要前两行中的一行或两行才能将 localhost 排除在阻止之外?(如果没有,那么我不需要前两行,对吗?)

是哪一个?

iptables -A OUTPUT -s localhost -j ACCEPT
iptables -A OUTPUT -s 192.168.1.31 -j ACCEPT
iptables -A OUTPUT -s 192.168.1.0/24 -o enp0s6f1u2 -j DROP

enp0s6f1u2是一种故障转移互联网连接(通过 USB 网络共享到带有有限数据的 SIM 卡的 Android 手机)。当使用它时,我需要在本地机器上运行需要继续运行的服务才能使用它,但我想阻止网络上的其他机器浪费数据限额。)

答案1

iptables 系统设计用于处理 IP 地址,而不是主机名。您可以使用主机名作为参数,但它们将在输入命令时解析为 IP。

如果您的本地主机是,192.168.1.31则没有理由拥有该localhost线路。

在这种情况下,要排除 localhost,您需要删除两行。

在您的情况下,Localhost 相当于 127.0.0.1 和 192.168.1.31。

由于 192.168.1.31 是 192.168.1.0/24 的一部分,如果您想要对其应用不同的内容,则必须为其专门制定不同的规则。

相关内容