Как я требую диапазона IP вместо 1 IP?

Мои изменения IP делают другой класс D, таким образом, я хочу установить диапазон:

123.123.123.xxx, где последний сегмент может быть 0-255.

Прямо сейчас Apache говорит:

<RequireAny>
   Require ip 127.0.0.1
   Require ip ::1
</RequireAny>
19
задан 15 May 2017 в 12:13
5 ответов

Во-первых, я предполагаю, что вы имеете в виду Apache 2.4, несмотря на тег «apache-2.2», поскольку синтаксис, который вы опубликовали, относится к версии 2.4.

Из документации Apache:

ip.address - это IP-адрес, частичный IP-адрес, пара сеть / маска сети или network / nnn Спецификация CIDR.

Я предполагаю, что вы имеете в виду, что хотите разрешить / 24, поскольку класс D - это многоадресные адреса, а классовые сети умерли в 90-х. Чтобы разрешить / 24, вы можете использовать любое из следующего:

Require ip 123.123.123
Require ip 123.123.123.0/255.255.255.0
Require ip 123.123.123.0/24

Лично я считаю, что последнее менее двусмысленно, чем первое, и его легче читать, чем второе.

Вы можете найти этот раздел документации полезно: http://httpd.apache.org/docs/2.4/howto/access.html#host

22
ответ дан 28 November 2019 в 20:33

Отмечая, что теперь вы подтвердили использование Apache 2.2 , Apache 2.2 не поддерживает ни Require ip , ни . Как отмечено в Обзоре новых функций в Apache HTTP Server 2.4 , «Расширенная логика авторизации теперь может быть указана с помощью директивы Require и связанных директив контейнера, таких как < RequireAll> . " Первые входят в число улучшений, добавленных в Apache 2.4.

Чтобы решить эту проблему в Apache 2.2, вам, вероятно, потребуется сделать что-то вроде:

Order allow,deny
Allow from 123.123.123    

, что позволит указать весь диапазон.

1
ответ дан 28 November 2019 в 20:33

അപ്പാച്ചിയുടെ ആവശ്യമാണ് ഒരു ഉപയോക്താവിന് ഒരു ഉറവിടത്തിലേക്ക് പ്രവേശനം അനുവദിക്കുകയോ നിരസിക്കുകയോ ചെയ്യുന്നുവെന്ന് ഉറപ്പാക്കുന്നതിന് അംഗീകാര ഘട്ടത്തിൽ നിർദ്ദേശം ഉപയോഗിക്കുന്നു. mod_authz_host, ip, host, forward-dns, local എന്നിവ ഉപയോഗിച്ച് അംഗീകാര തരങ്ങൾ വിപുലീകരിക്കുന്നു. മറ്റ് അംഗീകാര തരങ്ങളും ഉപയോഗിക്കാം, പക്ഷേ അധിക അംഗീകാര മൊഡ്യൂളുകൾ ലോഡുചെയ്യേണ്ടതുണ്ട്.

സെർവറിന്റെ ഒരു പ്രദേശം ആക്സസ് ചെയ്യാൻ കഴിയുന്ന ഹോസ്റ്റുകൾക്ക് ഈ അംഗീകാര ദാതാക്കളെ ബാധിക്കുന്നു. ഹോസ്റ്റ്നാമം, ഐപി വിലാസം അല്ലെങ്കിൽ ഐപി വിലാസ ശ്രേണി ഉപയോഗിച്ച് ആക്സസ് നിയന്ത്രിക്കാൻ കഴിയും.

v2.4.8 മുതൽ, എക്സ്പ്രഷനുകൾ ഹോസ്റ്റിനുള്ളിൽ പിന്തുണയ്ക്കുന്നു. ഐപി ആവശ്യമാണ്

വിദൂര ക്ലയന്റിന്റെ ഐപി വിലാസത്തെ അടിസ്ഥാനമാക്കി സെർവറിലേക്കുള്ള ആക്സസ് നിയന്ത്രിക്കാൻ ഐപി ദാതാവ് അനുവദിക്കുന്നു. ഐപി ഐപി-വിലാസം ആവശ്യമായി വരുമ്പോൾ, ഐപി വിലാസം പൊരുത്തപ്പെടുന്നെങ്കിൽ അഭ്യർത്ഥന ആക്സസ് അനുവദിക്കും.

