Как стать автором
Обновить

Настраиваем интернет шлюз с прозрачным обходом блокировок (а рекламу таки будем блокировать)

Время на прочтение9 мин
Количество просмотров103K
Всего голосов 71: ↑68 и ↓3+65
Комментарии97

Комментарии 97

Автор статьи делает благое дело да?
Пока статьи про обход были технически сложными — массово неприемлимыми — никого они не трогали.
Как только больше будет общедоступных методов, как больше будет статей про них — так раньше на работу Тора обратят внимание и примут меры для затруднения.
Простите что? Обход блокировки технически сложный? Мы в разных интернетах живем с вами? Все кто хотел обходить блокировки и не париться — уже давно скачали Opera или расширения для Chrome/FF/etc. И сделали это на всех устройствах… И чет ни кто особых «мер для затруднения» работы не принимает. А это альтернативный(универсальный) метод и нет ничего в этом плохого. Так что считай что благое дело.
Считаете себя самым умным? Это временное явление. Или сударь не слышал про Великий Китайский Файрвол?
Великий Китайский Файрвол. Открою вам секрет — его тоже обходят. Только не рассказывайте ни кому!
Проблема в том что даже скачать расширение для браузера(именно найти нужное, без риска подхватить трояна и т.п.) уже задача посильная не для всех, и даже не для большинства. Да и сами эти расширения так себе — работают через пень-колоду из-за популярности.
frigate для Хрома меня еще ни разу не подводил за 2,5 года. Расширение скачано из хром вебстора. А на Мяу стоит VPN Master, приложение из гуглплей. Видимо, у вас провайдер суёт трояны во все пакеты))))
Зачем сразу провайдер. Сами разработчики и суют в фейковые приложениями коими заполнен тот же гугл-плей. И хорошо когда вы знаете как должно выглядеть и называться оригинальное приложение, но большинство людей столкнувшиеся с этим впервые этого не знают. На чем, собственно, фишинг и работает.

Законодательный запрет это уже обратили внимание или еще не совсем?

Клавиатура хорошая…
И буквы у Вас ровные… Что еще хорошего? Поделитесь!
А почему не использовали. DNS crypt?
А зачем все зоны резолвить в торе, есл от перехватывающих DNS-запросы провайдеров помогает dnscrypt? Думаю, побыстрее будет.
Не знал про него. Почитаю.

Очень интересно это будет применить на Raspberry Pi 3, (ethernet — USB ethernet), 100 мегабит должна потянуть…

Зачем вам роутер на плате с одной сетевухой? Троллейбус_буханка.jpg
Можно гораздо проще (но не дешевле). Купить современный роутер с 4 Gigabit LAN портами и двухдиапазонным WiFi, поставить на него OpenWRT (LEDE, по-моему, сыроват, это как Дебиан и Убунта) и все те пакеты, которые перечислил автор поста. У меня на нём крутится веб-сервер (статика, для дома для семьи), BIND9 (несколько доменов), сервер времени, adblock, dnscrypt-proxy, igmpproxy, miniupnpd, OpenVPN-server, QoS.
При этом:
Load average: 0.15 0.26 0.23;
Mem: 77576K used, 48096K free, 1820K shrd, 5004K buff, 16756K cached

Т.е. железяка не напрягается, и это хорошо. Потому что до этого у меня был TP-Link TL-WR1043ND, и он это всё не вытягивал — не хватало оперативной памяти, всё дико свопало и тормозило. Хедшот он получал от BIND9.
Роутер этот стоит денег, но я уже с дешевыми железяками себе нервы испортил на 2 жизни вперёд. Во всей полноте осознал смысл народной мудрости «я не настолько богат, чтобы покупать дешевые вещи».
Вам бы статью этому посветить, как минимум интересно, и я с вами полностью согласен что подобные вещи надо делать на роутерах.

Я похожее сделал на TP-Link TL-WR1043ND v1 openwrt 12.09, отличие в блокировке рекламы, через списки adfree, и доступ на заблокированные сайты через vpn, благо у нас блокируются подсети

