В соседней теме Шаман поделился способом обхода блокировок с помощью сквида (или даже двух сквидов). Почему-то мне такое решение кажется сложноватым и заумным, можно же практически на коленке добиться почти того же: обычный трафик идет нормальным путем, запрещенный в тоннель к VDS/tor/whatever.
Вот собственно хау-ту:
1. Прокладываем ВПН к своей железке, получаем tun-интерфейс (скажем tun0) куда нужно заворачивать трафик от запретных доменов
2. Конпелируем эту утилиту https://github.com/vmxdev/sidmat
3. Подготавливаем список (не уверен что список правильный, но он в гугле на первой странице выдачи). Выбираем из него все домены и укладываем в строчку:
$ wget http://reestr.rublacklist.net/api/current
$ perl -p -e 's/\\n/\n/g' current | cut -d';' -f2 | sort -u | perl -p -e 's/\n/\$\|/g' | tail -c +4 | head -c -2 > rx.txt
Должен получиться большой regex-файл по которому будут матчиться домены
4. Тестовый запуск:
# ./sidmat eth0 "rx.txt" df
eth0 - интерфейс где ходит DNS-трафик. Если используется локальный кеширующий DNS или что-то вроде DNSCrypt, нужно слушать на интерфейсе закольцовки (lo). Для повышения перформанса можно брать DNS-трафик из nflog
В другом терминале пытаемся разрезольвить домены из запретного списка:
$ host 18-sexy.com
$ host www.zerocensorship.com
$ host 72girls.com
В окне с запущеным sidmat должны появляться ip-адреса. При разрешении доменов не из списка адреса появляться не должны.
5. Если все нормально, запускаем так:
# ./sidmat eth0 "rx.txt" f | xargs -I {} route add -host {} dev tun0
При разрешении домена из списка его адрес будет добавляться к маршрутизируемым в тоннель. Остальной трафик будет идти обычным путем.
Все, статья 205 УК РФ profit