Автор: tuxmaster
С версии: 1.5
Спутниковый Интернет - это экономичный способ высокоскоростного подключения к интернету. Спутниковое соединение обеспечивает столь же быструю скорость, как и выделенная линия или DSL - до нескольких мегабит в секунду (это примерно в 100 раз быстрее обычного модема). Спутниковая связь очень надежна, и вопреки расхожему мнению, отлично работает при любой погоде - нужно просто использовать антенну достаточного диаметра.
Услугами спутникового Интернет можно пользоваться в любой географической точке, расположенной в обширной зоне обслуживания спутника. Если изменится место Вашего проживания, Вы всегда сможете перенести свой "спутниковый канал". Вам не придется снова тратить деньги на высокоскоростное подключение к интернету.
Передача данных через спутник носит односторонний характер (асимметричный доступ): Вы можете только получать данные. Для передачи Ваших запросов на какую-либо информацию в Сети, а также исходящих от Вас данных (например, Ваших электронных писем) нужно использовать любой вид наземного соединения. Вся входящая к Вам информация будет поступать через высокоскоростной спутниковый канал.
Для приема информации со спутника используется комплект оборудования, состоящий из спутниковой антенны, конвертера и dvb-платы. Никаких разрешительных документов на установку принимающей антенны не требуется. В дальнейшем мы предполагаем, что Ваша спутниковая антенна уже установлена и настроена.
Перейдите в каталог с исходными кодами ядра и введите команду make menuconfig. Этой командой Вы вызовете конфигурационное меню, использующее ncurses.
Листинг 1: Вызов конфигурационного меню
# cd /usr/src/linux
# make menuconfig
Перед Вами появятся несколько секций настроек. Прежде всего необходимо включить поддержку загружаемых модулей (если Вы использовали genkernel этот шаг можно пропустить).
Листинг 2: Включение поддержки модулей
Loadable module support --->
[*] Enable loadable module support
[*] Automatic kernel module loading
Включите поддержку Вашей DVB-платы.
Листинг 3: Включение поддержки DVB:
Device Drivers --->
Multimedia devices --->
<M> DVB for Linux
[*] Load and attach frontends modules as needed
[*] DVB/ATSC adapters --->
<M> Ваша_DVB-плата
Теперь Вы можете приступить к компиляции ядра. Если Вы неуверенны в своих силах обратитесь к соответствующим разделам руководства.
Для проверки работоспособности оборудования, настройки, создания сетевого интерфейса, и т.п. Вам потребуются определенные утилиты, входящие в состав linuxtv-dvb-apps
Листинг 4: Установка пакета утилит
# emerge linuxtv-dvb-apps
По умолчанию после 5 секунд простоя DVB-плата отключается, при использовании ядер 2.6.23 и старше эта проблема решается загрузкой модуля dvb_core с параметром dvb_shutdown_timeout=0
Листинг 5: Установка параметров модуля
# echo 'alias dvb_core dvb_shutdown_timeout=0' >> /etc/modules.d/aliases
К сожалению, в ядрах 2.6.24 такой способ не работает.
В файле channels.conf хранятся параметры настройки dvb-карты на спутник. Для дальнейшей работы нам нужны значения частоты, скорости потока и поляризации, узнать их можно на сайте провайдера.
Листинг 6: Создаем /etc/channels.conf
# nano -w /etc/channels.conf
Теперь заполним channels.conf параметрами транспондеров. Ниже приведен пример channels.conf для провайдера Raduga с подробными комментариями.
Листинг 7: channels.conf для абонетов Raduga
# Каждая строка описывает параметры отдельного транспондера в формате:
# Name:Frequency:Polarisation:diseqc:Symbolrate:VPID:APID:SID
# где
# Name — Желаемое название транспондера
# Frequency — Частота транспондера в мегагерцах (МГц, MHz)
# Polarisation — Поляризация, возможные значения
# v-вертикальная (левая круговая), h-горизонтальная (правая круговая)
# diseqc — Номер входа diseqc. Если у Вас один конвертер выберите 0.
# Symbolrate — Символьная скорость в килосимволов/сек (Ksps)
# Express AM22 (53 East)
1:11096:v:0:6164:0:0:0
# Express AM1 (40 East)
2:11082:v:0:5064:0:0:0
# Intelsat 904 (60 East)
3:11595:v:0:29270:0:0:0
4:10983:v:0:3819:0:0:0
# Yamal 201 Ku (90 East)
5:11672:v:0:18200:0:0:0
# Yamal 201 C (90 East)
6:3980:h:0:38000:0:0:0
# ABS 1 (75 East)
7:12609:v:0:22000:0:0:0
# Sirius 4 (5 East)
8:12680:v:0:9404:0:0:0
Так как при каждом включении или перезагрузке необходимо создавать dvb-сетевой интерфейс, рекомендуем создать скрипт, выполняющий эти действия автоматически.
Листинг 8: Создаем /bin/satup
# nano -w /bin/satup
Листинг 9: Вариант /bin/satup
#!/bin/bash
# Параметры подписки
# Ваш PID
PID=0x1234
# IP адрес подписки
IP_ADDR=000.111.222.333
# MAC адрес платы, на которую оформлена подписка
MAC_ADDR=00:11:22:33:44:55
# Поднимаем сетевой интерфейс
dvbnet -p $PID
/sbin/ifconfig dvb0_0 $IP_ADDR
/sbin/ifconfig dvb0_0 hw ether $MAC_ADDR
# Отключаем spoof-фильтрацию
echo 0 > /proc/sys/net/ipv4/conf/dvb0_0/rp_filter
Листинг 10: Добавление /bin/satup в автозапуск
# echo '/bin/satup' >> /etc/conf.d/local.start
Общий принцип, не зависящий от провайдера: необходимо разрешить входящий трафика с DVB-платы на порты ускорителя и исходящий на сервер провайдера.
Листинг 11: Пример настройки iptables для ускорителя Sprint (спутник Yamal-90 Ku)
# iptables -A INPUT -p udp -m udp -i dvb0_0 --dport 8093 --sport 1024:65535 -j ACCEPT
# iptables -A OUTPUT -p udp -m udp -m multiport -d 80.81.208.66 --dports 8093,8095 --sport 1024:65535 -j ACCEPT
# /etc/init.d/iptables save
Запустите в терминале szap с параметрами 'n номер_транспондера_в_файле_channels.conf', 'x' — прекратить работу после настройки и 'c путь_к_файлу_channels.conf'
Листинг 12: Проверка параметров трансподера Ku-диапазон
~ szap -n 5 -x -c /etc/channels.conf
reading channels from file '/etc/channels.conf'
zapping to 5 '5':
sat 0, frequency = 11671 MHz V, symbolrate 18200000, vpid = 0x0000, apid = 0x0000
using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
status 00 | signal d689 | snr 9a83 | ber 00000117 | unc 00000000 |
status 1f | signal e625 | snr d587 | ber 00000088 | unc 00000000 | FE_HAS_LOCK
Листинг 13: Проверка параметров трансподера C-диапазон
~ szap -n 6 -x -l C-BAND -c /etc/channels.conf
reading channels from file '/etc/channels.conf'
zapping to 6 '6':
sat 0, frequency = 3980 MHz H, symbolrate 38000000, vpid = 0x0000, apid = 0x0000
using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
status 00 | signal a367 | snr 7543 | ber 00000129 | unc 00000000 |
status 1f | signal ea32 | snr e259 | ber 00000052 | unc 00000000 | FE_HAS_LOCK
Ключевые слова: status 1f и FE_HAS_LOCK говорят о том, что настройка завершилась успешно. Теперь проверим, поддерживает ли Ваше ядро параметр dvb_shutdown_timeout=0
Листинг 14: Ядро поддерживает dvb_shutdown_timeout=0
~ femon
using '/dev/dvb/adapter0/frontend0'
FE: ST STV0299 DVB-S (SAT)
status 1f | signal e5df | snr d500 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal e879 | snr d518 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal e8a0 | snr d527 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
Листинг 15: Ядро не поддерживает dvb_shutdown_timeout=0
~ femon
using '/dev/dvb/adapter0/frontend0'
FE: ST STV0299 DVB-S (SAT)
status 03 | signal 9f5e | snr 0000 | ber 00008080 | unc 00000000 |
status 03 | signal 9f5e | snr 0000 | ber 00008080 | unc 00000000 |
status 03 | signal 9f5e | snr 0000 | ber 00008080 | unc 00000000 |
Во втором случае перед подключением к Интернету необходимо запустить szap без параметра 'х' (при этом окно терминала закрывать нельзя). Добавьте эту команду в скрипт запуска ускорителя спутникового интернета.
Листинг 16: Запуск szap в фоновом режиме (пример для Ku-диапазона спутника Yamal-90)
~ szap -n 5 -c /etc/channels.conf >> null &
Теперь, когда dvb-плата настроена, проверим принимает ли dvb-плата поток
Листинг 17: Проверка обработки dvb-платой транспортного потока
~ dvbtraffic
1039 53 p/s 9 kb/s 80 kbit
103a 7 p/s 1 kb/s 11 kbit
103b 271 p/s 49 kb/s 408 kbit
103c 102 p/s 18 kb/s 154 kbit
103d 713 p/s 130 kb/s 1073 kbit
104a 1190 p/s 218 kb/s 1790 kbit
104b 835 p/s 153 kb/s 1256 kbit
104c 635 p/s 116 kb/s 955 kbit
104d 843 p/s 154 kb/s 1267 kbit
104e 1187 p/s 217 kb/s 1786 kbit
104f 962 p/s 176 kb/s 1447 kbit
1051 167 p/s 30 kb/s 252 kbit
1057 91 p/s 16 kb/s 137 kbit
1101 4485 p/s 823 kb/s 6746 kbit
1105 195 p/s 35 kb/s 293 kbit
2000 14404 p/s 2644 kb/s 21664 kbit
-PID—FREQ-----BANDWIDTH-BANDWIDTH-
и функционирование сетевого интерфейса
Листинг 18: Проверка сетевого интерфейса
# tcpdump -c 3 -qn -i dvb0_0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on dvb0_0, link-type EN10MB (Ethernet), capture size 96 bytes
16:55:06.196218 IP 10.10.10.1 > 10.252.43.127: udp
16:55:06.196802 IP 10.10.10.1.52632 > 10.252.43.246.8093: UDP, length 884
16:55:06.196871 IP 10.10.10.1.52632 > 10.252.43.246.8093: UDP, length 884
3 packets captured
3 packets received by filter
0 packets dropped by kernel
Установите соединение с наземным провайдером, запустите ускоритель и пользуйтесь недорогим и качественным интернетом со спутника :)
Листинг 19: Пример скрипта для запуска ускорителя Sprint
#!/bin/bash
szap -n 5 -c /etc/channels.conf >> null &
cd /home/sprint
/home/sprint/sprint