Так же доступ к некоторым ресурсам с мобильного, как например для почтового клиента чтоб получать мылорушную почту настроил imap myrouter.ddns.net:999 и для флибусты myrouter.ddns.net:777. Не понимаю людей которые для роутинга используют компы или полностью рабочие ноуты. Хотя хотел поставить ноут вместо 1043, старый без экрана уже, но на нем можно хоть файлохранилище с dnla поднять, и не так чтоб жалко, красная цена на продажу 20-25$, роутеры дороже...

> Зачем вам роутер на плате с одной сетевухой?

А какая разница, какое количество портов? IP-трафику без разницы, гоняют ли его через один физический интерфейс или через разные, если ничего не упирается в пропускную способность интерфейса.

Дело тут, скорее, в выделении целой железки для выполнения отдельных задач. Если в домашней сети уже есть сервер, то можно сервисы настроить и на нём. Если же домашнего сервера нет, то незачем его заводить только ради этих сервисов, когда всё можно настроить и на роутере.

оо крутяк, я все думал, на что бы с 1043 спрыгнуть, спасибо

Ubiquity EdgeRouterX. Вайфая нет, но железка рвёт в лоскуты весь SOHO. Аппаратное управление пакетами, на 800мбитах загрузка процессора 0%. Купил и не нарадуюсь. Скоро куплю к ней точку доступа той же конторы и заживу. Сейчас в роли точки старый тплинк 743 и это печаль.
Поставьте на нее прошивку Падавана и тогда вообще идеальной станет (p.s. если что, обратно на родной загрузчик(и соответственно прошивку) откатиться уже не получится)
А зачем? Там и на родной всё хорошо. Практически полноценный линукс. Обновления выходят регулярно, причем при участии комьюнити.
Не скажу как сейчас обстоят дела(не осталось ни одного устройства с родной прошивкой), но у них очень долгое время были недоработки с аппаратным ускорением(точно были у ERX(MT7621)) и в целом прошивка была очень сырой.
Сейчас разблокировали аппаратное ускорение, теперь всё хорошо.
Как часто вы его перепрошиваете? Обновления безопасности выходят чуть ли не каждый день. На x86 можно без проблем довериться UnattendedUpgrades. Как вы на OpenWRT эту проблему решаете?
Прошиваю по мере необходимости, а она бывает редко.
Сейчас набор софта устоялся, поэтому в следующий раз прошиваться буду после выхода обновления стабильной версии OpenWRT, ну или после обнаружения критического бага.
Обновления безопасности на роутере, ИМХО, это не то, из-за чего его надо шить каждый день. Ломать меня никто никогда не пытался, это я знаю благодаря скрипту, который даже неудачные (не говоря уж об удачных) попытки логина мне на мыло шлёт. За 5+ лет не было НИ ОДНОЙ ПОПЫТКИ взлома. Просто ssh на нестандартном порту висит. Если бы были попытки, ну хоть одна, я бы еще port-knocking прикрутил. Веб-сервер мне не сломают, потому что ломать там нечего — это тупо статика. OpenVPN поднимаю по мере надобности доступа в домашнюю сеть извне, а это бывает крайне редко.
Так что это не проблема, поверьте.
Стоит об этом упоминать, рекомендуя решения на OpenWRT. Вы сделали свой сознательный выбор: отказаться от обновлений и стать «Неуловимым Джо», а кто-то прочитает вашу рекомендацию и просто решит сэкономить, не отдавая себе отчёт во всех последствиях, а потом уже поздно будет — железо-то куплено.
Я себе взял Asus eee mini pc (на атоме) как домашний сервачок / (маленький NAS)
Asus eee mini pc
image

Так в логах тысячи попыток логина в день (sshd открыт тоже не на стандартном порту)
Так что я даже не знаю…
А вы порт ssh выберите из диапазона 50000..65535
не помогает, рано или поздно насканивают и начинают долбить

