Facebook очень сообразителен с их схемой адресов IPv6, но это заставило меня задуматься о списках ACL, и можно ли написать соответствующий ACL Cisco IOS IPv6? В IPv4 вы можете сопоставить средний октет, такой как 10.xxx.10.xxx, чтобы ударить любой «x» с помощью «пофиг». Я не думаю, что это возможно в IPv6, по крайней мере, в IOS 15.1.
В случае с моим примером, поскольку Facebook был хитрым, он позволяет легко сравнивать FACE: B00C, если вы можете. В некотором смысле это упрощается, потому что, не смотря на то, какой блок был назначен, я могу просто сопоставить этот диапазон.
2A03: 2880: F000: [0000-FFFF]: СТОРОНА: B00C :: / 96
Очевидный и нормальный способ состоит в том, чтобы соответствовать 2A03: 2880: F000 :: / 48, но, к сожалению, я не уверен с первого взгляда, имеет ли FB больший диапазон (вероятно, делает). Так что в этом конкретном случае, если бы я мог сопоставить только по части FACE: B00C, я мог бы сопоставить все, что они используют, предполагая, что они не переходят в FACE: B00D
Поскольку я не могу ввести маску подстановки в IOS для и ACL IPv6, я не думаю, что вы можете сделать это, но мне любопытно, есть ли у кого-нибудь интересный обходной путь. Я думаю, что было бы полезно знать это, потому что в какой-то момент мне может понадобиться отфильтровать субблок только из-за DDoS или агрессивного трафика, не желая блокировать весь / 32 для какого-то крупного провайдера.
Кроме того, это может позволить перенаправление трафика на основе политик или расстановку приоритетов. Если я понимаю, что рекламные объявления находятся в другом блоке, я могу по-разному их QoS, например, хорошая функция для перегруженных спутниковых каналов с низкой пропускной способностью.
РЕДАКТИРОВАТЬ: чтобы уточнить немного. Могут быть случаи, когда мне нужно заблокировать или разрешить определенные диапазоны в большом блоке, например / 32. Они могут быть немного смежными, и вместо сотен записей подстановочный знак может соответствовать большим их частям. Это также может быть использовано для организации трафика таким же образом, как я мог бы маршрутизировать все блоки 10.x.10.0, где, если x нечетно, он идет один маршрут против другого маршрута.
Другим примером является DDoS, где IP-адрес источника IPv6 подделывается с помощью шаблона, который записывает имя группы хакеров. Это произойдет хотя бы один раз, было бы неплохо иметь возможность фильтровать по нему.
Компактный ACL чище, но не всегда более управляем. Эти вещи могут быть хорошими или плохими идеями / практикой, не для того, чтобы спорить об этом, просто пытаться понять, какие инструменты у меня есть, и какие инструменты мне, возможно, придется создавать.
...:face:b00c:0:1
ваш подход не поймет.Ответы:
К сожалению, Cisco покончила с подстановочными масками в IPv6. Это в основном хорошая вещь, за исключением данного конкретного случая. Однако, чтобы ваша идея работала, вы должны полагаться на то, что Facebook будет «умным» и последовательным, что, вероятно, больше, чем можно надеяться.
Но если вы хотите обрабатывать трафик Facebook иначе, чем другой трафик, вы можете просто отфильтровать назначенный им адресный блок. Тот, который вы упоминаете в своем вопросе, фактически назначен на Facebook Ирландия: 2a03: 2880 :: / 32.
Но так же легко искать других в реестрах.
источник
/32
достаточно большой, чтобы разбить его на очень много подсетей и направить их по всему миру. Это столько же подсетей, сколько IP-адресов IPv4! Запись whois практически не имеет значения в этот момент. А геолокация пока не очень хороша для адресов IPv6.Я немного поиграл с FPM и думаю, что он может сделать то, что вы ищете:
Я должен был свернуть свой собственный файл ipv6.phdf для этого:
К сожалению, когда я делаю «показать интерфейс управления доступом типа карты политик fa0 / 1», я не получаю совпадений с ethertype:
Я подозреваю, что мой эхо-запрос к IPv6-адресу Facebook не проходит через CEF должным образом (в FAQ по FPM сказано, что это необходимо) или я что-то упустил. Тем не менее, я выкладываю это для всех, кто хочет пережевывать это.
источник