Apache2 向位置“需要 ip”添加多个 IP 地址?

Apache2 向位置“需要 ip”添加多个 IP 地址?

以下操作无效:

Apache2.conf:

<Location>
    Require ip 192.168., 175.
</Location>

如何添加多个 IP 范围?

答案1

来自的语法mod_authz_core允许在同一行添加多个范围,但它们以空格而不是逗号分隔。

Require [not] entity-name [entity-name]

访问控制解释 IP 地址可接受的格式。

Require host address
Require ip ip.address

在第一种形式中,地址是一个完全限定的域名(或部分域名);如果需要,您可以提供多个地址或域名。

在第二种形式中,IP地址是 IP 地址、部分 IP 地址、网络/网络掩码对或网络/nnn CIDR 规范。可以使用 IPv4 或 IPv6 地址。

因此您的单行选项是:

  • Require ip 192.168. 175.(部分 IP 地址)
  • Require ip 192.168.0.0/16 175.0.0.0/8(CIDR 符号)
  • Require ip 192.168.0.0/255.255.0.0 175.0.0.0/255.0.0.0(网络/网络掩码对)

如果您希望在单独的行中添加条件,则需要指定如何处理它们:如果满足以下条件,则应授予访问权限任何IP 子网匹配。混合格式也是可以的。

<RequireAny>
    Require ip 192.168.
    Require ip 175.0.0.0/8
</RequireAny>

答案2

很难 100% 地告诉你你想要什么,但你需要使用 CIDR 规范 IP 寻址。因此 IPADDRESS/MASK,例如

需要 ip 192.168.1.0/24

这将允许 192.168.1.1 - 192.168.1.254

答案3

您可以使用多条Require线。

<Location /target>
  Require ip 192.168.0.0/16
  Require ip 175.0.0.0/8
</Location>

如果其中任何一个匹配,就会被授予访问权限。

相关内容