Мне нужно установить некоторые правила для блокировки сетевого трафика, как IPv4, так и IPv6. Маршруты должны быть черными или непоправимыми в зависимости от ситуации. В Linux и MacOSX кажется простым, есть определенные ключевые слова / флаги при добавлении маршрута ("черная дыра", "недоступность" в Linux и флаг "B" или "R" в MacOSX). Моя проблема - Windows.
Я нашел решение для Blackhole, которое вы можете увидеть здесь, например, просто чтобы упомянуть один веб-сайт. В основном отправка трафика на интерфейс обратной связи. Это для IPv4. Для IPv6 я использую похожий трюк, использующий интерфейс обратной связи, но указывающий на 0100::1
, префикс сброса , цитирующий:
«0100::/64 как префикс только для отбрасывания в« адресном пространстве интернет-протокола версии 6 »»
Тогда мои вопросы:
- такое решение, которое я написал "стандартным путем"? Есть ли лучший способ добиться этого?
- Как я могу достичь "недоступного" маршрута в Windows, а не "черной дыры"?
- [НЕПРАВИЛЬНО, см. Редактирование] Я также мог бы использовать брандмауэр, который иногда читаю, это лучшее решение в Windows. Например, я могу поместить фильтр с действием
FWP_ACTION_BLOCK
, см. Структуру FWPM_ACTION0. Но этот рул будет действовать как черная дыра? или как недостижимо?
Спасибо всем.
РЕДАКТИРОВАТЬ:
Кажется, правило брандмауэра - неправильное решение. Я проверил, что при использовании маршрута к 0100::1
через интерфейс обратной связи, если попытаться пропинговать с помощью IPv6, я получаю ошибку General failure
, а при использовании правила блокирующего брандмауэра я получаю тайм-аут (это именно то, что Я не хочу). Но я все еще не могу получить ошибку Route Unreachable
как в MacOSX и Linux ...