Итак, единственный доступный мне способ подключения к internet - это usb-модем от Мегафона. С момента написания этой статьи многое было понято заново, переосмысленно и думаю тут я углублюсь в техническую сторону его настройки.
Для начала нам необходим пакет ppp, ну и make, если ещё не стоит
# apt-get install ppp make
Затем, закачиваем вот этот файлик huawei.tar.bz2 распаковываем, и выполняем
# make install_ubuntu
Ubuntu и Debian - генетически очень близки и ничего удивительного, что пакеты от одного подходят и другому.
В процессе «установки» из этого пакета достаётся несколько файлов и размещается где надо. Что это за файлы
Это правило для udev, благодаря которрому и удаётся использовать huawei-e220 как модем, а не как CD-диск, которым он вначале прикидывается. Вот его содержимое. Знатоки udev наверняка найдут в нём много интересного, я же просто приведу его как есть.
##
#
# udev rule for HUAWEI E220 3G HSDPA Modem
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# (c)opyleft OOZIE < oozie@poczta.fm >
#
# This file prevents the pseudo scsi cdrom device from enabling,
# thus providing a workaround for kernel versions < 2.6.20
#
##
SUBSYSTEM=="block", \
ACTION=="add", \
SYSFS{idVendor}=="12d1", \
SYSFS{idProduct}=="1003", \
IMPORT{program}="huawei-mobile.sh", \
OPTIONS="ignore_device"
Это pppd - конфиг для соединения с провайдером. Содержит основные настройки ppp-соединения. D него я наставил камментов для пояснения, так как с этим файлом у меня возникли некоторые сложности, заставившие прибегнуть к паре грязных хаков.
# /etc/ppp/peers/huawei-e220 pppd script # pppd call huawei-e220 /dev/ttyUSB0 # Устройство модема 3600000 # Скорость соединения noipdefault # Использовать локальный IP и IP-шлюза выдаваемые провайдером defaultroute # Создать при соединении маршрут по уполчанию на IP шлюза провайдера persist noauth nodetach userpeerdns # Использовать IP DNS серверов, выдаваемых провайдером connect "/usr/sbin/chat -vf /etc/chatscripts/huawei-e220.chat" #Использовать этот скрипт соединения
Скрипт дозвона. Его тоже приведу без камментов. С мегафоном он прекрасно работает. Не исключено, что его надо поправить, если у других операторов, например, отличается номер дозвона или требуется логин и пароль.
TIMEOUT 3 ABORT BUSY ABORT 'NO CARRIER' ABORT VOICE ABORT 'NO DIALTONE' ABORT 'NO DIAL TONE' ABORT 'NO ANSWER' ABORT DELAYED "" ATZ OK ATQ0V1E1S0=0&C1&D2 OK ATDT*99# CONNECT ""
Собственно всё, что нужно - запустить pppd, передав ему в качестве параметра имя провайдера huawei-e220
#pppd call huawei-e220&
А теперь о грустном, несмотря на присутствие в /etc/ppp/peers/huawei-e220 строчки
defaultroute
И отсутствию(я её убрал, так как собирался использовать свой DNS)
usepeerdns
Я поимел 2 проблемы
Зная, что в качестве шлюза ppp-соединения свегда получается 10.64.64.64, я пошел на то, чтобы прописать в /etc/rc.local(этот скрипт всегда исполняется после загрузки системы), следующее
pppd call huawei-e220 & # Поднимаем ppp-соединение route add default gw 10.64.64.64 # Прокидываем маршрут по умолчанию cp /etc/resolv.conf /etc/ppp # Подсовываем свои DNS-серверы
После перезагрузки получаем машинку, подключенную к Internet