Pull to refresh

Comments 75

Столкновение с любым ненавязчивым южноевропейским сервисом — греческим, итальянским, испанским, болгарским — кого угодно доведёт до осатанения.
Экспериментировал ли с разными видами CONFIG_TCP_CONG?

И ещё интересно с точки зрения провайдера — насколько заметно это мешает (забивает кэш днс-сервера мусором?) и есть ли хороший способ защититься (в лоб — резать запросы длиннее n байт, но это как-то грубо)
Есть такой ключик iodine: -M число
Как раз ограничивает длину запроса, если провайдер режет длинные.
Там windows и ни слова про то, как с этим туннелем правильно жить.
>>я наблюдал скорость до 8кб/с
Я выжимал честных аж полмегабита, вполне юзабельно по wifi, через edge или 3g возможно будет хуже.
UFO just landed and posted this here
В лаборатории (читай, на своих DNS'ах) я получал сервис, который было трудно отличить от обычного. Но полевые испытания показали, что не всё так хорошо. Больше всего tcp стадает от внезапного jitter'инга ресолверов — идут пачками дупликаты и ретрансмиты.
помимо взлома WEP-сети соседей, что уж совсем уголовщина

Интересная логика.
Взлом WEP значит уголовщина, а получение сервиса через DNS туннель типа — нет.
Получение сервиса DNS через публичный DNS это не уголовщина. А вот что именно я ресолвлю и зачем — мои личные проблемы.

Сравните с взломом WEP'а. Сам взлом никого не волнует, а в момент подключения с чужими данными я вторгаюсь в чужую сеть, которая была закрыта табличкой «не входить, шифровано».
По логике днс сервис провайдер предоставляет то бесплатно всем.
На взломе WEP мы заработали на кипре с другом много, и до сих пор зарабатываем, потому что есть уже много «умельцев». Кстати, WEP- это не всё еще. Пролистайте список сетей и найдите сеть вида CYTA11FFAA — есть алгоритмы и даже програмки, которые эти алгоритмы реализуют, которые по SSID вычисляют возможные дефолтные ключи WEP/WPA.

Никого такой взлом не парит на кипре, я общался с главным чуваком по связям в самой CYTA, Они даже не верят, что взлом возможен. Так что, вскрывайте и не парьтесь — 5 лет этим тут занимаюсь. Вы еще в Пафосе?

Тут есть еще PrimeTel DSL с ценой 32 евро/8Mbit безлимит. ПОдключение 150 тоже.

Еще есть CableNet, который за 30 евро дает 12мбит/c безлимит.
В лимассоле CableNet вообще дает 100мбит/c за 100 евро в месяц, что для кипра очень круто.
Но не знаю пока, как он работает. У самого сеть с выходом в 32мбитс от PrimeTel, плачу 70 евро.
UFO just landed and posted this here
В моём случае это было i.tdhq.org, короче некуда. А вот домена x.ru нету и быть не может.
UFO just landed and posted this here
Если очень захотеть — всё может =)
Например, домен d.rw принадлежит одной российской антивирусной компании. Линк-шотенер на нем крутился, из-за небольшого казуса сейчас не доступен, но руки дойдут — восстановим. Не.ру, но смысл в том, что технически это можно.
Один мой знакомый™ творил похожие вещи ещё во времена dial-up'а, когда были специальные номера на которых соединение не тарифицировалось, но предполагался доступ к ограниченному числу сайтов.
еще была Sita (точно не помню как называлось), тоже юзал ее вместе с Sprint
Sita — о да, дозвон по скриптам, вечно забитый пул и раздача скриптов по личкам на форумах…
А ещё openwww в Москве. На куче сайтов были форумы — общались. А ещё куча дырок и туннелинг процветал… были времена…
А еще было — нащупали баг в веб интерфейсе провайдера «РОЛ» чтоли, и можно было «честно» выигрывать 1-часовые карточки качественного диаплап доступа в интернеты… Ух.
да, я в этой всей фигне учавствовал :) Курпан теперь музыкант группы «Черный Кузнец» :)
Существуют способы блокировки «неправедных» DNS-резолвов для хотспотов.
Вопрос в том, хорошо или плохо то, что многие интеграторы забывают/забивают на нее? )
Если не секрет, то какие? Как отличить легитимное имя от трафика туннеля?
Выставить определенную планку для DNS pps rate, при туннелировании очевидно что он в разы выше обычного use case.
Для обеспечения 8 килобайт в секунду достаточно 8 запросов в секунду. К разным поддоменам одного домена. Вы действительно хотите ограничить com.ru или co.uk меньшей величиной частоты запросов?
Можно повесить детектилку аномалий — парсить поле name в dns query пакетах и если стабильно преобладают запросы, в которых это поле имеет максимальную длину — склеивать такому клиенту ласты. Воощем если сильно надо, то можно что-нибудь придумать.

