суббота, 7 декабря 2013 г.

Misc: Как я себе интернет резервировал

Так уж получилось, что иногда в поселке, где я живу раз в полгода стабильно нет света по несколько дней, а с отключение электричества, перестает функционировать оборудование провайдера, иногда света нет в соседнем поселке, через который идет подключение прова.
И если электричество резервируется бензиновым генератором, то с интернетом сложнее, не ставить же генератор за свой счет на оборудование прова.
Из вариантов: спутниковый интернет довольно дорогой, 3G или GPRS не работает в нашем лесу нормально, есть  еще ADSL интернет от провайдера телефонии, но он ОЧЕНЬ дорогой, и за него надо платить регулярно. Два года назад тестировал прием с крыши YOTA и сигнал был слишком слаб, но на неделе я проверил покрытие YOTA через их сайт, и обнаружил, что мой дом попадает на границу уверенного приема. Купил USB модем за 1900 и 5м USB удлинитель (дабы достать от сервера до вентиляционного отверстия в стене гаража, смотрящей в сторону вышки), проверил прием и получил уверенные 11Мбит по скорости (уровень сигнала 21db).
Осталось дело за малым - поженить модем с шлюзом на gentoo и настроить автоматический переход на резервный канал, когда основной лежит, что в целом занимает минут 5.
Установка модема на linux занимает минимум времени, все что нужно для счастья - включить в ядре поддержку RNDIS устройств. И мы получаем новый eth интерфейс.
Device Drivers --->
    [*] Network device support --->
        USB Network Adapters --->
            [*] Multi-purpose USB Networking Framework
                <M>   Host for RNDIS and ActiveSync devices
Если возникнут проблемы, стоит проверить, что модем вовсе видится системой:
 miko ~ # dmesg | grep YOTA  
 usb 1-5: Product: Modem YOTA 4G LTE  
Судя по гуглам существует 2 способа настрйоки механизма резервирвоания:
1. Пишем скрипты, которые пингуют через основной канал, и если нет конекта переключают траффик на резервный.
2. Выставляем метрики каналов в порядке приоритета, например, у меня это выглядит так:
 miko ~ # ip route  
 default via 62.122.192.254 dev ppp0 metric 1  
 default via 10.0.0.1 dev eth4 metric 2  
 default via 192.168.0.1 dev eth0 metric 100  
 10.0.0.0/24 dev eth4 proto kernel scope link src 10.0.0.10  
 62.122.192.254 dev ppp0 proto kernel scope link src 46.150.167.243  
 127.0.0.0/8 dev lo scope host  
 127.0.0.0/8 via 127.0.0.1 dev lo  
 192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.1  
Суть такая, что траффик идет через интерфейс с наименьшей метрикой, это у меня ppp0 подключения к основному прову. Если ppp0 ложится, то траффик анчнает идти через следующий по метрике интерфейс eth4 - интерфейс модема YOTA.
Базовые тесты показали успешность мезанизма, что ожидаемо, следует мне положить основной канал и трафик начинает идти через резервный.
Этот метод резервирования не поможет если подключение к прову есть, но у прова проблемы на своей стороне, но скрипты мне пока лень писать, а такая ситуация была всего два раза за последний год в максимум час по времени.
Ожидаю, что при сильнмо морозе модем может замерзнуть, если такое случится, придется подумать о его отеплении, с улицей его разделяет 2 деревянных решетки и дыра в брусе между ними.

Судя по всему, YOTA можно оплачивать на день, что прекрасно подойдет на дни, когда резерв нужен, все остальное время она будет работать с 64кбит/с на бесплатном тарифе.

Теперь жду не дождусь, когда отключат свет опять, чтобы проверить все это в живых условиях.

Комментариев нет:

Отправить комментарий