Здравствуйте, уважаемые!
Прошу сильно не пинать, на убунте только месяц сижу...
Преамбула.
имеется два компа, один с ХРюшей, другой с КУбунту.
к КУбунту подключен USBмодем от Beeline MF100 с картой Megafon'а, компы соединены через эзернет.
адрес ХРюши 192.168.0.2, шлюз 192.168.0.1, все стандартно.
а вот на Убунту сделано следующее:
1. разлочен модем
2. переведен в режим _модем_онли_
3. грохнут нафиг Нетворк_Манагер в связи с его неописуемой глючностью, поставлен КДЕ_Нетворк_Манагер и тоже грохнут по той же причине. В настоящий момент установлен Wicd, но руки чешутся сделать ему remove
4. в связи с неумением Висиди работать с такими модемами используется KPPP
5. Установлен и настроен Сквид с фильтрами и антивирем
все как бэ работает но до следующей перезагрузки. После перезагрузки приходится подключатся к тырнету, затем отключатся, выходить из KPPP, запускать ее заново и только тогда появляется пинг до ХР. Причина - отсутствие правильного маршрута в route, который сбрасывается командой
defaultroute replacedefaultroute в файле /etc/ppp/options
ах да... еще есть виртуалбокс и на нем тоже сеть настроена по интерфейсу br0
Амбула
надоело каждый раз шаманить с KPPP, хочу чтоб ррр поднималось само, без моего участия - пнул по кнопке включения и все. Надоели глючные Нетворк_Манагеры: у Висиди оказалась пренеприятнейшая особенность - если выдернуть шнур езернета, он отрубает ip адрес eth0, а вместе с ним ессно не работает ничего, т.к. в Убунту в обозревателе прописан прокси...
помогите забороть, плииз!
1.запротоколируй все свои действия по запуску сети до рабочего состояния ..
2.Напиши на баше скрипт который будет повторять все твои действия из п.1 ..
3.Закинь запуск этого скрипта в /etc/rc.d/rc.local ну или что там в Убунте на загрузке ..( как вариант закинуть его старт в автозапуск сессии пользователя)
profit !
ммммм..... не получится это сделать башем, у КРРР вроде бы нет управления извне, ну или я о них ничего не знаю.
Да и вообще я уже согласен на отсутствие всяких визуализаторов, хотя с ними конечно няшно, лишь бы все работало без моего участия.
может wvdial настроить? но с ним проблема была - не конектился, мож настройки не те или руки подточить чем...
P.S. man pppd , man bash в помощь , на будущее линукс тем и отличается от винды , что для нормальной работы всей системы графический интерфейс создан лишь для комфорта - он второстепенная , не имеющая значения прокладка , абсолютно всё можно сделать в голой консоли , а значит любою последовательность действий (любой сложности ) в системе можно записать в виде скрипта на том же баше ( не панацея ) , перле , питоне , js и т.п. ..
gramozeka, ну ладно, не издевайся над человеком, для него не понятно что если у приложения гуй, то ему кажется что управлять им можно только гуем... wink
Vaicartana, да что ты будешь делать.... oO kppp — KDE программа дозвона и интерфейс к pppd. kppp в основном используется для установления соединения с интернет-провайдером с помощью модема по телефонной линии. Однако она может быть использована и в других ситуациях, где необходим протокол PPP. Также она является графическим интерфейсом к демону pppd, позволяющим настраивать его технически не искушённым пользователям.http://ru.wikipedia.org/wiki/Kppp
[console]$ man pppd[/console]
Благодарю, newzenon. Теперь понятно.
а wvdial тоже получается pppd использует?
т.е. в принципе можно вообще забить на все подобные проги и просто сконфигурировать pppd, я правильно понял?
да я не издеваюсь , просто давно так не смеялся :D , обычно народ уже подкованный приходит , а тут такой "наивный китайский юноша" , конечно поможем чем можем , мы ж не троли какие wink ..
что то ничего не получилось по этой ссылке сделать - модем не подключается, хотя и определяется демоном.
вот мой вариант /etc/ppp/options
text
lock
modem
debug
/dev/ttyUSB2
115200
defaultroute
noipdefault
user megafon
connect 'chat -t60 \\"\\" ATZ OK ATX3 OK AT+CGDCONT=1,"IP","internet" OK ATDT*99# CONNECT'
pap-secrets
text
"megafon" * "megafon"
megafon * megafon
причем я пароли не прописывал, видать kppp установило или еще кто, пока настраивал...
Что сейчас получилось:
- снес wicd и прописал в interfaces свой айпишник
- настроил wvdial на дозвон, пока инет поднимается командой sudo wvdial с терминала
- попытался настроить автодозвон вот так http://help.ubuntu.ru/wiki/настройка_сети_вручную пока эпик фэйл
по ссылке выше сделал следующее
/etc/network/interfaces
text
#ppp modem
iface ppp0 inet wvdial
provider wvdial
auto ppp0
в ответ тишина...
да еще после этой добавки куда то делся ip у eth0, пришлось опять вручную прописать
gramozeka написал:
просто давно так не смеялся
не знаю что там смешного было, в винде если приложение не имеет внешних команд то ничего с ним не сделать, кроме того kppp таких команд так же не имеет и все делается через pppd, что, по сути, совсем другая программа и пофиг что kppp всего лишь надстройка над pppd - проги разные!
вобщем помогите сделать следующее:
- чтоб ip был всегда! независимо от состояния проводочка - воткнут он или нет(у меня компы кросовером соеденины)
- добить автоподключение wvdial'у
и я впаду в нирвану, а перед этим напишу руководство к действиям ))
да, после sudo wvdial подключается и вводить больше ничего не надо.
тут вот какая проблема... нет у меня в каталоге /etc/network папки post-up.
есть if-post-down.d, создал по анлогии if-post-up.d - ноль эмоций, закинул в if-up.d - выполняется при поднятии eth0 и забывает про br0, т.е.
ifconfig выглядит так
[console]
eth0 Link encap:Ethernet HWaddr 00:25:22:c2:f2:d6
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:69 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:9622 (9.6 KB)
Interrupt:45 Base address:0x2000
ppp0 Link encap:Протокол PPP (Point-to-Point Protocol)
inet addr:10.214.20.173 P-t-P:10.64.64.64 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:7 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:130 (130.0 B) TX bytes:181 (181.0 B)
[/console]
я думаю это потому, что поднимается первый интерфейс из списка, а это как раз eth0, ну на нем и встаем...
на всякий пожарный содержимое файла ppp0 помещенного в if-up.d
text
#!/bin/sh
wvdial
exit 0 <- это прилепил уже для проверки, может выйдет... не выходит.
замечу, что набрав в терминале sudo wvdial получаю "подвисшую сессию", т.е. он не возвращает управление в консоль, пока не нажмешь Стрл+С, чем, собственно, и прерывается соединение.
По этой же причине подвисает и команда sudo /etc/init.d/networking restart
почему то все еще слетает ip у eth0, но я его в if-up.d прописал принудительно командой ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up
и еще пришлось в if-down.d добавить killall pppd (кста, может есть более мягкий способ модему трубу повесить?) а то при перегрузки сети модем в активном состоянии находится.
нуссс, щаз по горячим следам мануальчик напишу )))
Ура! Заработало!!!
нуссс, щаз по горячим следам мануальчик напишу )))
Запостить не забудь.
Vaicartana написал:
но я его в if-up.d .. и еще пришлось в if-down.d ...
Лучше используй interfaces - нагляднее получается, и не переживать что если что-то забыл в каталогах if-up.d if-down.d...
pre-up команда
up команда
post-up команда
down команда
pre-down команда
post-down команда
Итак имеем: два домашних компа и один USB модем модели MF100 находящийся в рабстве у Билайна. Имеется так же сим-карта Мегафона (дешевле тариф по нашему региону). Компы меж собой соединены кросовером (на самом деле это не существенно, компов может быть и больше, нужен только свитч, а кросовер на современных сетевухах и вовсе не нужен)
Есть разумное желание использовать модем на обоих компах.
Приступим.
Для начала выкупим из рабства модем. Ползем сюда http://startubuntu.ru/?p=5641 и делам по инструкции.
Лично я споткнулся на том, что пытался запустить usb_modeswitch без sudo, пока дошло... хехе ))
minicom разумеется тоже надо запускать командой
text
sudo minicom -s
Все графические оснастки, как то Network-Manager, KNetwork-Manager, Wicd имеют одну особенность - напрочь игнорируют настройки файла /etc/network/interfaces поэтому либо оставляем оснастку либо пишем вручную. Я выбрал второй вариант, т.к. не вижу необходимости постоянно лазить в сеть и что то там менять. Сеть должна работать и все. Без бубна!
Итак, любым способом сносим Network-Manager - можно через Управление Программами, можно через apt-get remove (или даже purge) кому как нравится и перегружаемся. Почему то простая перегрузка сети командой
text
sudo /etc/init.d/networking restart
не действует.
После перезагрузки система принимает настройки из /etc/network/interfaces
который должен содержать примерно следующее
на этом настройка локалки заканчивается и начинается пляска вокруг модема.
У меня не получилось настроить модем через pppd напрямую, я использовал wvdial (хотя KPPP тоже отлично работает, но не имеет командной строки, поэтому не используется)
Устанавливаем wvdail
text
sudo apt-get install wvdial
и вводим команду
sudo wvdialconf
она произведет опрос всех модемов и запишет конфигурационный файл /etc/wvdial.conf
в моем случае модем распознался на /dev/ttyUSB2
корректиреум этот файл следующем образом
следует обратить внимание на строку Init2, во-первых wvdialconf вместо нее пропишет отсебятину, а во-вторых у каждого оператора своя строка инициализации, в мтс, например, эта строка выглядит так
text
Init2 = AT+CGDCONT=1,"IP","internet.mts.ru"
в общем случае в гугле есть все настройки для каждого оператора. Кстати Phone тоже у операторов отличается.
теперь стоит проверить соединение
text
sudo wvdial
если все впорядке должно показать вот это
[console]
--> Modem initialized.
--> Sending: ATDT*99#
--> Waiting for carrier.
ATDT*99#
CONNECT 3600000
--> Carrier detected. Waiting for prompt.
--> Don't know what to do! Starting pppd and hoping for the best.
--> Starting pppd at Tue Sep 20 00:00:36 2011
--> Pid of pppd: 30914
--> Using interface ppp0
--> pppd: Y[7f]
--> pppd: Y[7f]
--> pppd: Y[7f]
--> pppd: Y[7f]
--> pppd: Y[7f]
--> local IP address 10.204.84.171
--> pppd: Y[7f]
--> remote IP address 10.64.64.64
--> pppd: Y[7f]
--> primary DNS address 10.27.42.82
--> pppd: Y[7f]
--> secondary DNS address 10.27.42.83
--> pppd: Y[7f]
[/console]
цифирки конечно будут другими, кроме того ваш ip вообще всякий раз будет другой, а вот шлюз (remote) и днс - не меняются.
Если все получилось мы почти у финиша. Осталось прикрутить скрипт поднимающий модем всякий раз когда устанавливается сеть.
снова идем в /etc/network/interfaces и меняем его так
# The loopback network interface
auto lo
iface lo inet loopback
#PPP modem
auto ppp0
iface ppp0 inet wvdial
provider wvdial
ну и напоследок. Уж не знаю почему, но у меня eth0 все время терял ip адрес. Поэтому я сделал просто: в ppp0 добавил строку
text
pre-up /sbin/ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up
именно в таком виде заработало.
Если все еще работает pppd валим его командой killall pppd и ребутим сеть
text
sudo /etc/init.d/networking restart
после установки соединения проверяем командой
ifconfig
Если все в порядке должно быть поднято три интерфейса eth0, lo и ppp0 причем у eth0 должен быть присвоен адрес 192.168.0.1