Bug 14116

Summary: Невозможно настроить vpn-соединение штатными графическими средствами
Product: Branch 4.0 Reporter: skywriter_ufalug <xxxiter>
Component: alterator-net-pptpAssignee: Michael Shigorin <mike>
Status: CLOSED FIXED QA Contact: Q.A. 4.0 <qa-4.0>
Severity: normal    
Priority: P2 CC: boyarsh, sbolshakov, vvk
Version: 4.0   
Hardware: all   
OS: Linux   
Bug Depends on: 11988, 13966    
Bug Blocks: 14122    

Description skywriter_ufalug 2008-01-21 23:30:05 MSK
Невозможно настроить vpn-соединение штатными графическими средствами. Пользователю 
неизбежно приходится пользоваться командной строкой, что многих просто отпугивает, 
ведь для Windows все провайдеры предоставляют простые и понятные скриншоты для 
настройки VPN, а тут: http://www.ufaman.ru/help/internet/linux.shtml .
Comment 1 inger@altlinux.org 2008-01-22 11:46:05 MSK
Миша, я сделал тебя лидером этого пакета ;)
Comment 2 Michael Shigorin 2008-01-22 13:55:46 MSK
(In reply to comment #0)
> Невозможно настроить vpn-соединение штатными графическими средствами. 
Предлагаю проверить текущие версии (alterator-net-pptp-0.4.1+, ppp-2.4.4-alt10+,
ppp-common-0.4.2-alt1+) из 4.0/branch или отсюда:

http://fly.osdn.org.ua/~mike/packages/alterator-net-pptp/
http://fly.osdn.org.ua/~mike/packages/ppp-common/
http://fly.osdn.org.ua/~mike/packages/ppp/

Там действительно был ряд проблем (см. изменения в двух-трёх последних сборках
каждого пакета, rpm -q/-qp --changelog) -- на сейчас известные мне серьёзные
разрешены, хотя есть ещё что улучшить.

BTW надо бы это всё в updates...
Comment 3 skywriter_ufalug 2008-02-07 22:06:05 MSK
Только что поставил Desktop 4.0.2, сборка 27.12.2007:
alterator-net-pptp-0.4.1+, ppp-2.4.4-alt10+, ppp-common-0.4.1-alt1+.
Пускаю pptp через alterator:
появляется соединение ppp0, 
но dns провайдера пришлось добавлять в /etc/resolv.conf самому.
В винде этого делать не приходится.
В настройках eth0 выставил "получасть IP-адрес через DHCP, получать DNS через DHCP".
Где косяк?
Comment 4 skywriter_ufalug 2008-02-08 19:06:25 MSK
Значит так: выяснил, что kvpnc из репозитория sisyphus позволяет нормально
настроить vpn и DNS, если в нём в профиле подключения установить галочку "Get
DNS from peer". А потому в целях повышения дружелюбности ALT Linux предлагаю
следующее:
1). Включить kvpnc в базовую поставку. Понятно, что скачать из sisphus могут
лишь те, кто Значит так: выяснил, что kvpnc из репозитория sisyphus позволяет
нормально настроить VPN и DNS, если в нём в профиле подключения установить
галочку "Get DNS from peer". А потому в целях повышения дружелюбности ALT Linux
предлагаю сделать следующее:
1). Включить kvpnc в базовую поставку. Понятно, что скачать из sisphus могут
лишь те, кто уже настроил интернет, но для этого его нужно сначала настроить. А
потому kvpnc должен быть.
2). Доработать alterator-pptp до функциональности kvpnc. А именно:
а) Предусмотреть аналог функции "Get DNS from peer".
б) Ввести поддержку профилей, как в kvpnc. Это удобно, поскольку некоторые
провайдеры предоставляют разные тарифы под разными логинами. Например, логин
qwerty - для базового тарифа, qwerty@sat - для повремёнки.
Comment 5 Michael Shigorin 2008-02-09 15:36:48 MSK
(In reply to comment #4)
> 2). Доработать alterator-pptp до функциональности kvpnc. А именно:
> а) Предусмотреть аналог функции "Get DNS from peer".
Это уже сделано (точнее, является поведением по умолчанию).  Я же сказал, какие
версии считаю исправленными и прошу проверить.

