Передумови : Мій провайдер (під впливом дорогоцінного уряду) нещодавно без особливих причин почав блокувати публічні веб-сайти.
Проблема : Я здогадуюсь, що ISP використовує DPI, щоб виключити, які сторінки показувати, а які ні. Якщо я надсилаю запит із завитками, як звичайний веб-браузер, це робить:
curl -L -g -4 -v --header "Host: blocked.site" blocked.site
ISP переспрямовує мене на їх фантазійну сторінку з повідомленням, що я не повинен відвідувати цей сайт.
Можливе рішення : я виявив, що змінюючи заголовок запиту "Host", я можу легко отримати доступ до цього сайту, наприклад:
curl -L -g -4 -v --header "Host: blocked.site." blocked.site
або просто додати пару пробілів після доменного імені. Я думав, що я можу вирішити цю проблему за допомогою протоколу IPV6 (деякі провайдери не перевіряють трафік на них), мій провайдер не підтримує цього, тому мені довелося створити тунель (6in4). Але схоже, що ISP перевіряє всі пакети для заголовків хосту та блокує їх незалежно від того, яким протоколом я користуюся.
"Точкове рішення" підходить мені добре, як я можу його автоматизувати на маршрутизаторі (OpenWrt)? тож у мене вручну не змінюються заголовки на кожному зануренні в моїй мережі. І чи можна щось зробити з IPV6? бо мені це виглядає краще, ніж змінювати заголовки.