И правильно. Не пускайте с паролем, пускайте только с ключами. Пусть долбятся сколько хотят. Кстати, смотрю по логам что после двух-трех попыток пробиться большинство отваливается. Протокол ведь явно говорит что пароли не принимаются!

та ну я вас умоляю, это ж боты
я ради интереса разбанил несколько адресов после месячной выдержки — тут же посыпалось, как будто они в файрволл всё это время ломились
Нет роутера в продаже. Подскажите еще модель, чтобы все это реализовать и осталось мощи в запасе?
Затрудняюсь ответить. На момент покупки я прошерстил форумы, обзоры и не прогадал — эта железяка «реально тащит».
На сегодняшний день желательно наличие следующих характеристик:
  • Возможность установки альтернативной прошивки OpenWRT/LEDE/etc.
    Список устройств, официально поддерживающих OpenWRT.
    Необходимо знать, что некоторые вендоры (и TP-Link с недавних пор) блокируют загрузчик или проверяют подпись файла прошивки, что затрудняет установку альтернативной прошивки. На Archer C7 эту проблему обошли. На других — надо смотреть индивидуально.
  • Двухдиапазонный WiFi n/ac
  • Гигабитные LAN-порты. Если инет от провайдера гигабитный, то и WAN-порт тоже должен быть гигабитным
  • RAM >=128 МБ
  • ROM (внутр. память) не менее 16 МБ
  • Процессор чем больше МГЦ, тем лучше. Меньше 500 лучше не брать, если собираетесь делать что-то сверх возможностей заводской прошивки. Есть двухъядерные, что еще лучше
  • Наличие USB. Может понадобиться для USB-модема, флешки, принтера, да хоть для чего :) Есть практически на всех моделях дороже 2к рублей
  • Это уже для замороченных. Съемные антенны (желательно на оба диапазона частот). Вместо штатных можно будет установить направленные антенны, тем самым «добить» до недосягаемых ранее мест. Хотя один роутер (Archer C7) 4-комнатную квартиру с ж/б стенами накрывает на 70% номинальной мощности сигнала на штатных антеннах
С таким набором и стабильной версией альтернативной прошивки впридачу получите железяку, которая без тормозов будет отлично выполнять свои функции долгие годы. Ну а если через 3-5 лет перестанет включаться, то просто замените блок питания или перепаяйте вышедший из строя конденсатор в первичной цепи родного БП :)
НЛО прилетело и опубликовало эту надпись здесь
Тут в полный рост встает вопрос энергопотребления…
30W против 5W. Много это или мало? Пусть каждый сам решает.
Mikrotik RouterBoard RB951Ui-2HnD и другие. Смотрите в разделе совместимых устройств на openwrt.org маршрутизаторы с большим объёмом ОЗУ и флешпамятью 8 и больше мегабайт.
Напишите пожалуйста статью аналогичную авторской. Как раз передо мной вскоре встанет эта проблема с удовольствием изучу и ваш опыт.
>Зачем вам роутер на плате с одной сетевухой?

