Если вам так же, как и мне, хочется отдыхать на даче, сидя в удобном кресле, вытянув ножки и поставив на колени ноутбук – это пост для вас. Я поделюсь своим текущим опытом организации полноценной домашней сети с интернетом и wi-fi на даче. То есть такой сети, в которой вы чувствовали бы себя как дома, со всеми своими устройствами, фильмами, музыкой и с постоянным доступом к облачным сервисам.
В посте речь пойдёт о ситуации, когда вы находитесь реально далеко от крупного города, и в десятках километров от ближайшего населённого пункта. Всё что у вас есть – это пара палочек 3G на экране телефона. Потому что если у вас там стабильный 4G или Yota, то сей пост вам не пригодится.
Сначала немного теории:
Говоря простыми словами, сотовая сеть организована путём установки вышек (БС – базовых станций) в местах условного скопления достаточного количества народа. Чем дальше в лес, тем меньше вышек на единицу населения. Сами вышки имеют свой uplink (канал связи с остальной сетью), который тоже утоньшается по мере продвижения от города в сельскую местность. Да простят меня инженеры-связисты за такое представление картины.
Вышки хитрые. Во-первых, они “светят” излучением не во все стороны, а по конкретным секторам. Как правило, на вышке стоит три или четыре антенны, которые светят в разные стороны для покрытия наиболее возможной площади. Но бывает и так, что вышка есть, а в вашу сторону ничего не светит. Или светит, но не от вашего оператора.
Во-вторых, вышки умеют косвенно определять расстояние до абонента. И в зависимости от того, как их настроили хитрые инженеры, могут принудительно резать (шейпить) ваш канал, если вы далеко, а 99% абонентов близко.
В-третьих, типичное заблуждение – считать, что уровень сигнала с вышки и скорость интернета от этой вышки – как-то связаны. Никак. Абсолютно. Даже не пытайтесь найти корреляцию. Забудьте об этом навсегда.
И вот самая засада в том, что абонентское устройство (ваш телефон или 3G-модем) обучен коннектиться к самой “ярко светящей” вышке. К той, которая сейчас ближе, или которая “свободнее”, или ещё как-то на основании своей хитрой логики. А вам-то в реальности надо коннектиться к той, у которой и uplink широкий, и абонентов сравнительно немного, то есть которая реально даёт вам интернет с нормальной скоростью.
Решению этого противоречия и посвящается сей пост.
Переходим к практике:
Во-первых, нам нужен правильный модем. Правильный модем не требует никакого лишнего софта и работает на любом компьютере, потому что он реализует NDIS – виртуальную сетевую карту. Вы втыкаете его в USB-порт, и получаете сетевую карту в системе, к которой уже “подключён” интернет. Всё. Будь у это вас хоть винда, хоть линукс, хоть роутер.
Вот например Мегафон М100-3, в девичестве ZTE MF823:
Однако правильный модем умеет не только это. Внутри него – полноценный Linux, с Telnet-ом и веб-интерфейсом. Про Telnet сейчас не буду (ибо сложно и долго объяснять), а к веб-интерфейсу можно посылать команды обычным HTTP GET/POST, и получать ответы. В данном случае – ответы в JSON-формате.
Уловили? Простейший скрипт на любом доступном языке программирования – и вы можете рулить модемом как угодно, хоть руками, хоть из контроллера “умного дома”.
Во-вторых, нам нужен правильный роутер. Правильный роутер тоже имеет Linux внутри, имеет USB-порты с нормальным питанием, и поддерживает большинство нормальных современных модемов.
Вот например Keenetic Giga II. Ну, если вы видели один Keenetic, вы видели их все:
В-третьих, нам нужна антенна и мачта:
Нет, линукса в антенне нет.
В чём суть антенны? Не в том, чтобы тупо усилить сигнал. Усиления там кот наплакал, как вы поймёте далее. Суть узконаправленных антенн в том, чтобы “зажать” абонентское устройство на конкретную БС, которая вам понравится, а не на ту, которая “ярче светит”. И то не всегда – по физической природе, антенна немного “слушает задом” и боковыми сторонами.
Антенна втыкается в модем, модем втыкается в роутер, и вы получаете интернет и wi-fi на даче. В теории. Потому что на практике всё гораздо интереснее:
Практика:
Модем отдаёт нам, грубо говоря, дофига параметров. В моём случае – более 150 штук. Приведу наиболее ценные:
network_provider: MegaFon
wan_rrc_state: 3
wan_active_band: WCDMA 2100
network_type: HSPA+
lac_code: 1264
cell_id: 679dca
rssi: -74
rscp: -83
signalbar: 4
ecio: -9.5
Что здесь сказано? Мы имеем подключение к сети Мегафона, оно в настоящий момент активное (rrc state 3), текущий режим 3G на основе HSPA (варианты гуглите в википедии). Значение cell_id – идентификатор БС, уровень сигнала -83 Дб, палкометр – 4 палки, соотношение сигнал-шум -9.5 Дб. Да простят меня инженеры ещё раз.
Научившись получать эти цифры, лезьте на крышу и крутите мачту. Аккуратно, поворачивая буквально на 5 градусов, убирая руки от неё и ожидая до 2 минут каждый раз, чтобы сигнал “устаканился” и вы получили бы долгосрочную картину.
Никогда не судите по палкометру!
Начинающий мастер кручения антенн заинтересуется параметром cell_id и полезет смотреть в секретные базы, чтобы выяснить где эта вышка стоит. Я так же делал. Сейчас скажу: лезьте, если интересно, но толку от этой информации – ноль.
Основные параметры, на которые стоит глядеть, это rscp и ecio. Замечу, что из-за отсутствия вменяемых стандартов терминологии, в других модемах эти штуки могут называться совершенно по-другому. Важно то, что вышка знает эти ваши параметры, и отдаёт вам “канал” соразмерно им. Чем лучше они у вас будут, тем на лучший канал вы сможете претендовать.
Обратите внимание, что числа отрицательные, то есть “-9.5” хуже чем “-8.5”. По своему опыту скажу, что при значениях ниже “-90” и “-10” скорее всего ничего хорошего вы не получите. Теоретически, вы можете претендовать на максимальное возможное качество связи в пределах “-84” и “-8” соответственно. Я дотягивал до “-60” и “-5”.
Однако всё это не имеет никакого смысла, если БС, к которой вы присосались, имеет тощий uplink. Никто ведь не потащит оптоволоконный кабель в вашу деревню, правда? Поэтому сама вышка, скорее всего, имеет такой же хилый радиоканал “наружу”. Вы можете до опупения вытягивать децибеллы, однако если на самой вышке “мало интернета”, у вас его будет не больше чем на диалапе. Бувально 5-10 килобит в лучшем случае. Поэтому…
Реальная практика:
Реальность выглядит достаточно пессимистично. Поставьте будильник на 5 утра и ложитесь спать. Глубокой ночью или ранним утром вставайте и начинайте крутить антенну, переключаясь между БС-ками и запуская скачивание заведомо большого файла. Подойдёт DVD-ISO какого-нибудь бесплатного софта, который вы заранее проверили на адекватную скорость скачивания. Записывайте в блокнотик cell_id и среднюю скорость, и продолжайте крутить…
Автор этих строк, находясь в окружении 15 БС, в итоге словил нормальную скорость (порядка мегабита) только от одной вышки. Находящейся в лесу, за 20 километров, на другом берегу Ладожского озера.
А как же домашняя сеть?
Да очень просто. Получив более-менее стабильное подключение к сотовой связи, создавайте VPN до своего дома или офиса (где заблаговременно должен быть поднят VPN-сервер, разумеется) – и вот вы в домашней сети. Дальше можете додумать сами – поставить себе стационарный комп на даче, который будет это соединение держать постоянным (и проксировать весь траффик через него), или коннектиться индивидуально с ноутбука/телефона – это на ваш вкус.
Есть мнение, что при кручении антенны стоит проверять скорость через VPN. Утверждают, что провайдер при этом “не понимает” траффика в шифрованном канале, а значит не может его зашейпить или применить какое-нибудь ещё QoS.
Постскриптум:
Всё было бы гораздо проще, если бы в модеме можно было указать blacklist и whitelist интересующих нас вышек. Возможно, в глубине Telnet-доступа такая возможность и есть. Но об этом – в следующих сериях.