16 октября 2010 г.

Разрыв соединения VPN в Ubuntu

Сталкнулся с такой проблемой: если в Ubuntu настраивать vpn соединение с провайдером (есть локальная сеть + выход в интернет по vpn) через "Connection manager", то после нескольких минут работы соединение разрывается. При чем это наблюдается только когда соединение используется (идет трафик), когда простаивает - держит.
Оказалось, что Connection manager делает не правильные настройки для моего провайдера. Решилось все путем добавления соединения vpn вручную.
Создал файл freedom в каталоге /etc/ppp/peers/ (предварительно настроив доступ к нему командой
chmod 747 freedom
).
Содержимое файла:
pty "pptp 192.168.149.1 --nolaunchpppd"
name USERNAME
user USERNAME
password "PASS"
defaultroute
replacedefaultroute
remotename PPTP
+chap
noauth
ipparam freedom
mtu 1300
,где: 192.168.149.1 - адрес сервера vpn моего провайдера (замените на свой или укажите url),
USERNAME - имя пользователя vpn (Ваш логин),
PASS - Ваш пароль.

Убеждаемся, что в файлах /etc/ppp/options, ~/.ppprc, /etc/ppp/options.ppp0 нет
незакомментированных параметров, которыми бы система могла затереть наши настройки. Если
есть - комментируем.

Поднимаем тестовое соединение VPN командой

pppd call freedom debug nodetach

Если есть необходимость запускать соединение от простого пользователя, добавьте в файл /etc/sudoers строку:
username compname = NOPASSWD: /usr/bin/pon, /usr/bin/poff
Соответственно, замените username и compname на имя вашего пользователя и его машины. Он сможет
запускать и прерывать соединение командами
sudo pon corbina
sudo poff corbina
Делаем ярлык на рабочем столе с командой: sudo pon corbina

Все. готово, работает и соединение не рвется.