如何过滤单个 IP 地址或一系列 IP 地址以防止他们访问我的计算机?
例子:
堵塞
31.13.76.102
阻止从
216.58.192.0
到216.58.223.255
阻止从
173.194.0.0
到173.194.255.255
阻止从
74.125.136.0
到74.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
命令ufw
(U不复杂的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