Раздавать вайфай, а трафик с вайфая заворачивать в Tor через кабельный интернет, например? Я себе именно такой anonybox и сделал.
При том, что под RPi пакеты свежего тора есть, а под OpenWRT — не факт, придется ставить кросскомпилятор, маяться со сборкой, инжектить пакет в прошивку.
Интересно увидеть решение на таком устройстве Orange Pi R1
Поддерживаю!
Даже готов скинуться на эту железку, если кто-нибудь готов опробовать её сделать таким шлюзом.
Прошу прощения за 5 копеек, но изначально вопрос стоял в том, что есть старый и бесполезный по современным меркам ноут/планшет/нетбук (например, треснувший экран или 1-2 ядра с частотой 0.9-1.2 ГГц и SSD на 20 ГБ ) и его можно использовать для дела.
Сам так делал еще 5-7 лет назад. Ставится либо готовое решение (например, Kerio Control) и забывается про него (антивирусные базы само обновляет, как и черные списки), либо самодельное (но тогда все тоже самое ручками).
Ваш вариант — мощная коробка и самодельная настройка — имеют место. Но если вопрос не в деньгах, как Вы выразились, то покупаем готовую коробку — хоть от McAfee — и пользуемся. Ни перепрошивок, ни та полдня на поиск форума с решением похожей проблемы. Так что определитесь: или сам все настраиваешь, или покупаешь готовое.
Поддерживаю. Аналогичная статья с инструкцией была бы полезна.
У Raspberry Pi очень большие проблемы с производительностью портов. Там всё на USB2.0 висит. Tor/VPN-box можно сделать, но ютубчики смотреть/торренты качать через него довольно уныло.
Автор, можно вас попрсить выложить конфиги или установочный скрипт на вашш репозиторий в гите?
Я понимаю, что это типа вариант для ленивых, мол все в статье описанно, однако сейчас такое время, что писать что-то самому слишьком долго и затратно, гораздо продуктивней редактировать готовый код под свои нужды.
Спасибо.
В принципе можно, но установочный скрипт я не писал (и вряд ли стану), а настройки все равно нужно просматривать и приводить к своему окружению. Возьмем хоть те же настройки iptables. Я настроил так, а кто-нибудь посмотрит, и пальцем у виска покрутит. Тут все индивидуально.
Если будут плюсовать ваш комент, выложу, хоть и не считаю это целесообразным.
Выложил на гитхаб. Ссылка в конце статьи.
НЛО прилетело и опубликовало эту надпись здесь
Не совсем понял идею. Можно поподробней?
И не все так страшно. Bind кеширует запросы. Задержка только при первом обращении. Да и задержка не такая уж большая. По крайней мере она никак не ощущается.
НЛО прилетело и опубликовало эту надпись здесь
DNScrypt решает все вопросы с резолвингом адресов, включая заблокированные сайты.
Не надо плодить сущности.
Ну строго говоря, для этой схемы именно DNScrypt будет дополнительной сущностью. Так как без него схема работает. А если его добавить, то исключить все равно ничего не получится.
Но идея c dnscrypt хорошая.
НЛО прилетело и опубликовало эту надпись здесь
Ну .onion домены ПОКА никто и не блокирует :)
Естественно, .onion резолвится только Tor'ом. «Для всего остального есть DNScrypt».
Можно для избранных доменов использовать тот-же механизм, что предлагается в статье для отсеивания рекламы, только прописать другой тип зоны. Например:
zone "protected.domain" in {
    type forward; 
    forward only;
    forwarders {
        127.0.0.1 port 8053; // dnscrypt-proxy
        127.0.0.1 port 9053; // tor
    }
}

НЛО прилетело и опубликовало эту надпись здесь
Так не работает. ХЗ почему.
Попробовал — и правда почему-то не работает.
Вообще тип forward работает. У меня несколько таких зон, но только второго уровня.
Записи для зоны первого уровня тоже работают. У меня их тоже несколько, но только типа master и slave.
А тут… Какие-нибудь ограничения? В дока пока не нашёл ничего, чтобы это объясняло.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
У меня такой необычный идей есть…
А что, если собрать вирус, который будет заражать компы и делать две простые вещи:
1) Устанавливать расширения для обхода блокировок
2) Создать и запустить Tor Exit ноду.

Таким образом, большая часть наслеения
1) Будет иметь доступ везде, как будто блокировок не было
2) Сажать за Тор ноду и за обход будет не вариантом, т.к. очевидно что все население попадет под действие.

Волнует этичность сего, безусловно. Сложность реализации не волнует, т.к. вполне очевидна уязвимость ПК большинства технически не граммотных пользователей.
Грег Иган Моральный вирусолог (The Moral Virologist) Рассказ, 1990 год
Религиозный фанатик, возомнив себя орудием в руках Господа, создает и распространяет по планете вирус, который убивает гомосексуалистов и прелюбодеев. Однако всё ли он учел в своих расчетах?
В топиках про бактериофаги вы такие же комментарии оставляете?

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