ഒരു പൂർണ്ണ ഐപി വിലാസം:

Require ip 10.1.2.3
Require ip 192.168.1.104 192.168.1.205

ഒരു ഹോസ്റ്റിന്റെ ഐപി വിലാസം അനുവദനീയമായ ആക്സസ്

ഒരു ഭാഗിക ഐപി വിലാസം:

Require ip 10.1
Require ip 10 172.20 192.168.2

സബ്നെറ്റ് നിയന്ത്രണത്തിനായി ഒരു ഐപി വിലാസത്തിന്റെ ആദ്യ 1 മുതൽ 3 ബൈറ്റുകൾ വരെ.

ഒരു നെറ്റ്‌വർക്ക് / നെറ്റ്മാസ്ക് ജോഡി:

Require ip 10.1.0.0/255.255.0.0

ഒരു നെറ്റ്‌വർക്ക് എബിസിഡി, നെറ്റ്മാസ്ക് wxyz കൂടുതൽ സൂക്ഷ്മമായ സബ്നെറ്റ് നിയന്ത്രണത്തിനായി.

ഒരു നെറ്റ്‌വർക്ക് / എൻ‌എൻ‌എൻ‌ഐ സി‌ഡി‌ആർ സവിശേഷത:

Require ip 10.1.0.0/16

മുമ്പത്തെ കേസിന് സമാനമായി, നെറ്റ്മാസ്ക് ഒഴികെ എൻ‌എൻ‌എൻ ഹൈ-ഓർഡർ 1 ബിറ്റുകൾ അടങ്ങിയിരിക്കുന്നു.

മുകളിലുള്ള അവസാന മൂന്ന് ഉദാഹരണങ്ങൾ പൊരുത്തപ്പെടുന്നു

IPv6 വിലാസങ്ങളും IPv6 സബ്നെറ്റുകളും ചുവടെ കാണിച്ചിരിക്കുന്നതുപോലെ വ്യക്തമാക്കാം:

Require ip 2001:db8::a00:20ff:fea7:ccea
Require ip 2001:db8:1:1::a
Require ip 2001:db8:2:1::/64
Require ip 2001:db8:3::/48

കുറിപ്പ്: സ്റ്റാർട്ടപ്പിൽ IP വിലാസങ്ങൾ പാഴ്‌സുചെയ്യുന്നതിനാൽ, എക്‌സ്‌പ്രഷനുകൾ അഭ്യർത്ഥന സമയത്ത് വിലയിരുത്തപ്പെടുന്നില്ല.

ഉറവിടം: https://httpd.apache.org/docs/trunk/mod/mod_authz_host.html

0
ответ дан 28 November 2019 в 20:33

В Apache 2.2 и ниже вы можете работать с:

Order deny,allow
Deny from all
Allow from 24.18    # allow access from home
Allow from 162.12   # allow access from work

в вашем .htacess, непосредственно на базовом уровне (не в пределах любого <директивного>).

Начиная с Apache 2.4 и выше, вот:

<RequireAny>
    #IPv4 range at my work
    Require ip 207.100
    #IPv4 range I usually get through my mobile provider
    Require ip 29.11
    #IPv6 from home
    Require ip 2a02:4126:2aa4::/48  
</RequireAny>

(все числа вымышленные, не беспокойтесь ;-).

Я использую это уже много лет, чтобы защитить свои папки бэкэнда от 99% потенциальных пользователей. (Работает очень хорошо, если только вы не заядлый блоггер во время путешествий. Если вы являетесь пользователем gmail: "последняя активность учетной записи" Ссылка в самом низу - это удобный способ выяснить свои собственные "IP-привычки")

.
14
ответ дан 28 November 2019 в 20:33

Примечание: я оставляю это здесь, так как это может быть полезно другим; это не прямой ответ на вопрос.

Например:

Требовать ip 192.168.100.0/22 ​​

работает, а

Требовать ip 192.168.100.0/22 ​​#localnetwork

терпит неудачу!

Перезапуск выходов httpd:

Задание для httpd.service завершилось неудачно, поскольку процесс управления завершился с кодом ошибки. См. "Systemctl status httpd.service" и "journalctl -xe" для подробностей.

Итак, похоже, что никакие комментарии к этой строке не разрешены .

0
ответ дан 28 November 2019 в 20:33

Теги

Похожие вопросы