Ну а в целом, да, dns — лучший вариант организовать скрытый канал связи. Много где никто особо не заботься о том, чтобы применять какие-то egress fw фильтры к dns, даже там, где работают DLP-системы.
Грубо, напоминает ранние модели антиспама, где ради подавления спама сильно теряли обычные письма (а чё тут такого, 0.5% — низкий показатель).
iodine -M 200 и вот уже длина запросов не максимальная.
На хотспотах стоят свои кэширующие DNS-сервера. Запретить для неавторизованных пользователей трафик до 53 порта к любому хосту кроме легитимного. Метод «топора», но эффективно.
Через кэширующий DNS такой VPN заработает.
… который чаще всего не доступен, т.к. режут весь трафик из сети.
В годах так 2010-2011 у минского провайдера «НИКС» приходилось использовать. Каково положение сейчас — не знаю.
Ну а в большинстве случаев всё верно, icmp тоже режут.
Вот ведь люди. Даи им любой канал связи, они поверх начинают TCP/HTTP городить. И все ради котиков.
Хуже. Поверх городится vpn, через который через ssh отправляется коммит с gpg подписью.
Ага, ага. Я бы посмотрел, как бы они разруливали dns-сервера, выдаваемые арендой dhcp за пределами клиентского сегмента.
>Суть проблемы — если у нас dns-сервера находятся не в выданном нам сегменте (например, нам выдали 5.10.10.10/24, а DNS-сервера в 5.11.11.22 и 5.11.12.33), то если мы поменяем шлюз по умолчанию, то потеряем связь с DNS-серверами.

policy-routing habrahabr.ru/post/108690/ в этом случае вам помочь не сможет?
Я как-то года три назад немного ковырялся с openvpn тоннелями и была похожая проблема, которую я решил с помощью policy-routing и кажется немного магии iptables тоже было, но на счет деталей ничего сейчас не скажу… Повторно мне всё это не пригодилось, а тогда как-то настроил и забыл.
Наверное, поможет. Но я про них ничего не знал. Но policy routing требует указания критериев маршрутизации, а какие они могут быть, кроме «весь трафик, кроме DNS-серверов, заворачивать в туннель»? По сути тот же dest routing и получается, а главная проблема — как определить какой трафик не заворачивать.
fwmark – проверка значения FWMARK пакета. Это условие дает потрясающую гибкость правил. При помощи правил iptables можно отфильтровать пакеты по огромному количеству признаков и установить определенные значения FWMARK. А затем эти значения учитывать при роутинге.

Думаю, что по любому гибкости iptables должно хватить, чтобы промаркировать те пакеты, которые нужно завернуть куда нужно.
Именно так у меня оно всё и работало кстати.
Тыг вся проблема не в том, что «непонятно что с пакетами делать», а в том, что непонятно как пакеты отличить. У network-manager'а в сочетании с dnsmasq'ом просто нет прямого метода узнать dns-сервера, полученные из аренды. Мне пришлось парсить вывод nmcli для выковыривания этих данных. А дальше-то просто: на них прямой роут через провайдера, остальное через туннель.

