Рейтинг:0

Как внести ipv6 в белый список в .htaccess, чтобы разрешить доступ к сайту

флаг ca

У меня есть онлайн-инструмент, и я хочу предоставить доступ компании. На данный момент доступ контролируется по IP через файл .htaccess. Компания, которой я хочу предоставить доступ, находится по адресу ipv6, и, хотя я перепробовал множество методов, доступ к веб-сайту по-прежнему заблокирован.

Допустим, их ipv6: 26b0:21t7:ada2:4a10:38f5:1d56:7a79:c83c

(примечание: как ни странно, когда они посещают веб-сайт, например https://whatismyipaddress.com у них также есть адрес ipv4, который я тоже занес в белый список)

Я прочитал этот пост, но на самом деле он не отвечает на вопрос:

Внесите в белый список диапазон IPv6 отдельного человека через .htaccess

и я пробовал много разных вещей, таких как:

 <RequireAny>
     Require ip 51.203.055.209     # whitelisting ipv4 works fine
     Require ip 26b0:21t7:ada2:4a10::/64  26b0:21t7:ada2::/52  26b0:21t7:ada2:4a10:38f5:1d56:7a79:c83c
     Require ip 26b0:21t7:10::/48 26b0:21t7:11::/48 26b0:21t7:12::/48 26b0:21t7:13::/48 26b0:21t7:14::/48 26b0:21t7:15::/48 26b0:21t7:16::/48 26b0:21t7:17::/48 26b0:21t7:18::/48 26b0:21t7:19::/48 26b0:21t7:1a::/48 26b0:21t7:1b::/48 26b0:21t7:1c::/48 26b0:21t7:1e::/48
 </RequireAny>

... но ни один из ipv6 не работает. Честно говоря, я не очень понимаю всю эту штуку с подсетями в ipv6, но я также не хочу тратить целую вечность на изучение тонкостей того, как это работает — мне просто нужно жесткое и быстрое правило для внесения ipv6 в белый список. адреса в .htaccess.

Был бы признателен за любую помощь.

vidarlo avatar
флаг ar
Вы уверены, что они обращаются к вам по IPv6? И 26b0:21t7 точно ***не*** действительный IPv6-адрес.
5Diraptor avatar
флаг ca
@vidarlo Извините за путаницу. Я взял их ipv6 и изменил пару символов для конфиденциальности, что бы это объяснило.
5Diraptor avatar
флаг ca
Как я уже сказал, я внес их адрес ipv4 в белый список, как они могут проверить, обращаются ли они ко мне через ipv6 или нет?
vidarlo avatar
флаг ar
Не маскируйте IP. Если вам нужно замаскировать IP, сделайте это правильно. Чтобы проверить, как они обращаются к вам, посмотрите access.logs для рассматриваемого сайта. Кроме того, вы уверены, что Apache допускает несколько IP-адресов/диапазонов, перечисленных в Require-statement?
5Diraptor avatar
флаг ca
@vidarlo - да, конечно, apache позволяет использовать несколько IP-адресов - на самом деле у меня есть 5 разных IPv4-адресов, перечисленных в первой строке, все они работают нормально, с ними никогда не было проблем. В какой-то момент я добавил неверный адрес, и это предотвратило загрузку веб-инструмента с ошибкой сервера. На данный момент у меня загружается нормально, просто нет доступа для компаний с ipv6
vidarlo avatar
флаг ar
Доступен ли ваш веб-сервер по IPv6?
vidarlo avatar
флаг ar
Давайте [продолжим это обсуждение в чате](https://chat.stackexchange.com/rooms/126850/discussion-between-vidarlo-and-5diraptor).
John Mahowald avatar
флаг cn
Какой у организации префикс IPv6? Спросите специалиста по сети или таблицы интернет-маршрутизации, есть ли у них собственный ASN. То, что у вас есть сейчас с 14 смежными / 48, может быть агрегировано.
vidarlo avatar
флаг ar
@JohnMahowald Если вы читаете обсуждение в чате, оказывается, что у 5Diraptor даже не было записей AAAA для сайта, поэтому трафик IPv6 никогда не попадал на него ...
5Diraptor avatar
флаг ca
Хотя у меня не было записи AAAA, я все же был бы очень признателен за ответ на первоначальный вопрос — предположим, что структура IPv6 нормально работает для моего веб-сайта, я все равно хотел бы знать, как включать/исключать адреса IPv6 в .htaccess. @vidarlo - отдельное спасибо за то, что сделали все возможное и помогли мне устранить неполадки.
vidarlo avatar
флаг ar
Так, как ты это сделал. Я не вижу в нем недостатков. Но с IPv6 используйте префиксы, например. /64 или /48. Отдельные IP-адреса не имеют смысла в IPv6 во многих конфигурациях.
5Diraptor avatar
флаг ca
Итак, эмпирическое правило состоит в том, чтобы либо убрать последние 16 символов и добавить `:/64`, либо убрать последние 20 символов и добавить `:/48`, как я понимаю?
vidarlo avatar
флаг ar
Вы не можете механически выбить ряд символов. /64 и /48 - это битовые маски. Нулевые группы можно свернуть в ::, так что ::1 — вполне допустимый IPv6-адрес... То же самое можно сказать и о fc80::1.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.