设置 apache 允许来自 1 个 IPv6 地址的流量

设置 apache 允许来自 1 个 IPv6 地址的流量

我正在尝试设置 apache 以仅允许来自特定 IP 地址的用户。这是/var/www/html目录的指令

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride None
    Options -Indexes
    <RequireAll>
       Require ip 2b00:ff2:600:8200::/64
    </RequireAll>
</Directory>

不幸的是,它也会阻止来自我的 IP 的流量。虽然我设置了一个 index.html 文件,但我看到的是默认的 apache 网站。你知道允许仅来自 1 ipv6 的流量的正确指令是什么吗?我使用的是 apache 2.4.6

答案1

虽然它没有回答您关于 Apache 的具体问题,但这通常可以通过 ip6tables 数据包过滤器来完成,以过滤到 Apache 正在运行的目标 IP 和/或端口的流量:

如果你的默认策略是放弃 iptables,你可以使用以下命令:

ip6tables -I INPUT -p tcp -m tcp --dport <port> -s 2b00:ff2:600:8200::/64 -j ACCEPT

否则,您可以将任何不是来自该 IP 的数据丢弃到该端口。

ip6tables -I INPUT -p tcp -m tcp --dport <port> -s ! 2b00:ff2:600:8200::/64 -j DROP

否则,如果您想阻止所有其他 IP,并且不在 ip6tables 规则中使用默认的丢弃策略,那么由于 ip6tables 是匹配第一个数据包过滤器,您只需在第一条规则后添加 DROP 规则:

ip6tables -I INPUT -p tcp -m tcp --dport <port> -j DROP

答案2

您是否在 EC2 实例中运行此程序?如果是这样,只需设置一个安全组以仅允许来自特定 IP 的端口 80 上的流量。

相关内容