И главное, показывала сообщение, что все это будет у пользователя установлено сроком на 1 месяц, согласен? Через месяц спросить еще раз, или показать выбор на год, навсегда ...

Нельзя спрашивать согласия.
Закон скажет, что раз согласился — виновен.

спасибо за ссылку на adservers/serverlist ) очень удобно!

НЛО прилетело и опубликовало эту надпись здесь
Это называется профдеформация. В некоторой степени она и у меня присутствует, но явно не в такой запущенной, как у вас.

По VLAN'ам. Если я ничего не путаю, то на RPi ставится linux, а в нём самом VLAN-ами обложиться — как два байта об компилятор. И создавайте сколько влезет VLAN-ов на сетевухе, настраивайте роутинг и прочие ништяки.
В этом только одно «но»: это надо только гикам, хипстерам и прочим сущностям, описываемым новомодными словами из соответствующего им множества. А простым людям это не надо. Им надо «включил, немного погуглил, работает годами, при этом имея удовлетворительный уровень безопасности от всяких васянов».
И если бы вы знали, как тяжело простому человеку разбираться в этих ваших виртуальных приблудах, когда ему понятно в основном только то, что он может увидеть.
В роутере он видит 5 дырок, одна — провайдеру, 4 — его. Если мало 4 дырки, то купит еще приблуду с 16 дырками. Всё.

Не забывайте, что вокруг вас простые люди, которые не угробили полжизни, чтобы разобраться во всём этом околокомпьютерном геморрое. Это не значит, что они тупые. Они в чем-то другом лучше вас. И потребности у всех разные.
Вам — построить дома высокоэффективную инфраструктуру с прозрачным проксированием в различные типы сетей с автоматическим бэкапом каждой железяки друг на друга и Амазон впридачу, покрыв это всё GPG, а им — посмотреть Ютубу на телевизоре и скачать на ПК/планшете книжку с Флибусты.
Опухание ЧСВ же. И ведь информация полезная, ценная, но подана как «вы все дебилы тупоголовые, сейчас покажу как надо».
НЛО прилетело и опубликовало эту надпись здесь
Есть один такой неттоп… ужасно тормозной и прогибается уже даже при одной активной веб-камере, хоть и памяти дофига. И тоже по-моему на C350. А ещё этот ужаснейший шум вентиляторов. И ладно если девайс в доме один, но нет — копейка к копейке и уже растёт слон. А ещё проблема куда пихать эту кучу железа ДОМА.
И главное ЗАЧЕМ это всё? Только чтобы получить очередное сомнительное удобство за счёт засорения жилого пространства…
Точно говорят — профдеформация.
А вот лампочкам накаливания пока ещё полной альтернативы не найдено — только целый ворох компромиссных решений, каждое из которых в чём-то ущербно да ещё и дорого.
НЛО прилетело и опубликовало эту надпись здесь
Ну да, профдеформация на лицо. Я ничего не имею против мощных и дорогих систем когда они используются по назначению и эффективно, но во многих случаях этими системами пытаются «забивать гвозди микроскопом» вот мне за микроскопы жалко.
Вы бы ещё на GPU попытались запилить веб-сервер, а что — железка-то мощная но для этой цели буде крайне неэффективная.
Профдеформация ВСЕГДА мешает и можно сколько угодно оправдываться тем что позволяет ассимилировать технику, но… это всё ведёт к крайностям. Сегодня ватты не экономим, а завтра «подумаешь всего 100 человек погибло, в мире их ещё 7 миллиардов».
А потом счета за электричество оплачивать на работу x86 системы которая избыточна для данных целей.
Кому-то лишние 25W не так критичны, как потраченное время на сборку OpenWRT и потенциальное участие своего роутера в ботнете из-за отсутствия обновлений.