Я не уверен, что гибкости pwmark'а достаточно для того, чтобы сказать что-то вида «dns-сервера, полученные по dhcp» :)
Я не знаю что имеется ввиду под network-manager, но так то в общем если прописать свой какой-нибудь ip-up скрипт нельзя, то что-нибудь запарсить — вполне себе решение. А потом когда уже будут известны эти адреса — гибкости fwmark'а должно хватит.

Кажется я не понимал, что у вас проблема не с самим механизмом роутинга, а с тем чтобы выковыривать dns из dhcp. В этом предложенная мной техника конечно не поможет.
Автору нужно узнать, что добрая половина Кипра сидит на соседской cyta. И все гораздо проще:
amigdalo.ath.cx/ST/
www.youtube.com/watch?v=VqmPcCtsqxs
Mediascenter_Thomson_key.rar использует общую дыру (зависимость пароля от имени по умолчанию wifi сети) для всех Thomson роутеров, выпущенных до 11 года кажется. Неоднократно помогала программка.
Cablenet не дошел еще до Пафоса, да? Гораздо приятнее провайдер во всех отношениях, и по ценам и по качеству.
Ситовские пароли я знаю. Однако, повторю, это нелегально на 100%. Cablenet'а в районе нету.
никто вас за это не будет бить, и даже слова не скажет — не парьтесь. Мы с другом за это еще и деньги берем.
Мало минусов, хочу ещё! А то я неправильно что-то комментирую, не то, что все хотят видеть
Давайте еще минусов! А то меньше чем на предыдущем коментарии!
Возможно кому-то всё-таки не нравится идея взлома. Лично моей этике это претит.
С моей точки зрения это выглядело как помощь соотечественнику. Я даже сейчас перечислю причины, по которым этика в данном случае Вас, как IT специалиста не должна настолько беспокоить.

1) Все модемы с SSID CYTA****** и SpeedTouch****** — это интернет подключенный по безлимитному тарифу. Логично, что за большее количество пользователей не приводит к увеличению счета: он как был 50 евро, так и останется.
2) Судя по тому, что вас устраивает ваше решение, то вы бы и так не скушали много полосы пропускания. Минимальная скорость на сегодняшний день на кипре — 2мбит у DSL. В настройки модема можно зайти и посмотреть его скорость и если вам жалко забирать у человека с 2мбит, то найдите себе модем с 5-N мбит/с.
3) И всё таки, я хотел поддержать соотечественника и успокоить, рассказав про свой опыт. Повторяю, здесь это не карается и модемы принадлежат домашним пользователям. Если вы их не можете вскрыть, следовательно над защитой поработали и вам не дадут влезть в сеть и украть корпоративные данные(Хотя обычно встроенный WiFi отключают и используют внешнюю ТД.)
Или вас так волнует вопрос этики, потому что вы, зайдя в чужой Wifi начинаете снифать пакеты, себя не контроллируя?

Если вы все еще в пафосе, скажите в каком районе, подумаю как еще вам смогу помочь
Странно, нечто подобное делали и в эпоху диал-апа например через некоторых провайдеров, например РОЛ которые бесплатно пускали на свою страничку без лимита и так же не перекрывали DNS.

