На форуме много новичков, желающих просто настроить интернет (локалку и vpn)
А в Network Manager много багов.
Вот, собственно для них (новичков, желающих...) простое how-to по настройке интернета с обходом багов NM.
Версия для Ubuntu 9.04 и 9.10(Старую для 8.10 смотрите внизу, под спойлером)
Итак, добыв все возможные параметры подключения от провайдера (способ адресаци, IP-адреса, адрес vpn-сервера, логин, пароль), приступим.
Часть 1: локальная сеть.Если провайдер дает IP адерс динамически (по DHCP), то подключение к локалке уже должно работать, часть 1 можно пропустить.
Если адреса статические:
1. идем в редактор соединений (правой кнопкой на значке NM, "изменить соединения", или запустить nm-connection-editor)
2. открываем автоматическое соединение нужной сетевой карты (например, "Auto eth0"),
переименовываем(!), идем в параметры IPv4, задаем настройки провайдера (IP, mask, gateway, dns). (если dns несколько, пишутся через зпт.). Также добавляем роуты, если нужно (лучше это сделать вообще в самом конце).
3. Сохраняем соединение.
Теперь выбираем через меню NM сконфигурированное только что соединение и подключаемся к локалке.
Примечание: В последствии после перезагрузки, или еще когда-нибудь, наряду с поименованным соединением опять всплывет "Auto eth0", и
если оно начнет мешаться, то достаточно отключить для него параметр автоматического подключения. Удалять его не нужно, это не баг, а нормальное поведение.
Часть 2: Virtual Private Nightmare1. сначала необходимо скачать и поставить пакеты:
pptp-linux, network-manager-pptp
Скачать можно вручную с
http://packages.ubuntu.com/2. Помимо основных настроек VPN от провайдера, нужно добыть тонкие и специфические: метод авторизации, шифрование, сжатие. Варианты:
a. На сайте провайдера могут быть инструкции по настройке VPN для linux
b. форуме провайдера наверняка поработали местные линуксоиды.
Найденные одним из способов инструкции наверняка касаются файлов /etc/ppp/peers/* и /etc/ppp/options.pptp
Нас интересуют опции, которые в этих инструкциях содержатся,
например, откопали в какой-нибудь инструкции такой кусок:
lock
mtu 1490
mru 1490
deflate 0
auth
+chap
-pap
nobsdcomp
nodeflate
defaultroute
из этого примера видно, что провайдер использует авторизацию CHAP, а компрессия BSD и дефляция пакетов отключены.
3. идем в редактор соединений, на вкладку VPN, создаем соединение pptp, обзываем (желательно без пробелов и выкрутасов, потом будет меньше проблем).
Поле "шлюз" предполагает адрес vpn-сервера провайдера.
(!) не перепутайте с шлюзом проводного соединения.
Поле NT Domain скорее всего нужно оставить пустым, если в инструкциях провайдера ничего конкретно об этом не сказано.
По кнопке "дополнительно" нужно расставить галки в соответствии с добытыми сведениями (оставить только используемый метод авторизации, включить или отключить шифрование, компрессии, сжатие заголовков).
Если конкретных сведений по этим настройкам нет, тогда придется действовать методом тыка,
начать стоит с такого:
шифрование: выкл
компрессия BSD: выкл,
компрессия Deflate: выкл
сжатие заголовков: вкл
эхопакеты - вкл.
Параметры IPv4 в VPN необходимо оставить как есть, "Auto (VPN)".
Далее сохраняем и пробуем подключить VPN.
Примечание:
не стоит делать vpn-соединение системным, пока не у бедитесь что оно работает. Как только у вас появится рабочий профайл, то можно сделать его системным. Но здесь есть баг - в системном соединении не сохраняется стандартным образом пароль, его нужно вписать вручную:
Часть 3: Если VPN не подключилсяВариант 1: методом научного тыка менять настройки VPN-соединения, например авторизация может быть не CHAP, а MSCHAP или MSCHAPv2. И т.д. Периодически можно смотреть в логи, например /var/log/syslog на предмет подсказок и сообщений об ошибке при подключении к VPN (удобно смотреть при помощи gnome-system-log)
Вариант 2: если перетыкивание галочек ни к чему не привело, то VPN придется настраивать другими способами: идем на форум провайдера, пробуем точно выполнять инструкции, которые представлены там местными линуксоидами, если и это не помогло - ищем на просторах интернета.
Важно:Если соединение получилось медленным и загибается от вялокачающегося на 40kB/s торрента, а системные логи наматывают сотни мегабайт сообщениями от pptp о потерянных пакетах, то значит к конфигу соединения нужно добавить опции "--loglevel 0" и "--nobuffer". Сделать это через NM пока нет возможности, но зато можно подсунуть вместо pptp скрипт, который вызывал бы настоящий pptp с нужными параметрами:
EXPERIMENTAL
переименовываем pptp:
сd /usr/sbin
sudo mv pptp pptpo
создаем фальшивку:
sudo nano pptp
вставляем в нее:
#!/bin/bash
/usr/sbin/pptpo $* --nobuffer --loglevel 0
сохраняем, даем разрешение на запуск:
sudo chmod +x pptp
все. Теперь что бы не обращалось к pptp, помимо параметров, которые это что-то задает, к ним будет добавляться --nobuffer --loglevel 0
Часть 4: Автоматические штучки.Идем сюда:
https://forum.ubuntu.ru/index.php?topic=81009.msg608218#msg608218Берем там скрипт для управления NM, называем его как сказано (nmcli), и помещаем его куда и как сказано.
После этого можно развлекаться:
Чтобы автоматом запускать vpn после логина в систему:
открываем gnome-session-properties и добавляем туда команду:
nmcli имя_vpn_профиля start
Лучше если профиль соединения будет системным (см. выше: примечание к части 2)
Скрипт переподключения при потере пинга:
Вместо ИМЯ_ПРОФИЛЯ подставить имя профиля vpn-соединения.
В переменной DEST указано кого пингуем.
#! /bin/sh
#
CONNECTION="ИМЯ_ПРОФИЛЯ"
DEST="ya.ru"
while [ 1 ]
do
STTS=`ping -c 3 -s 1000 $DEST |grep received | awk -F, '{print $2}' |awk '{print $1}' `
if [ $STTS -eq 3 ]; then
echo "Ping recieved"
else
nmcli $CONNECTION stop > /dev/null
sleep 3s
nmcli $CONNECTION start > /dev/null
sh -c "echo Ping lost. Reconnecting... `date +'%Y.%m.%d %H:%M:%S'`"
fi
sleep 10
done
Скрипт переподключения при отсутствии интерфейса ppp:
Вместо ИМЯ_ПРОФИЛЯ подставить имя профиля vpn-соединения.
#! /bin/bash
#
CONNECTION="ИМЯ_ПРОФИЛЯ"
while [ 1 ]
do
IFC=`ifconfig | grep ppp`
STTS=${IFC:0:3}
if [ "$STTS" = "ppp" ]; then
echo "ppp interface present"
else
nmcli $CONNECTION start > /dev/null
sh -c "echo ppp interface not found. Reconnecting... `date +'%Y.%m.%d %H:%M:%S'`"
fi
sleep 10
done
Старая версия для 8.10:На форуме много новичков, желающих просто настроить интернет (локалку и vpn)
А в Network Manager много багов.
Вот, собственно для них (новичков, желающих...) простое how-to по настройке интернета с обходом багов NM.
Чтобы не возникало вопросов типа "а у меня все настройки сбрасываются, что делать?"
Итак, добыв все возможные параметры подключения от провайдера (способ адресаци, IP-адреса, адрес vpn-сервера, логин, пароль), приступим.
Часть 1: локальная сеть.Если провайдер дает IP адерс динамически (по DHCP), то подключение к локалке уже должно работать, часть 1 можно пропустить.
Если адреса статические:
1. идем в редактор соединений (правой кнопкой на значке NM, "изменить соединения")
2. открываем автоматическое соединение нужной сетевой карты (например, "Auto eth0"), и копируем из него mac-адрес.
3. создаем
новое соединение, обзываем, вставляем mac-адрес сетевой карты, идем в параметры IPv4, задаем настройки провайдера (IP, mask, gateway, dns). (если dns несколько, пишутся через зпт.).
4. Сохраняем соединение.
5. Первый глюк: нужно сделать соединение системным при помощи магических жестов. Открываем его, ставим галку "системная настройка", убираем галку "подключать автоматически", опять ставим галку "подключать автоматически" и сохраняем соединение (магия взята
отсюда). Должен всплыть запрос на пароль пользователя.
6. закрываем все, снова открываем и убеждаемся что галка "системное соединение" все еще стоит.
Теперь выбираем через меню NM созданное соединение и подключаемся к локалке. При следующей загрузке автоматическое соединение исчезнет, останется только вновь созданное, которое будет подключаться автоматически.
Примечание: к системному соединению не получится добавить роуты, из-за бага. А соединение на уровне пользователя не будет подключаться автоматически при входе в систему. Выбор за вами.
Часть 2: Virtual Private Nightmare1. сначала необходимо скачать и поставить пакеты:
pptp-linux, network-manager-pptp
(если система не подключена к инету и репозитории недоступны, то скачать пакеты можно вручную с
http://packages.ubuntu.com/ )
и их зависимости, если они еще что-нибудь потребуют.
2. Помимо основных настроек VPN от провайдера, нужно добыть тонкие и специфические. Варианты:
a. На сайте провайдера могут быть инструкции по настройке VPN для linux
b. форуме провайдера наверняка поработали местные линуксоиды.
Найденные одним из способов инструкции наверняка касаются /etc/ppp/peers/* и /etc/ppp/options.pptp
Нас интересуют опции, которые в этих инструкциях содержатся,
например:
lock
mtu 1490
mru 1490
deflate 0
auth
+chap
-pap
nobsdcomp
nodeflate
defaultroute
из этого видно, что провайдер использует авторизацию CHAP, а компрессия BSD и дефляция пакетов отключены.
3. идем в редактор соединений, на вкладку VPN, создаем соединение pptp, обзываем.
Поле "шлюз" предполагает адрес vpn-сервера провайдера.
Поле NT Domain скорее всего нужно оставить пустым, если в инструкциях провайдера ничего конкретно об этом не сказано.
По кнопке "дополнительно" нужно расставить галки в соответствии с добытыми сведениями (оставить только используемый метод авторизации, включить или отключить шифрование, компрессии, сжатие заголовков).
Если конкретных сведений по этим настройкам нет, тогда придется действовать методом тыка.
Параметры IPv4 в VPN необходимо оставить как есть, "Auto (VPN)".
Далее сохраняем и пробуем подключить VPN.
Примечание:
не стоит делать vpn-соединение системным - подключаться скорее всего не будет.
Часть 3: Если VPN не подключилсяВариант 1: методом научного тыка менять настройки VPN-соединения, например авторизация может быть не CHAP, а MSCHAP или MSCHAPv2. И т.д. Периодически можно смотреть в логи, например /var/log/syslog на предмет подсказок и сообщений об ошибке при подключении к VPN (удобно смотреть при помощи gnome-system-log)
Вариант 2: если перетыкивание галочек ни к чему не привело, то VPN придется настраивать другими способами: идем на форум провайдера, пробуем точно выполнять инструкции, которые представлены там, если и это не помогло - ищем на просторах интернета.
Часть 4: другие варианты.Можно обновить NM из:
deb http://ppa.launchpad.net/network-manager/ubuntu intrepid main
это исправит баг с созданием системного соединения, но может нагромоздить кучу других багов.
Если данное how-to никак не помогло:
Можно настроить локальную сеть вручную (редактированием /etc/network/interfaces) или заменив NM на wicd. Поиск по форуму поможет.