Что касается избыточности x86, тут всё зависит от целей. Захотелось, например, красивую статистику генерировать, или какую-нибудь ещё задачу добавить, тут и упрёмся в убогий процессор.
Вообще-то не 25Вт а все 100Вт. Красивую статистику разве нельзя сгенерировать на ARM? Нет, дело не в процессорах… дело в софте! Чертовски неэффективные решения… система в сотню раз быстрее той на котором бегал DOOM и нельзя генерировать красивые картинки в реальном времени? Вот ни за что не поверю! За лень расплачиваемся энергонеэффективностью…
При нагрузке может и 100. У меня дома стоит старый ноут, единственная цель которого — хост пары телеграмм ботов. Основную часть времени простаивает. Смотрел по счетчику, примерно 25 Вт и выходит.
Почему уж сразу не 100кВт? Выше приводили пример x86 маршрутизатора, у него блок питания 36-ваттный, в описании написано «power at 26W~36W».

Претензии к эффективности бесплатного софта с открытым исходным кодом, мне кажется, высказывать вообще смысла особого нет: можете лучше — исправьте. С x86 проблемы такой просто нет. Пример из жизни: у меня старый ARM-процессор не справлялся со статистикой, на x86 средняя загрузка процессора — 8%.
Если за каждого исправлять — жизни не хватит. Очевидно, под ARM статистическую программу портировали не глядя, вот и выполняется с перерасходом ресурсов. Там ведь не адская математика, с такими вычислительными задачами справлялся и в десятки раз более медленный процессор. Но такое дело — те кто могут им не надо исправлять эти косяки, а тем кому надо… вот и получается забивание гвоздей микроскопом. *як-*як и в продакшн.
Я за одно отключил IPv6.

Зря. Можно было сразу ipv6 через туннельного брокера настроить.
И с IPv6 сразу начинает много сайтов открываться, например, рутрекер и линкд-ин.
Автор, спасибо за статью. Полезная информация… Теперь надо бы разобраться с такой же реализацией на *BSD (PfSense, OpnSense)…

Если сможете перехватывать UDP пакеты по подстроке, то всё должно получится. Ничего особенно специфичного другого в ней нет.

Я бы использовал для этой цели Raspberry PI
Лучше все таки нормальный роутер :)
Использую ODROIC-C1 на арче в качестве роутера. И мне попроще — провайдерская блокировка режется несколькими строчками iptables.
ещё есть вариант — пк с Pfsense на борту. вышеупомянутые китайские поделки поддерживают Pfsense из коробки
#dns=dnsmasq


Вроде как с Ubuntu 17.04 уже перешли на systemd-resolved, и проблемы с dnsmasq уже возникать не должно, но я не проверял.
Возможно. Я на 16.04.
«Приступим. Займемся севером.»

Уж лучше вы к нам! :)
В описанной ситуации bind излишен, dnsmasq вполне достаточен. Чтобы он ресолвил зону orion, в dnsmasq.conf нужна одна строка:
server=/orion/127.0.0.1#5353
У меня он подобным же образом ресолвит TLD lib, coin,… — работает кошелёк emercoin с включенным EMCDNS:
server=/lib/192.168.90.8#5335
Плюс через emercoind ресолвится i2p, но там всё сложнее.

Зря отключили ipv6. Я давным-давно настроил 6to4 и gai.conf, в результате этого блокировки noname и многих других сайтов я просто не заметил. Правда для HDvideo в youtube скорости не хватает, это пришлось регулировать в том же gai.conf.
Ныне 6to4 имеет статус устаревшей технологии и лучше настраивать IPv6 через туннельного брокера, но от этого изменятся только вариант собственно туннеля. маршрутизация IPv6 настраивается точно так же в gai.conf.

Вместо прозрачного прокси стоило отдать по DHCP ссылку с proxy.pac и тогда в нормальных ОС браузинг через сервер прокси HTTP/HTTPS будет настроен автоматически.
Чтобы он ресолвил зону orion

Это вы про Drak Net наверное, да? :)
Как дописать print, чтоб в консоль запуска фейк веб-сервера писал доменное имя, на которое постучались?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации