Apache 2.4:仅允许访问 ip 地址范围的目录

Sim*_*gro 2 mod-auth mod-authz-host apache-2.2 apache-2.4

我希望/htdocs/reserved/仅允许从 192.168.1.193 到 192.168.1.254 (.193 --> .254) 的 IP 地址访问目录。

我已经在以下代码中编写了此代码httpd.conf

<Directory /htdocs/reserved/>
    Order Deny, Allow
    Deny from all
    Allow from 192.168.1.193/254
</Directory>
Run Code Online (Sandbox Code Playgroud)

停止后,Apache 不会重新启动并引发此异常:

名为 Apache 的服务报如下错误:指定的网络掩码无效。

问题似乎是面具192.168.1.193/254

我也试过:

<Directory /htdocs/reserved/>
    Order Deny, Allow
    Deny from all
    Allow from 192.168.1.193 192.168.1.254
</Directory>
Run Code Online (Sandbox Code Playgroud)

有用!apache 启动,但我不确定是否允许范围内的所有 IP 地址访问目录,或者只允许 192.168.1.193 和 192.168.1.254。

官方文档缺乏明确的信息(或者我太愚蠢而无法理解)。

问题是:允许 IP 地址范围在目录中访问的正确方法是什么?

旁注:我只使用了私人范围作为例子。

非常感谢并为我的英语感到抱歉。

小智 7

你的网络掩码是错误的。在一行中最接近的是 192.168.1.192/26。请注意,包括以 192 结尾的地址,而不是以 193 开头的地址。否则,根据https://ip2cidr.com/,您需要

192.168.1.193/32
192.168.1.194/31
192.168.1.196/30
192.168.1.200/29
192.168.1.208/28
192.168.1.224/28
192.168.1.240/29
192.168.1.248/30
192.168.1.252/31
192.168.1.254/32
Run Code Online (Sandbox Code Playgroud)

  • https://ip2cidr.com/ 正是我要找的,谢谢! (2认同)