Обход блокировок сайтов через DNS (iodine)

Во время блокировок интернета в Казахстане мне очень хотелось посидеть в интернете. И я решил найти способы обхода. Я попробовал использовать tor мосты, прокси, итд. Но ничего не помогало, тк весь трафик домашнего интернета кроме как на казахстанские сайты блокировался. Тогда я решил немного поиграться с трафиком. Я попробовал пустить запрос на DNS сервер из домашнего интернета, но ничего не вышло. Но тогда я решил попробовать купить себе VPS сервер одного из казахстанских провайдеров. И оказалось что у них успешно проходит DNS трафик на любой сервер. Видимо для VPS провайдеров сделали не такие жесткие правила для фильтрации трафика. Поэтому, если у нас есть VPS сервер вне Казахстана, и на котором есть DNS сервер, то мы можем настроить его для работы в роли прокси сервера.

DNS сервер reg.ru во время блокировок из домашнего интернета

Тот-же DNS сервер, но из казахской VPS  

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

Как установить iodine и настроить

Установка проста, в большинстве linux дистрибутивов iodine можно установить из стандартного пакетного менеджера. Например в Ubuntu apt install iodine.

Для работы iodine нужен собственный домен, в котором можно настроить DNS записи. Я использовал namecheap:


Под пивом я 

iodine -f -P fakk  t1.mkhitaryan.pw

/usr/sbin/iodined -P fakk -c 192.168.99.1 t1.mkhitaryan.pw

Нужно проверить чтобы -c IP не пересекался с другими в вашей сети vps. Проверить можно через ip route show. Например у моего VPS сервера был 


Из-за этого перебивался роутинг и TUN устройство ломало мне интернет.

Комментарии

Популярные сообщения из этого блога

DOS атака при помощи Python

Как компилировать встроенные приложения gnome

TypeError: __init__() got an unexpected keyword argument 'decode'