仅允许特定 IP 范围访问的最简单/最佳方法

仅允许特定 IP 范围访问的最简单/最佳方法

我正在寻找最简单/最好的方法,以便仅让某些 IP 范围访问我的 Ubuntu 20.04 安装。我主要想这样做,这样我就可以阻止网络流量(apache),但完整的服务器阻止是最好的。

我知道硬件选项最适合这种情况,但我买不起。我还意识到“最简单”和“最好”并不总是相辅相成的。

此外,IP 范围越多是否会降低服务器速度?

任何帮助,将不胜感激。

答案1

在大多数 Linux 安装中,您可以轻松过滤除所需 IP 流量之外的所有 IP 流量。请记住,执行此操作时,您可能会失去对服务器的访问权限。

这是一个可能有用的小型基地。

# Allow some related traffic
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Allow single source ip
iptables -A INPUT -s x.x.x.x/net -j ACCEPT
# Drop everything else
iptables -P INPUT DROP

在运行激活所有内容的最后一行之前,您可以使用iptables -vnL它来显示规则匹配时的计数器,确保它确实匹配。

执行 ip 过滤确实会占用 CPU 周期,但应答任何数据包也会占用 CPU 周期。除非您在高吞吐量上执行复杂规则,否则这几乎从来都不是问题。这不是复杂规则。

相关内容