> б) Ввести поддержку профилей, как в kvpnc. Это удобно, поскольку некоторые
> провайдеры предоставляют разные тарифы под разными логинами. Например, логин
> qwerty - для базового тарифа, qwerty@sat - для повремёнки.
А вот это интересный фичреквест, спасибо.  Только просьба повесить его отдельно
от этой баги (сюда же), а не перепрофилировать уже исправленную: представьте
себе разборчивость %changelog пакета, когда там двадцать раз упоминается
исправление одной и той же баги в десяти вариациях.

Насчёт включения kvpnc -- предлагаю куда-либо повесить отдельный FR собирающим
дистрибутивы (например, на mkimage-profiles-desktop).  Сам могу включить в ALTSP
(mkimage-profiles-ltsp).

BTW в Sisyphus сейчас та же самая сборка 0.8.9-alt2, что и в 4.0/branch.
Comment 6 Michael Shigorin 2008-02-09 16:34:17 MSK
(In reply to comment #3)
> Только что поставил Desktop 4.0.2, сборка 27.12.2007:
> alterator-net-pptp-0.4.1+, ppp-2.4.4-alt10+, ppp-common-0.4.1-alt1+
Точнее, 
alterator-net-pptp-0.4.1-alt1
ppp-2.4.4-alt10
ppp-common-0.4.1-alt2

А упоминался ppp-common-0.4.2-alt1+ -- в 0.4.1 по моей вине остался глупый ляп,
который попал в Desktop 4.0.2: в файлике /etc/ppp/ip-up надо было заменить
"local UC" на просто "UC".

Исправление уже в бранче и т.о. войдёт в Desktop 4.0.3.
Comment 7 Michael Shigorin 2008-02-09 16:37:12 MSK
(In reply to comment #4)
> б) Ввести поддержку профилей, как в kvpnc.
Снимаюсь с ручника: вообще-то там можно настроить несколько интерфейсов, что
эквивалентно.  В alterator-net-ppp 0.5.x (сейчас 0.5.2) заодно были прикручены и
кнопки "позвонить/отвалиться" -- если есть желание, гляньте из бранча или
отсюда: http://fly.osdn.org.ua/~mike/packages/alterator-net-pptp/ и если этого
недостаточно, вешайте отдельный фичреквест.

Некоторый интерес в улучшении этого пакета у меня есть. :)
Comment 8 skywriter_ufalug 2008-02-11 22:28:27 MSK
Заценил alterator-net-pptp 0.5.2 - он хорош, намного лучше, чем то, что 
включено в ALT 4.0.2. Жаль, что раньше его таким не сделали...

А вот по поводу получения DNS - так и не понял, как это получить. 
Раньше я думал, что версия софта определяет его код. А тут, я так 
понял, кроме номера версии имеют значения какие-то суффиксы типа "+, 
alt1, alt2" и т.д. Я не понимаю, что это означает, чем отличается ppp-
2.4.4-alt10+ от ppp-2.4.4-alt10, ppp-common-0.4.1-alt1+ от ppp-common-0.4.1-
alt2, где об этом можно прочитать и где взять нужные версии?

ИЗправление строки 
local UC=/usr/sbin/update_chrooted
на строку
UC=/usr/sbin/update_chrooted
в файле /etc/ppp/ip-up также не помогло.

Из написанного, я так и не понял, куда писАть про включение kvpnc в 
дистр. Что такое "FR", "mkimage-profiles-desktop", "ALTSP", "mkimage-profiles-
ltsp" ?
Давайте поменьше слэнга, а? А то он в каждой субкультуре свой.
Comment 9 skywriter_ufalug 2008-02-11 22:47:05 MSK
В дополнение: прочесал каталоги по ссылке http://fly.osdn.org.ua/~mike/
packages/,
сейчас конфигурация такова:
# rpm -qa | grep ppp
rp-pppoe-base-3.7-alt2
ppp-common-0.4.2-alt1
ppp-2.4.4-alt10

alterator-net-pptp 0.5.2, как я уже писАл выше.

