Назад | Перейти на главную страницу

Apache2 добавляет несколько IP-адресов в Location «требуется IP»?

Следующее не работает:

apache2.conf:

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

Как я могу добавить несколько диапазонов IP-адресов?

Трудно сказать на 100%, что вам нужно, но вам нужно использовать IP-адресацию CIDR. Итак, IPADDRESS / MASK, например

Требуется ip 192.168.1.0/24

Это позволит 192.168.1.1 - 192.168.1.254

Вы можете использовать несколько Require линий.

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

Если какие-либо из них совпадают, доступ будет предоставлен.

Синтаксис из mod_authz_core позволяет добавлять несколько диапазонов в одну строку, но они разделяются пробелами вместо запятых.

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

В Контроль доступа объясняет принятые форматы для IP-адресов.

Require host address
Require ip ip.address

В первой форме адрес это полное доменное имя (или частичное доменное имя); при желании вы можете указать несколько адресов или доменных имен.

Во второй форме айпи адрес - это IP-адрес, частичный IP-адрес, пара сеть / маска сети или спецификация CIDR сеть / nnn. Могут использоваться адреса 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>