Сегодня утром мне пришла в голову мысль попробовать заявленную поддержку беспроводных модемов во Vyatta. Собственно модема под рукой не оказалось, поэтому я подключил телефон Nokia к маршрутизатору по USB.
Выбрал режим подключения «PC Suite», в режиме «Накопитель» нокии работают как простой USB mass storage device. Телефон определился как /dev/ttyACM0, реакция на AT-команды была проверена путем подключения через minicom.
Практическая ценность такого мероприятия в наших условиях, конечно, сомнительна, разве что использовать как резервный канал для управления на случай глобальных проблем с основным. В местах, где есть дешевые 3G-провайдеры это существенно актуальнее.
Приступаем к настройке
Беспроводные модемы настраиваются в set interfaces wirelessmodem, сами интерфейсы должны иметь имя wlmX. Для работы достаточно указать опции «device <имя устройства>» и «network <название сети>». И вот тут начинаются проблемы.
Дело в том, что по умолчанию там присутствуют только сети AT&T, Verizon и SC1. Видимо, это те, которыми пользуются сами авторы и на которых тестировали функциональность. Для моей TELE2 там ничего нет. А от сети зависят AT-команды, посылаемые модему для подключения.
Создаем новую сеть
Раз нашей сети нет, создадим ее сами. Находим в исходном коде, что файлы описаний сетей лежат в /opt/vyatta/share/ppp/network. Путем чтения сайта оператора связи и общения с тех. поддержкой узнаем подробности о нужных AT-командах и делаем свой файл (в моем случае пришлось лишь немного поправить настройки AT&T). Вот содержимое файла /opt/vyatta/share/ppp/network/tele2ru
ABORT 'NO DIAL TONE' ABORT 'NO ANSWER' ABORT 'NO CARRIER' ABORT DELAYED '' AT OK ATZ OK 'AT+CGDCONT=1,"IP","internet.tele2.ru"' OK ATD*99# CONNECT ''
Создаем интерфейс
Вот теперь действительно можно приступать. Настраиваем интерфейс:
dmbaturin@rekki# set interfaces wirelessmodem wlm0 device ttyACM0 dmbaturin@rekki# set interfaces wirelessmodem wlm0 network tele2ru dmbaturin@rekki# commit dmbaturin@rekki# show interfaces wirelessmodem wlm0 { device ttyACM0 network tele2ru }
После commit он подключится автоматически, что можно увидеть в системных сообщениях.
Jun 23 16:25:41 vyatta pppd[29193]: pppd 2.4.4 started by root, uid 0 Jun 23 16:25:45 vyatta pppd[29193]: Connect: ppp9 <--> /dev/ttyACM0 Jun 23 16:25:45 vyatta vyatta-zebra[2915]: interface ppp9 index 822added. Jun 23 16:25:45 vyatta pppd[29193]: PAP authentication succeeded Jun 23 16:25:47 vyatta vyatta-zebra[2915]: warning: PtP interface ppp9 with addr 77.216.137.187/32 needs a peer address Jun 23 16:25:47 vyatta vyatta-zebra[2915]: interface index 822 was renamed from ppp9 to wlm0 Jun 23 16:25:47 vyatta vyatta-ripngd[2919]: interface delete ppp9 index 822 flags 0x1090 metric 1 mtu 1500 Jun 23 16:25:47 vyatta vyatta-ripd[2917]: interface delete ppp9 index 822 flags 0x1090 metric 1 mtu 1500 Jun 23 16:25:47 vyatta vyatta-zebra[2915]: interface wlm0 index 822 changed . Jun 23 16:25:47 vyatta pppd[29193]: Cannot determine ethernet address for proxy ARP Jun 23 16:25:47 vyatta pppd[29193]: local IP address 77.216.137.187 Jun 23 16:25:47 vyatta pppd[29193]: remote IP address 10.6.6.6 Jun 23 16:25:47 vyatta pppd[29193]: primary DNS address 193.12.150.26
При желании его можно подключить или отключить вручную, используя команды операционного режима «connect interface wlm0» и «disconnect interface wlm0» соответственно.
На всякий случай проверим правильность работы. Добавим статический маршрут до чего-нибудь редко используемого (чтобы не допустить прохождения основного трафика через дорогое соединение) и посмотрим трассировку маршрута до него.
dmbaturin@rekki# set protocols static interface-route 193.12.93.139/32 next-hop-interface wlm0 [edit] dmbaturin@rekki# commit [edit] dmbaturin@rekki# run traceroute www.tomsk.tele2.ru traceroute to www.tomsk.tele2.ru (193.12.93.139), 30 hops max, 40 byte packets 1 spb-c7606-rtk.vlan411.swip.net (212.151.224.17) 630.295 ms 646.184 ms 666.634 ms 2 kst-core-1.gigabiteth9-0-0.swip.net (212.151.224.49) 686.061 ms 706.023 ms 745.949 ms 3 kst-ncore-1.tengigabiteth2-1.swip.net (130.244.52.106) 765.912 ms 790.003 ms 805.800 ms 4 kst-spe-1.tengigabiteth3-4.swip.net (130.244.206.118) 805.747 ms 805.694 ms 825.622 ms 5 kst-spe-1.tengigabiteth3-4.swip.net (130.244.206.118) 825.569 ms !X 826.878 ms !X *
Проблемы
В целом, использовать беспроводные модемы с Vyatta можно. Были обнаружены только два несущественных бага, первый: добавить description и прочие опции можно только после создания интерфейса; второй: при подключении не создается файл журнала.
Существенно более серьезной проблемой являются настройки конкретных сетей. Почти для всех эти настройки сейчас придеться добавлять самому. Не то, чтобы действительно мешало работе, но я все же был бы за как можно большее число готовых настроек, особенно учитывая что в явном виде они обычно нигде не лежат.
Если у кого-то будет желание, можете прислать мне настройки подключений для других сетей.
Комментариев нет:
Отправить комментарий