Роман Ерин
Интернет «от Москвы до самых до окраин»
Недорогой Интернет в любую точку страны? Это возможно! Использование спутниковой связи позволит вам подключиться к сети даже там, где нет ни коммуникаций, ни людей на многие километры. Все этапы подключения – от покупки оборудования до настройки.
Как оценить свои потребности и выбрать оборудование
В февральском номере журнала была опубликована статья Антона Борисова «Подключаемся к Интернету через спутник». В ней автор рассказал о так называемом «фишинге» – методе приёма со спутника данных, не предназначенных для вас. Разумеется такой способ хорош для при приёма тяжёлого контента – фильмов и музыки – за чужой счёт, но имеет один существенный недостаток – вы не можете выбирать, что вам принимать. Эта статья более полно познакомит вас с технологией использования спутникового канала доступа в сеть.
Не секрет, что в нашей стране, за пределами центрального региона – Москвы и Санкт-Петербурга, магистральные провайдеры устанавливают достаточно высокие цены за интернет-трафик. Сервис-провайдеры в регионах, таким образом, вынуждены ещё увеличивать цену, в результате чего она доходит до 2-3, а в некоторых регионах и до 4 рублей за 1 Мб. При этом, как правило, оплачивается только входящий к абоненту трафик. Всё это создаёт предпосылки для использования асимметричного доступа в Интернет при помощи спутников, посредством технологии Digital Video Broadcasting (DVB) – технологии цифрового вещания. Изначально технология была разработана для телевидения, но теперь используется и для работы в сети.
Итак, какие выгоды вы получите от использования спутникового доступа в сеть:
- дешёвый трафик (менее 1 рубля за 1 Мб при скорости до 5 Мбит);
- доступность безлимитных тарифов (32 Кбита от 1200 рублей);
- возможность доступа при отсутствии магистральных каналов (можно использовать в качестве обратного канала модем или GRPS);
- возможность доступа при полном отсутствии сетевой инфраструктуры (через приёмо-передающий комплекс).
На выбор типа доступа (асимметричный или двухсторонний) и оборудования в первую очередь влияет сумма денег, которую вы хотите потратить: если вы домашний пользователь, если у вас есть наземный канал и нет больших запросов в плане стабильности – можно выбрать самый дешевый вариант – установить в свой компьютер PCI DVB приёмник, такой как Skystar1, Skystar2 и их аналоги. Если же вы собираетесь потреблять много трафика, если для вас важна стабильность и минимизация цены за трафик – ваш выбор аппаратные DVB-маршрутизаторы с поддержкой более мощных алгоритмов сжатия (про алгоритмы подробно рассказано в разделе «Используемые методы сжатия»). Разница в цене этих решений составляет примерно 10-50 раз. Симметричный доступ мы в этой статье рассматривать не будем ввиду дороговизны оборудования, трудностей получения разрешений и большого объёма необходимой информации.
Кроме приёмного оборудования вам понадобится, конечно же, и сама тарелка. Для того чтобы оценить необходимый размер тарелки, воспользуйтесь картой покрытия спутника. Как правило, на ней имеются зоны, показывающие либо сразу размеры тарелки, либо уровень сигнала на местности (см. рис 1).
Рисунок 1. Карта покрытия спутника Express AM1 с отмеченными зонами уровня сигнала
После того как вы определились с размером антенны – вам необходимо выбрать подходящий вид конструкции. Тарелки бывают двух видов: прямофокусные и офсетные (см. рис. 2).
Рисунок 2. Типы приёмных антенн
Оба типа имеют свои плюсы и минусы. Если для приёма сигнала вам требуется размер тарелки менее 2 метров, настойчиво рекомендую выбирать офсетную антенну – у вас будет меньше хлопот со снегом – не будет скапливаться. Кроме того, это единственный вариант при установке антенны на стене или балконе.В противном случае вам следует выбрать прямофокусный вариант. Как можно видеть на рисунке, у прямофокусной тарелки часть поверхности зеркала закрывает конвертер, поэтому для антенн небольшого диаметра лучше выбирать офсетную модель. Из антенн, представленных на российском рынке, можно выделить продукцию ОАО «Алмет», выпускающуюся под названием «Супрал», как имеющую оптимальное соотношение цена/качество.
Вещание со спутников ведется в двух частотных диапазонах: C (3.4-4.2 GHz) и Ku (10.7-12.75 GHz). В зависимости от того, в каком диапазоне вы будете принимать сигнал, вы должны приобрести нужный конвертер. Для того чтобы определить, какой диапазон вам нужен, надо выбрать спутник и оператора на нём.
Используемые методы сжатия
При передаче информации через спутник используется несколько типов модуляции, позволяющих передавать в полосе шириной в 1 МГц эффективный поток скоростью до нескольких Мбит.
BPSK, QPSK, OQPSK, 8PSK, 16QAM – эти виды модуляции расположены в порядке возрастания сжатия. Подробное описание алгоритмов их работы выходит за рамки статьи.
Для практического использования достаточно знать: чем больше сжатие – тем ниже конечная цена трафика.
Выбор спутника
Итак, настало время выбрать спутник, с которого вы будете принимать сигнал. Есть два варианта: вы можете поискать в Интернете провайдеров спутникового доступа и на их сайтах посмотреть, какие спутники они используют, или, что предпочтительнее, вы можете найти подходящий спутник и выяснить, кто через него вещает. Посетите сайт http://www.lyngsat.com – на нём вы найдёте список спутников с их положением на орбите и сможете посмотреть, кто из провайдеров на них работает. Там же можно ознакомиться с картами зон вещания с каждого из транспондеров спутника. Предпочтение следует отдавать европейским операторам связи – у них цены ниже. Также имейте в виду, что многие провайдеры готовы работать с вами через спутники, на которых в данный момент их нет, поэтому личные переговоры с представителем провайдера часто позволяют многого добиться. Не стесняйтесь немного поторговаться – можно сбросить цену в некоторых случаях более чем в 2 раза.
Настройка оборудования
Итак, теперь у вас есть всё необходимое: тарелка, конвертер (головка), обычный телевизионный коаксиальный кабель (75 Ом), комплект приёмного оборудования (PCIплата или аппаратный демодулятор), компьютер (если используется PCI-плата). Для того чтобы вывести вашу тарелку на нужный спутник, вы можете воспользоваться двумя методами: применить специальное оборудование или собственную голову и руки. Если у вас есть спектроанализатор – наведение не составит большого труда. Надо всего лишь закрепить датчик прибора на месте конвертера в крепеже тарелки, примерно нацелиться на спутник и, ориентируясь по показаниям спектроанализатора, произвести точную настройку. Однако будем предполагать, что специального оборудования у вас нет, но есть голова, руки и немного знания математики.
Сразу оговорюсь, я буду рассматривать установку офсетной антенны на азимутальную подвеску. Про прямофокусные тарелки и полярную подвеску вы можете прочитать в Интернете.
Для того чтобы направить антенну, вы должны знать две цифры: азимут и угол места.
где:
- G1 – ваша географическая долгота;
- G2 – долгота расположения интересующего вас спутника на орбите (западная с минусом);
- W – ваша географическая широта.
Для более полного понимания, что это такое, см. рис. 3.
Рисунок 3. Определение азимута и угла места
Соберите антенну согласно инструкции по сборке. Жестко закрепите опору в выбранной точке. При установке на балконе или лоджии загородку сверлят насквозь и прикрепляют опору обычными длинными болтами большого диаметра. При установке на стене в ней сверлят отверстия и используют саморасклинивающиеся анкерные болты.
В соответствии с рис. 3, используя вышеприведённые формулы, отвес и транспортир, вам не составит труда в течение часа настроить тарелку на нужный спутник. Уровень сигнала при этом контролируется программным обеспечением (szap для Linux и setup4pc для Windows).
Имеет значение не только точная установка конвертера в фокусе антены, но и правильное положение относительно оси вращения конвертера. Обычно каждый конвертер (имеются в виду конвертеры, монолитно объединенные с поляризатором и облучателем, которые используются для установки антенны на один спутник) имеет метку «верх», которая связана с положением встроенного поляризатора (соответствует вертикальной поляризации). Однако точно вверх эта метка должна смотреть только на географической долготе спутника. Если вы устанавливаете антенну западнее или восточнее, чем расположен спутник, то конвертер нужно повернуть в держателе вокруг своей оси. Для многих современных мощных спутников, расположенных не слишком низко над горизонтом, этим эффектом можно пренебречь из-за запаса по мощности их сигнала. Однако, если вы ловите сигнал на пределе возможностей вашей приемной системы, то правильный угол поворота конвертера может дать существенное повышение уровня сигнала и создать запас на случай ухудшения метеорологической обстановки.
Мультифиды, DiSEqC – используем тарелку эффективно
Если вы планируете использовать тарелку единолично и при этом хотите не только пользоваться Интернетом, но и время от времени баловать себя просмотром телевизионных и прослушиванием радиопередач со спутника – вам может понадобиться мультифид – крепление на одну тарелку нескольких головок и устройства с поддержкой DiSEqC – протокола управления несколькими устройствами по одному кабелю. Если в вашей местности вы можете принимать несколько близко расположенных спутников – установите вместо стандартного крепления конвертера мультифид (его можно легко изготовить самостоятельно, но лучше купить).
Пример настройки компьютера под управлением Linux+Skystar2
Итак, вы имеете настроенную тарелку, компьютер под управлением Linux, DVB плату Skystar2 и, конечно же, договор с оператором связи. Ваша задача – настроить раздачу дешевого интернет-трафика всей вашей локальной сети.
Часть первая: настройка ядра
Для использования DVB-платы вам, скорее всего, придётся пересобрать ядро. Чем свежее оно будет – тем лучше. Я на момент написания статьи использовал на спутниковом маршрутизаторе ядро версии 2.6.15.4 – поэтому описание будет происходить на его основе. Для более ранних ядер будьте внимательны – драйверы называются по-другому и расположены в другом месте конфигурации ядра.
Внимание! Всё, что относится к dvb, собирайте модулями.
В разделе «Device Drivers Multimedia Devices Digital Video Broadcasting Devices» включайте:
- DVB Core support
- Technisat/B2C2 FlexCopII(b) and FlexCopIII adapters
- Technisat/B2C2 Air/Sky/Cable2PC PCI
В /etc/modprobe.conf добавьте строку:
options dvb_core dvb_shutdown_timeout=0
Это необходимо сделать для того, чтобы Skystar не переходил постоянно в режим энергосбережения, в котором он перестаёт принимать сигнал.
Выполните сборку, установку и перезагрузите компьютер.
Часть вторая: готовим утилиты
На сайте http://www.linuxtv.org возьмите утилиты управления DVB-картами linuxtv-dvb-apps или, если вы используете Slackware Linux, скачайте бинарный пакет со специально мной пропатченными утилитами с моего сайта http://kid.tomsk.ru.
Также в составе пакета доступны man страницы на русском и английском языках, а также утилита интерактивной настройки dvb-setup.
После установки этих утилит вам станут доступны следующие необходимые программы:
- szap – программа настройки карты на нужную частоту;
- dvbnet – программа, включающая сетевую надстройку над DVB;
- dvbtraffic – программа просмотра текущей активности на спутнике – позволяет проверить приём с тарелки.
Часть третья: готовим стартовые скрипты
Создайте файл /etc/channels.conf следующего содержания:
Название оператора:частота в Мгц:поляризация(h|v):fec(0-авто):символьная скорость(в килосимволах в сек.):PID:PID:0
Создаем стартовый скрипт rc.dvb
#!/bin/bash
PREFIX=/usr/local/sbin
# Ваш пид – его вам сообщит ваш оператор связи
PID1=523
# Имя сетевого интерфеса (менять не нужно)
DEV_NAME1=dvb0_0
# IP-адрес можно любой, лишь бы он не пересекался по маске ни с каким другим адресом в вашей системе.
# Настоятельно рекомендую оставить нули
IP_ADDR=0.0.0.0
# MAC-адрес вашей карточки (как правило, его можно прочитать на бумажной наклейке на самой карте),
# но можно использовать любой. Единственное ограничение – такого MAC-адреса не должно быть больше ни у кого,
# кто использует этот спутник
MAC_ADDR1=xx:xx:xx:xx:xx:xx
case "$1" in
start)
# Загружаем модули
modprobe dvb_core dvb_shutdown_timeout=0
modprobe b2c2_flexcop_pci
# Если у вас настроен udev, то нужно немного времени, чтобы устройства появились в каталоге /dev
sleep 3
# Тюним карточку
$PREFIX/szap -c /etc/channels.conf -n 1 -p
$PREFIX/dvbnet -p $PID1
/sbin/ifconfig $DEV_NAME1 $IP_ADDR
/sbin/ifconfig $DEV_NAME1 hw ether $MAC_ADDR1
echo 1000000 > /proc/sys/net/core/rmem_max
echo 0 > /proc/sys/net/ipv4/conf/dvb0_0/rp_filter
;;
stop)
# Останавливаем szap
killall szap
# Останавливаем сетевой интерфейс
/sbin/ifconfig $DEV_NAME1 down
$PREFIX/dvbnet -d 0
# Выгружаем модули
rmmod b2c2_flexcop_pci b2c2_flexcop stv0299 dvb_core
;;
restart)
$0 stop
$0 start ;;
*)
echo "Usage: start | stop | restart"
esac
Этот скрипт можно использовать как в Slackware, так и в SysV-системах, типа RedHat.
Внимание! В этом скрипте используются пропатченные утилиты. Если вы используете оригинальные утилиты с www.linuxtv.org – вам потребуется внести изменения.
Часть четвертая: поднимаем обратный канал
Итак, канал для приёма информации уже есть, осталось создать запросный канал. Я буду рассматривать сейчас подключение к оператору спутникового Интернета с помощью ipip тунеля, что подразумевает наличие у вас статического IP-адреса и скорее всего постоянного наземного подключения. Если это не так – вам придётся использовать openvpn или pptp.
#!/bin/bash
LOCALIP=xx.xx.xx.xx # Ваш наземный постоянный IP-адрес
REMOTEIP=xx.xx.xx.xx # IP-адрес сервера спутникового провайдера
LOCALGW=xx.xx.xx.xx # Ваш наземный шлюз
TUN=yy.yy.yy.yy # Ваш адрес в туннеле
TUNGW=xx.xx.xx.xx # Адрес провайдера в туннеле
NAME="skytun" # Имя тунеля
modprobe ipip
# Удаляем «мусор» в случае повторных запусков скрипта
ip route del $REMOTEIP >/dev/null 2>&1
# Добавляем маршрут на сервер доступа провайдера «по земле»
ip route add $REMOTEIP via $LOCALGW
ip tunnel del $NAME
# Создаём тунель
ip tunnel add $NAME mode ipip remote $REMOTEIP local $LOCALIP ttl 255
ip link set $NAME mtu 1500
ip addr add $TUN peer $TUNGW dev $NAME
ip link set $NAME up
ip route del default
ip route add default via $TUNGW
ip route flush cache
Часть пятая: раздаем Интернет в локальную сеть
# Включаем маршрутизацию
echo 1>/proc/sys/net/ipv4/ip_forward
В некоторых случаях, если вы наблюдаете проблемы с загрузкой крупных объектов, при нормальном прохождении пинга, может потребоваться добавить вот такую строку:
iptables -A FORWARD -p tcp -o skytun --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1300
Дальше:
# Раздаём интернет в сеть mynet/masklen
iptables -t nat -A FORWARD -s mynet/masklen -j SNAT –to-source yy.yy.yy.yy
Готово! Вы имеете систему с настроенным спутниковым Интернетом и раздачей его всей локальной сети.
Приложение
Используем одну карту для работы с несколькими подписками одновременно
Зачастую бывает, что одной подписки оказывается мало, как например в моем случае – я хочу иметь медленную безлимитную подписку и быструю с помегабатной оплатой.
Skystar2 поддерживает до 32 одновременных независимых каналов приёма с одного транспондера. Каждый канал будет различаться только mac адресом на нём. Модифицируйте стартовые скрипты необходимым образом. В качестве MAC-адресов для новых интерфейсов, как вариант, можно брать адреса со сгоревших сетевых плат.
Вам также придётся потратить какое-то время для того, чтобы объяснить спутниковому провайдеру, что от него требуется. Схема взаимодействия показана на рис. 4.
Рисунок 4. Схема взаимодействия
Основная мысль заключается в том, чтобы делать SNAT на разные адреса для разных пользователей/сервисов.
Ошибки, часто допускаемые начинающими
Ошибки, которые делаются на этапе настройки оборудования на спутник:
- путают точку отсчета при выборе угла места;
- забывая основы школьного курса географии, отсчитывают азимут от юга.
Ошибки, которые делаются на этапе настройки ОС Linux:
- забывают отключать тайм-аут засыпания карты.