如何过滤IP地址范围?

如何过滤IP地址范围?

如何过滤单个 IP 地址或一系列 IP 地址以防止他们访问我的计算机?

例子:

  1. 堵塞31.13.76.102

  2. 阻止从216.58.192.0216.58.223.255

  3. 阻止从173.194.0.0173.194.255.255

  4. 阻止从74.125.136.074.125.136.255

我想在没有附加条件的情况下阻止他们访问我的计算机。

我知道可以iptables在这种情况下使用,但我不知道确切的语法、如何使更改永久生效,以及运行哪个命令才能iptables在启动时启动服务。我也不想犯下可能会导致我无法访问互联网的错误。

答案1

虽然您可以使用/etc/hosts.deny,但hosts.deny 仅适用于 TCP 包装的应用程序,例如 ssh 或 xinetd。我建议使用它,iptables因为它是您系统的真正防火墙。只需使用这样的东西:

iptables -I INPUT -s 31.13.76.102 -j DROP
iptables -I INPUT -m iprange --src-range 216.58.192.0-216.58.223.255 -j DROP
iptables -I INPUT -m iprange --src-range 173.194.0.0-173.194.255.255 -j DROP
iptables -I INPUT -m iprange --src-range 74.125.136.0-74.125.136.255 -j DROP
iptables-save > /etc/sysconfig/iptables

iprange对于这种情况来说,这是一个非常酷的模块。

答案2

只需将以下内容添加到/etc/hosts.deny

ALL: 31.13.76.102
ALL: 216.58.192.0/19
ALL: 173.194.0.0/16
ALL: 74.125.136.0/24

答案3

命令ufwU不复杂的F愤怒全部,iptables 的简化前端,最初适用于 Ubuntu,现在也可用于 Debian 和其他发行版)接受CIDR范围规格, 例如:

ufw insert 1 deny from 31.13.76.102 # single address
ufw insert 1 deny from 216.58.192.0/18 # range

相关内容