iptables -A 输入 -s 172.34.5.8 -j 删除

iptables -A 输入 -s 172.34.5.8 -j 删除

使用日志监控工具,我注意到一个 IP 尝试以 root 身份登录 100-200 次但失败了(PAM 的日志捕获了该情况),这些 IP 略有不同,但都源自一个域,该域是某个地方的专用服务器主机,我不在乎是否阻止访问,也不会有任何损失。

(编辑:或者如果检查期间未完成 DNS 解析,则可能是 IP 范围。我也不知道该怎么做。)

我已将 IP 添加到 iptables 中,如何阻止整个主机 (foobar.com) 访问我的 VPS 上的任何服务(包括 SSH)?我正在使用 Ubuntu 10.04LTS 服务器。

答案1

iptables 不会、也不应该使用 DNS,但您可以使用单个语句阻止某个地址范围,前提是该范围是一个完整的网络块,例如:

iptables -A INPUT -s 172.16.3.64/26 -j DROP

将(假设您在 INPUT 链中之前没有冲突的 ACCEPT)丢弃来自源的所有数据包172.16.3.64- 172.16.3.127

如果你不熟悉网络块和 CIDR 的斜线符号,可以找到一个很好的指南http://en.wikipedia.org/wiki/IPv4_subnetting_reference

答案2

如果你只需要阻止 ssh 会话,这是一个非常有用的脚本 -http://denyhosts.sourceforge.net/

答案3

用于阻止源 IP 地址............ ):

iptables -A 输入 -s 172.34.5.8 -j 删除

RedHat INIT 脚本非常相似。您可以使用它来启动和停止 iptables,以及保存规则集。

要保存活动规则,请执行以下操作:

/etc/init.d/iptables 保存

这会将您的规则保存到“/etc/sysconfig/iptables”。

当你启动 iptables 时,规则从 '/etc/sysconfig/iptables' 中读取:

/etc/init.d/iptables 启动

启动 iptables [确定]

当你停止 iptables 时,所有规则都将被刷新:

/etc/init.d/iptables 停止

停止 iptables [确定]

相关内容