删除 EC2 上 iptables 中非单一来源的特定 IP 的所有连接

删除 EC2 上 iptables 中非单一来源的特定 IP 的所有连接

我正在使用 amazon EC2,并希望为我的场景设置一些防火墙规则。EC2 很奇怪 - 如果您不熟悉 EC2 - amazon 提供可解析为私有 IP 地址的弹性 IP 地址 - 不存在真正的公共 IP。我有两个连接到单个以太网接口 (eth0) 的私有 IP 地址,以及两个解析为私有 IP 的相应弹性 IP,以允许公共访问该机器。

对于第二个私有 IP,我只想接受来自特定源(我的 IP 地址)的数据包。

我无法使用多个以太网接口来解决这个问题,因为我只能从 EC2 上的同一个接口(eth0)模拟多个公共 IP 地址。

我已经制定了标准规则,允许从任何来源建立到常用公共端口的所有连接。

-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 587 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 110 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 995 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 143 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 993 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 9001 -j ACCEPT

我如何在链中进一步添加规则,以便进一步检查每个请求的目的地,如果源(-s)不是我指定的 IP 地址,则简单地丢弃该请求?

我基本上想使用第二个 IP 地址以及 iptables 和 apache2 来仅在我使用家庭网络时向我提供某些页面。

谢谢!

答案1

在顶部添加 iptable 规则以允许自己访问: INPUT -s home_ip_address -j ACCEPT

在最后添加规则以阻止对第二个私有 IP 的所有访问: INPUT -d 2nd_private_ip -j DROP

相关内容