При создании соединения средствами alterator DNS всё равно приходится 
прописывать вручную.
Comment 10 Michael Shigorin 2008-02-12 12:26:22 MSK
(In reply to comment #8)
> Заценил alterator-net-pptp 0.5.2 - он хорош, намного лучше, чем то, что 
> включено в ALT 4.0.2. Жаль, что раньше его таким не сделали...
Не успел добраться летом :(  Ну да в 4.0.3 войдёт, и в апдейты тоже, думаю.

> Раньше я думал, что версия софта определяет его код. А тут, я так
Версия -- это upstream, бишь "что они сделали".  В разных сборках могут
добавляться разные патчи -- например, ppp-common-0.4.1-alt1 и -alt2 отличаются
одной строкой, а в ней -- одним словом "local".  Но код (скрипт) в итоге
действительно разный.

В принципе ppp-common -- "местный" и это же изменение можно было сделать, подняв
номер версии до 0.4.2.  А, тьфу, так я так и сделал!
 
> понял, кроме номера версии имеют значения какие-то суффиксы типа "+, 
> alt1, alt2" и т.д. Я не понимаю, что это означает, чем отличается ppp-
> 2.4.4-alt10+ от ppp-2.4.4-alt10, ppp-common-0.4.1-alt1+ от ppp-common-0.4.1-
> alt2, где об этом можно прочитать и где взять нужные версии?
"ppp-2.4.4-alt10+" подразумевает "ppp-2.4.4-alt10 или новее" -- первая цифра
есть версия, после alt идёт номер сборки.  При версии 2.4.4 сборка должна быть
>=10; версия 2.4.5-alt0.1 также будет новее, чем 2.4.4-alt10.

Здесь "altN" -- это "release" в терминах rpm, а "+" -- это моя неформализованная
добавка, предполагающая интервал, а не одну заданную версию.

Более формально может сравнить утилита rpmvercmp из пакета rpm-utils (ей можно
дать две строки версия-сборка, она выдаст -1/0/1 как </=/>).

> А вот по поводу получения DNS - так и не понял, как это получить. 
В смысле "автомат не работает"?

> ИЗправление строки 
> local UC=/usr/sbin/update_chrooted
> на строку
> UC=/usr/sbin/update_chrooted
> в файле /etc/ppp/ip-up также не помогло.
Значит, для Вас и перечисленный комплект ещё не исправляет проблему.

> Из написанного, я так и не понял, куда писАть про включение kvpnc в 
> дистр.
Сюда же, в bugzilla.  Отдельным от этого багрепортом.  Просто лучше их не
мешать, и за тот не я буду отвечать, а могущие его учесть.

> Что такое "FR"
feature request -- запрос на улучшение; в bugzilla соответствует Severity
"enhancement".

> "mkimage-profiles-desktop", "mkimage-profiles-ltsp" ?
Названия пакетов (в bugzilla -- компонент).

> "ALTSP"
http://magic.kiev.ua/?id=altsp5&L=1
http://www.freesource.info/wiki/Dokumentacija/LTSP5
Дистрибутив, за выпуск (и состав) которого отвечаю я.  Соответственно баги на
mkimage-profiles-ltsp могут влиять на этот самый состав.

> Давайте поменьше слэнга, а? А то он в каждой субкультуре свой.
Помнится, я жутко спешил к заказчику и постарался хоть как-то настрочить ответ,
чтоб не забыть... сойдёт за оправдание? :)

(In reply to comment #9)
> сейчас конфигурация такова:
> # rpm -qa | grep ppp
> rp-pppoe-base-3.7-alt2
Так у Вас PPPoE или PPTP?  Для второго этот пакет не нужен (но и не вреден вроде).

> ppp-common-0.4.2-alt1
> ppp-2.4.4-alt10
> alterator-net-pptp 0.5.2, как я уже писАл выше.
> 
> При создании соединения средствами alterator DNS всё равно приходится 
> прописывать вручную.
Как настроен Ethernet-интерфейс, через который устанавливается это соединение? 
Если сетевая одна -- скорее всего достаточно приклеить сюда содержимое файла
/etc/net/ifaces/eth0/options

Если по DHCP -- постарайтесь уточнить у провайдера, как именно он раздаёт DNS:
может быть "на ethernet", а может -- "на pptp".  Сошлитесь на этот комментарий
при необходимости.
Comment 11 skywriter_ufalug 2008-02-12 18:53:03 MSK
>Так у Вас PPPoE или PPTP?  Для второго этот пакет не нужен (но и не вреден 
вроде).

У меня PPTP (www.ufanet.ru). Этот пакет просто стоял изначально.

Интерфейс настраивается по DHCP. После поднятия интерфейса ppp0 DNS должен быть 
вписан в /etc/resolv.conf, во всяком случае при поднятии ppp0 с kvpnc 0.8.9 (при 
установленной галочке "Get DNS from peer") проиЗходит именно так,
а при поднятии интерфейса с помощью alterator-net-pptp DNS нужно вписывать руками 
либо после, либо до поднятия интерфейса.
Comment 12 Michael Shigorin 2008-02-13 11:39:16 MSK
Постарайтесь уточнить у провайдера, как именно он раздаёт DNS.  Мне сейчас
непонятно, в чём проблема.

Если там есть знакомый технарь -- может, даже попросите его здесь
зарегистрироваться и принять участие рекомендациями в исправлении.
Comment 13 skywriter_ufalug 2008-02-13 13:48:40 MSK
Сообщаю свой вопрос и ответ провайдера:

Вопрос:

skywriter wrote: 
> Здравствуйте. При настройке VPN-подключения на ОС ALT Linux Desktop 4.0.2 
> графическими средствами система почему-то автоматически не получает DNS. 
> Разработчики из компании ALT Linux просили выяснить: 
> как именно он раздаёт DNS: 
> может быть "на ethernet", а может -- "на pptp"?

Ответ:

При подключении по VPN адрес DNS-сервера "приходит" по протоколу PPP. 
Вопрос в том, каким образом "закинуть" этот адрес в /etc/resolv.conf. 
Можно использовать, например, вот такую пару скриптиков для pppd: 
$ cat ip-up.local 
#!/bin/sh 
if [ "x$USEPEERDNS" = "x1" ]; then 
         if [ "x$DNS1" != "x" ]; then 
                 mv /etc/resolv.conf /etc/resolv.conf.prepppd 
                 echo "nameserver $DNS1" >> /etc/resolv.conf 
                 chmod 644 /etc/resolv.conf 
         fi 
         if [ "x$DNS2" != "x" ]; then 
                 echo "nameserver $DNS2" >> /etc/resolv.conf 
         fi 
fi 
$ cat ip-down.local 
#!/bin/sh 
if [ "x$USEPEERDNS" = "x1" ]; then 
         mv /etc/resolv.conf.prepppd /etc/resolv.conf 
fi 

Возможно, существуют и другие варианты решения в зависимости от состава 
и версий программного обеспечения, используемого Вами для установления 
VPN-подключения.
Comment 14 Michael Shigorin 2008-04-12 20:08:09 MSD
Спасибо, осталось немного -- добраться...
Comment 15 Ivan Zakharyaschev 2008-05-12 02:58:14 MSD
Проблема этого рода с PPPoE --
https://bugzilla.altlinux.org/show_bug.cgi?id=15603 : не хватало всего одной
строчки ("usepeerdns") в /etc/net/.../pppoptions.
Comment 16 Michael Shigorin 2008-05-12 11:56:01 MSD
Увы мне, исправление-то состоит из одной строчки в
backend3/net-pppoe::new_iface() --

+       shell_add_or_subst "usepeerdns" "" "$name/pppoptions"

Включено в 0.5.9-alt1, просьба посмотреть:
http://fly.osdn.org.ua/~mike/packages/alterator-net-pptp/
Comment 17 Ivan Zakharyaschev 2008-05-12 18:17:36 MSD
Спасибо! правда, проверить я не могу, потому что я *pptp* не настраивал. 

Однако смущает: 

(In reply to comment #16)
> Увы мне, исправление-то состоит из одной строчки в
> backend3/net-pppoe::new_iface() --

что здесь написано "pppoe", а не "pptp".

> 
> +       shell_add_or_subst "usepeerdns" "" "$name/pppoptions"
> 
> Включено в 0.5.9-alt1, просьба посмотреть:
> http://fly.osdn.org.ua/~mike/packages/alterator-net-pptp/

Comment 18 Michael Shigorin 2008-05-14 12:01:04 MSD
(In reply to comment #17)
> Спасибо! правда, проверить я не могу, потому что я *pptp* не настраивал.
Гм, а что?
 
> Однако смущает: 
> > Увы мне, исправление-то состоит из одной строчки в
> > backend3/net-pppoe::new_iface() --
> что здесь написано "pppoe", а не "pptp".
Ошибся при описании -- правил оба пакета синхронно.  Они у нас почти что
близнецы, всё просятся смержиться :-/
Comment 19 Ivan Zakharyaschev 2008-05-18 00:32:51 MSD
(In reply to comment #18)
> (In reply to comment #17)
> > Спасибо! правда, проверить я не могу, потому что я *pptp* не настраивал.
> Гм, а что?

pppoe, а в bugzill-е нашёл этот аналогичный случай.