Пропал у меня ADSL, решил поднять на выходные 3G модем. При старте системы у меня теперь автоматом поднимается 3G модем и работает через ppp.
Я спользовал 3G модем HUAWEI E153.
Первым делом нужно переключить модем в режим «только модем».
Для этого можно установить его например в Windows и зайти на него терминалом и выполнить команду:
ATZ
AT^U2DIAG=0
AT&W
Или воспользоваться утилитой под Linux, которая называется usb-modeswitch.
Как ею пользоваться найдете в интернете. Вот пример как это сделать с 3G модемом Huawei E1550.
После этого мы смело вставляем модем в ПК с Ubuntu и увидим, что у нас появились USB COM порты.
Далее нам понадобится wvdial.
Устанавливаем его:
sudo apt-get install wvdial
В моем случае небыло интернета и мне пришлось сначала завести модем на ноутбуке, поднять там прокси сервер, и настроить ubuntu чтобы apt-get ходил через прокси.
Далее запускаем конфигуратор wvdial:
sudo wvdialconf
Он опросит все порты, найдет модем и создаст файл /etc/wvdial.conf
Нам останется его только немного подправить.
Я добавил строки инициализации, чтобы он был в WCDMA сети и дозванивался с нужным APN.
Так же я установил скорость порта 460800, номер дозвона, имя пользователя и пароль.
Учтите что я настраиваю в сети MTS Uzbekistan, для других регионов настройки уточняйте у провайдеров.
Вот мой конфиг:
[Dialer Defaults]
Init1 = ATZ
Init2 = AT^SYSCFG=2,2,3fffffff,1,2
Init3 = at+cgdcont=1,»ip»,»net.mts.uz»
Modem Type = USB Modem
Baud = 460800
New PPPD = yes
Modem = /dev/ttyUSB_utps_modem
ISDN = 0
Idle Seconds = 0
Dial Attempts = 0
Phone = *99#
Password = mts
Username = mts
Stupid Mode = yes
Теперь настраиваем PPP интерфейс.
Добавляем в конец файла /etc/network/interfaces следующие строки:
# 3G Modem
iface ppp0 inet wvdial
provider wvdial
auto ppp0
Далее нужно создать скрипт, чтобы при подключении PPP Он менял default gateway, прописывал NAT и в моем случае еще рестартовал squid.
Для этого создаем скрипты в /etc/ppp/ip-up.d/
Скрипт routing для замены default gateway:
#! /bin/sh
#
route del default
route add default ppp0
Скрипт nat для натинга:
#! /bin/sh
#
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables —table nat -A POSTROUTING -o ppp0 -j MASQUERADE
Скрипт sqd для рестарта squid:
#! /bin/sh
#
/etc/init.d/squid restart
Если нужно, чтобы при отключении ppp маршрутизация возвращалась на eth0, то создаем скрипт в /etc/ppp/ip-down.d/
Скрипт routing для возвращения маршрутизации на eth0:
#! /bin/sh
#
route del default
route add default eth0
Вот собственно и все. Перегружаемся, проверяем что модем подключился, интернет работает.
Рестартовать соединение можно вот так:
ifdown ppp0 && sleep1 && ifup ppp0
Все.
> Добавляем в конец файла /etc/network/interfaces следующие строки:
> # 3G Modem
> iface ppp0 inet wvdial
> provider wvdial
> auto ppp0
После provider надо указать имя секции в файле /etc/wvdial.conf
Осебенно полезно если у вас несколько модемов и для каждого нужна отдельная конфигурация.
Да, согласен, но у меня модем был один и конфигурация дефолтовая.
ребята,помогите настроить 3G модем Novatel ex 720 (intertelecom) в Ubuntu 11.10.никак не получается,а другого инета нет((
У меня нет этого модема, поэтому помочь не могу. Принцип настройки должен быть похожий.
ДД, сделал все как Вы написали, соединение устанавливается, но нет доступа в инет. Может что-то еще не хватает в моей системе? Сорри это мой первый сервер.
Заранее спасибо
Что происходит когда вводишь команду wvdial?
ДД, Дмитрий! спасибо что откликнулись!
Пишет соединение установлено, но при вводе «apt-get upgate» пишет что нет соединения.
если быть точным, то вот:
—> WvDial: Internet dialer version 1.61
—> Initializing modem.
—> Sending: ATZ
ATZ
OK
—> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
—> Sending: AT+CGDCONT=1,»IP»,»internet»
AT+CGDCONT=1,»IP»,»internet»
OK
—> Modem initialized.
—> Sending: ATDT*99#
—> Waiting for carrier.
ATDT*99#
CONNECT
—> Carrier detected. Starting PPP immediately.
.. connection successfully established.
(это с Webmin-а с терминала пока не знаю как копировать)
Странные у тебя команды модема…
вот мой wvdial.conf для UCELL
[Dialer Defaults]
Init1 = ATZ
Init2 = AT^SYSCFG=2,2,3fffffff,1,2
Init3 = at+cgdcont=1,»ip»,»internet»
Modem Type = USB Modem
Baud = 460800
New PPPD = yes
Modem = /dev/ttyUSB_utps_modem
ISDN = 0
Idle Seconds = 0
Dial Attempts = 0
Phone = *99#
Password = none
Username = none
Stupid Mode = yes
вот мой wvdial.conf Мегафон Северо-запад
[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,»IP»,»internet»
#Init4 = AT+zsnt=1,0,0
Modem Type = Analog Modem
Baud = 9600
New PPPD = yes
Modem = /dev/ttyUSB2
ISDN = 0
Phone = *99#
Password = /n
Username = /n
Stupid Mode = 1
Auto Reconnect = on
Idle Seconds = 0
подключение есть, но почему нет доступа к нету?
Попробуй вот так:
[Dialer Defaults]
Init1 = ATZ
Init2 = AT^SYSCFG=2,2,3fffffff,1,2
Init3 = at+cgdcont=1,”ip”,”internet”
Modem Type = USB Modem
Baud = 460800
New PPPD = yes
Modem = /dev/ttyUSB2
ISDN = 0
Idle Seconds = 0
Dial Attempts = 0
Phone = *99#
Password = none
Username = none
Stupid Mode = yes
Если все настроено как у меня указано, то поднимется автоматом. должен появится интерфейс ppp0 если авто не стоит в networks можно поднять интерфейс командой ifup ppp0
и не забудь про шлюз по умолчанию и днс сервера в resolv.conf
спасибо, попробую
Ну как, помогло?
нет, то же самое! видимо что-то у меня не так настроено, буду дальше разбираться как время появится
Проверь дефолтовый гейтвей и маршрутизацию. Дефолтовый гейтвей должен быть один. См. выше я все описал.
у меня возникла проблема с написанием скрипта. создаю скрипты, но не могу сделать их исполняемыми.
Атрибуты должны быть 755
делается командной chmod 755 filename.sh
если пишешь на баше то первая строка должна быть
#!/bin/bash
Дмитрий спасибо за Вашу помощь!
То есть я создаю текстовый файл с содержимым описанным Вами:
#! /bin/sh
#
# меняем шлюз
route del default
route add default ppp0
# делаем маскарадинг
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables –table nat -A POSTROUTING -o ppp0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
затем делаю его исполняемым командой «chmod 755 имя файла.sh» и затем его помещаю в /etc/ppp/ip-up.d/
Верно?
а, еще пишу этот файл в «nano»
Да, именно так. Можно в nano, можно в vi, хоть mcedit.
У меня этот файл просто называется nat и routing без .sh ну это без разницы, будет работать и так и эдак.