Я думал с тех пор все провайдеры поумнели, хотя наверное многие кто сейчас работают у провайдеров об этом и не помнят в силу своего малого возраста в то время :).
Ещё кстати нужно добавить, dns-тоннели очень критичны к конечному расстоянию до сервера (latency dns-ответов). Такая халява через днс в основном нужна вне дома, когда другие варианты по каким-то причинам не доступны, а инет очень нужен. Если сервер с iodine стоит, к примеру, в москве, то где-нибудь в юго-восточной азии пользоваться уже практически не возможно, какой бы качественный доступ до днс не был на конечной точке.
Возможно, да, в этом дело. Я выходил с Кипра (на котором наружу, за пределы острова, иметь latency < 80 почти невозможно), а сервера были в Амстердаме и Питере.
и кстати как раз с Кипра я как-то через какой-то вайфай так сидел, когда сервак в мск был. Коннект к icq по двум номерам с дофигищей контактов — около 5 минут. Загрузка странички без картинок — 3-4 минуты.
iptables -t nat -A POSTROUTING -s 10.99.99.0/24 -j MASQUERADE

И это все? Так просто? Во всех примерах настройки nat, которые я видел, там еще штук 5 дополнительных параметров, чтобы разрешить трафику идти в обратном направлении. Я явно чего-то не понимаю.
Т.к. мы не запрещали ничего, то и разрешать нечего. MASQUERADE обеспечивает contracking (то есть правильную замену dest у пришедших пакетов), а дальше оно само, силами маршрутизации до отправителя вернётся.

Много строчек может быть в продакшен-конфигурации, которая рассчитана на компанию. Т.к. делаем это для себя любимого, то можно защитой от самого себя не злоупотреблять.
В плане линукса, я что-то ниразу не видел, чтоб нужно было следить за обратным трафиком в плане nat. А для acl достаточного этого правила:
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
Можно и без. Оно и так хорошо работает.
Ну это не относится к теме. Это к вопросу про обратный трафик, в случае если по дефолту DROP настроено на цепочке FORWARD.
приспособиться к крайне неравномерной latency,

Джиттером (jitter) называют, кажется. Или вы намеренно не добавляли термины в статью?

Над грамотным закрытием такого рода «каналов связи» (без кавычек не могу написать) не думали? Имеется ввиду что-то умнее, чем просто ограничение количества запросов в секунду по домену/сорсу, вам придумалось? Я же верю, что времени поразмыслить без интернета у вас было достаточно.
Формально любое ограничение будет нарушением RFC, так что no chances. Если же серьёзно — надо не открывать dns наружу, а ресолвить всё в серый адрес с редиректом куда надо. ttl у записи делать 1с.

Потому что это глупость получается, «как мне сделать dns-сервер, который будет рекурсером, но рекурсером не будет?». На любую signature detection в iodine первым делом добавят scrambling.
Если не хочется ломать роутинг на клиенте, но хочется использовать не только браузер, делаем так:
1) Ставим на сервере danted (это socks-proxy), чтобы не набирать каждый раз пароль на ssh.
Ограничиваем прием соединений только с интерфейса туннеля. За авторизацию и так отвечает iodine.
http://spycs.ru/os/170-ustanovka-socks5-proksi-servera-na-ubuntu-debian.html
2) На клиенте ставим пакет tsocks
3) В /etc/tsocks.conf пишем IP-адрес сервера туннеля и порт, на котором работает danted
4) Добавляем tsocks перед вызовом проги, которую нужно загнать в туннель. Например,
tsocks apt-get update

Это для софта, который не умеет работать через socks-прокси нативно (apt в mint, например, не умеет).

PS: Используйте второй днс сервер провайдера, он обычно менее нагружен, и другим клиентам мешать не будете.
И не забывайте про adblock, реклама ощутимо трафик ест.
Разве в DNS можно использовать буквы в разном регистре?
В DNS — да. В отдельных зонах регистраторы могут устанавливать дополнительные ограничения.
сегодня вот проверял по цепочке эрланг — микротик — что-то у оператора нетбайнет — яндекс днс — мой сервер.
Где-то по пути DNS конвертится в нижний регистр.
У iodine есть опции для обхода таких вещей (снижает пропускную способность канала).
ну очевидно. 263 байта на пакет, дальше выбрать способ упаковки.
Sign up to leave a comment.

Articles