Собссно говоря захотелось мне чтобы интернет включался автоматически при старте системы. Нетворк манагер хороший конечно парень, но каждый раз клацать на иконку подключания четА влом стало

.
Сначала настроил поднятие VPN из командной строки. Это оказалось очень просто. Идем в /etc/ppp и создаем (если его нету) файлик options.pptp. Приводим его к следующему виду:
lock
#следующие 4 строки нужны ибо у моего провайдера используется авторизация mschap-v2
refuse-pap
refuse-eap
refuse-chap
refuse-mschap
#сжатие отключено
nobsdcomp
nodeflatу
Редактируем файлик chap-secrets:
<имя пользователя> PPTP <пароль> * (звездочка :-) если вдруг кто не понял)
Далее идем в /etc/ppp/peers и создаем здесь так называемый файл туннеля. Назваине любое :-) главное чтобы вы не забыли. Приводим содержимое файла к следующему виду:
#первая строчка говорит как коннектиться к серверу VPN. В частности 10.100.2.1 это его ИП :-)
pty "pptp 10.100.2.1 --nolaunchpppd"
name <имя пользователя>
remotename PPTP
#эта строчка вставляется если требуется шифрование
require-mppe-128
#чтобы поднятый интерфейс (ppp0) использовался по умолчанию для маршрутизации (в инет)
defaultroute
Собственно говоря все. Подключаемся с помощью команды:
sudo pon <имя файла туннеля>
Отключаемся с помощью комманды:
sudo poff <имя файла туннеля>
У меня почему то не смотря на то, что к интернету подключалось, в сам инет не ходило. Проблемма оказалась в маршрутизации - было два ИП адреса в качестве дефаултроутов. Дополнительно потребовались две команды (выполняем от рута):
route del default
route add default dev ppp0
ppp0 - имя нашего инет-интерфейса, у вас должно быть таким же (проверьте, если надо исправьте)
Если VPN у вас подключается значит все гуд :-) и можно переходить к следующему - запуск при загрузке. Здесь тоже сложного немного: нужно создать скрипт запуска в папке /etc/init.d и добавить его к автозапуску. Приблизительный текст скрипта привожу ниже.
#!/bin/bash
case "$1" in
start)
#Здесь мы проверяем получили ли мы ИП, у моего провайдера раздача по DHCP
while [ -z "`ifconfig | grep 10.100.`" ]
do
echo "`date`: waiting ip address" >> /var/log/myinet.log
sleep 5
done
echo "`date`: Inet started" >> /var/log/myinet.log
pon <имя файла туннеля>
route del default
route add default dev ppp0
exit 0
;;
stop)
echo "`date`: Inet stoped" >> /var/log/myinet.log
poff <имя файла туннеля>
route del default
route add default eth0
exit 0
;;
*)
echo "Usage: myinet start | stop - Establish or disconnect ip connection to provider "
exit 0
;;
esac
Далее нам надо добавить этот скрипт в автозапуск системы:
sudo update-rc.d myinet defaults
Как вы видимо догадались myinet имя нашего скрипта. По идее все. Дополнительных танцев с бубном не требуется и инет должен запускаться при старте ситемы. Но для пущей уверенности я заглянул в директории /etc/rcX.d, чтобы убедиться :-) шо усе гуд :-). И в папках /etc/rc2.d, /etc/rc3.d, /etc/rc4.d, /etc/rc5.d переименовал символическую ссылку, чтобы имя начиналось символами "S99z" для уверенности, что скрипт запуститься в самую последнюю очередь. Помогло :-).
Но тут нас спиткала нэвдача: оказывается network-manager при старте обновляет адреса dhcp у интерфейса eth0 (наша сетевушка), обрубая при этом уже поднятый туннель в инет (мое наблюдение может быть ошибочным, но все равно на фиг он нам вообще нужен если у нас все и без нетворк манагера подымается на ура). И решил я снести этого парня. Все оказалось довольно просто:
sudo apt-get remove network-manager
Вместе с ним удалиться еще аплет отображающий сетевые подключения в трее.
Единственноя проблемма которая возникнет - это сетевой интерфейс был завязан на нетворк менеджере и мы останемся без сетки :-). Ай-яй-яй-яй-яй. Пичалька

.
Идем в /etc/network ищем там файлик interfaces и приводим его к следующему виду:
auto lo eth0
iface lo inet loopback
iface eth0 inet dhcp
Все. Все необходимые интерфейсы у нас будут подниматься при старте системы.
P.S. В Linuxе я не гуру :-) так что буду благодарен за внесенные коррективы.