Bug 11988

Summary: недоделки
Product: Sisyphus Reporter: Valery Inozemtsev <shrek>
Component: alterator-net-pptpAssignee: Michael Shigorin <mike>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: critical    
Priority: P2 CC: hiddenman, khedin, mike, sem, vvk
Version: unstable   
Hardware: all   
OS: Linux   
Bug Depends on:    
Bug Blocks: 13000, 13654, 14116, 14168, 14209    
Attachments:
Description Flags
backend patch
none
ui patch
none
backend patch (+defroute)
none
ui patch (clear mppe too) none

Description Valery Inozemtsev 2007-06-07 11:02:21 MSD
в текущем виде нерабочий. список необходимого будет в течении сегодняшнего дня
Comment 1 Valery Inozemtsev 2007-06-07 11:10:48 MSD
1. не полностью заполняется /etc/ppp/chap-secrets
должно быть 2 строки:
первая - логин сервер пароль
вторая - сервер логин пароль
четвертый параметр там не обязателен и обычно не заполняется
звездочку "*" для сервера лучше не делать, т.к. логинов/серверов может быть 
несколько
Comment 2 Valery Inozemtsev 2007-06-07 11:21:37 MSD
2. /etc/net/ifaces/pppХ/options
ONBOOT=yes/no - это должно быть настраиваемо, т.е. необходим 
флажок "подключаться при загрузке компьютера" или что то в этом роде
еще бы я добавил бы RESTORE_DEFAULTROUTE=yes
Comment 3 Valery Inozemtsev 2007-06-07 11:54:32 MSD
3. /etc/net/ifaces/pppХ/pppoptions
- во первых не user LOGIN, а name "LOGIN", преобразование происходит где то в 
недрах etcnet
парамеры, которые нужны всегда:
-------------------
name "LOGIN"
remotename "VPNIP"
defaultroute
noipdefault
noauth
nobsdcomp
novj
deflate 0
-------------------

обязателен
mtu 1476
т.к. VPN добавляет к пакету если некоторое количество байт
нужно сделать этот параметр настраиваемым в диалоге (по умолчанию 1500)

обязателен
nomppe/require-mppe
настраиваемый в диалоге - флажок "Требуется шифрование данных"
в тяжелых случаях может понадобиться указать количество бит 40 или 128, типа:
nomppe-40
require-mppe-128
или наоборот. тяжелыми случаями пока можно пренебречь

желателен
unit X
где Х номер ppp интерфейса
Comment 4 Valery Inozemtsev 2007-06-07 12:06:21 MSD
4. Обязательно нужно сделать следующее:
флажок "Повторное подключение при обрыве связи"
persist в pppoptions

в зависимости вкл/выкл этот флажок еще 2 параметра
"Количество попыток подключения (0 - неограничено)"
"Интервал между попытками (сек)"
maxfail Х и holdoff Х в pppoptions соответственно
Comment 5 Valery Inozemtsev 2007-06-07 12:10:01 MSD
для pppoe примерно тоже самое, пусть Алексей меня поправит
Comment 6 Valery Inozemtsev 2007-06-07 12:12:59 MSD
да, вот еще забыл - желательно сделать едитлист "дополнительные параметры", в 
который можно будет вписывать что то свое специфическое и которое потом пойдет 
в pppoptions
Comment 7 Sir Raorn 2007-06-08 00:28:58 MSD
(In reply to comment #3)
> желателен
> unit X
> где Х номер ppp интерфейса

etcnet сам добавляет эту опцию в зависимости от имени интерфейса.
Comment 8 Sir Raorn 2007-06-08 01:11:07 MSD
(In reply to comment #5)
> для pppoe примерно тоже самое, пусть Алексей меня поправит

Было бы неплохо настраивать таймаут:

options:
PPPOE_EXTRA_OPTIONS="-T XX"

pppoptions:
lcp-echo-interval XX/N
lcp-echo-failure N-1

У меня работало XX=80, N=4

Далее, есть проблема с поднятием соединения по отвалу.  Когда наступает maxfail
(10 или 3 по умолчанию), pppd завершается навсегда.  Пожно починить следующими
options:

PPPPERSIST=on
PPPMAXFAIL=0

Но вылезает другая проблема.  Если сети нет и ONBOOT=yes - загрузка остановится
на поднятии сети.  Нормально это не лечится (только оживлением pppwatch),
поэтому не рекомендую такие настройки по умолчанию.

В примерах к etcnet есть интерфейс ppp3:

noipdefault
noauth
default-asyncmap
defaultroute
hide-password
mtu 1492
mru 1492
noaccomp
noccp
nobsdcomp
nodeflate
nopcomp
novj
novjccomp
user _USERNAME_
lcp-echo-interval 20
lcp-echo-failure 3

Эти опции в своё время были вытащены из скриптов rp-pppoe-client.

На самом деле я себе купил не так давно беспроводной роутер и pppoe соединение у
меня теперь живёт на нём.
Comment 9 Michael Shigorin 2007-12-05 21:27:12 MSK
Created attachment 2316 [details]
backend patch

Так... тут в первом приближении (для MPPE) галочка нарисовалась, завтра
попробую перетащить на 0.4 и проверить (это для 0.3-alt8).

Что из {ONBOOT,persist,maxfail,holdoff,RESTORE_DEFAULTROUTE} совсем надо? 
Какой дефолт для MTU и нужно ли это же или другое забивать в MRU?

Тут с этим патчиком уже получается достучаться до PPTP-сервера на линуксе (что
там организовано -- не в курсе, можно уточнить), который требует MPPE.	В
смысле созданный альтератором интерфейс работает.

s/user/name/ при этом делать не пришлось.
Comment 10 Michael Shigorin 2007-12-05 21:27:31 MSK
Created attachment 2317 [details]
ui patch
Comment 11 Michael Shigorin 2007-12-05 21:42:38 MSK
Created attachment 2318 [details]
backend patch (+defroute)

Ой, забыл ещё defaultroute сразу примотать хотя бы гвоздями...

PS: наблюдался подземный стук с fatal error:"unexpected eof from backend" при
apply дважды (с оригинальным 0.3-alt8 воспроизвести не вышло, но и откатом
своих правок во write_iface() тоже отловить не получилось -- буду уже после
мержа пробовать; при использовании layout.cmdline тоже поймал ровно один раз).
Comment 12 Michael Shigorin 2007-12-05 21:46:21 MSK
Created attachment 2319 [details]
ui patch (clear mppe too)

состояние галки mppe тоже зачищаем (дефолт в pppd -- "off")
Comment 13 Michael Shigorin 2007-12-06 12:16:23 MSK
Ой, а ещё там такое есть (в /net-pptp):
  (process-defaults (read-constraints "new" "/net-pppoe" '()) '())
Comment 14 Michael Shigorin 2007-12-06 12:44:23 MSK
Значит, так.  Галка MPPE и ещё пара фиксов добавлена в 0.4.1 из моего git:
http://git.altlinux.org/people/mike/packages/?p=alterator-net-pptp.git;a=commitdiff;h=e97bbf3ad5709d6dae77170cc6ae70ac3b56a205

По поводу остального:

1. /etc/ppp/chap-secrets: просьба привести пример "на пальцах", как надо
(желательно со ссылкой в документацию насчёт сервер<->логин, удивило)

2. вот только чем тогда звонить... (в моей ситуации это не требуется -- без
соединения система не нужна) также -- маршрут по умолчанию после отвала сейчас
_вроде_ восстанавливается (добавляю defaultroute), но надо посмотреть повнимательней

3. тэээкс...
* user по факту работает (2 hiddenman: там преобразования для чего-то или просто
не от хорошей жизни? не хотелось бы лишнего bug compatibility)
* remotename необязателен
* всё остальное, кроме defaultroute -- тоже необязательно (по крайней мере на
стенде подцепилось)

4. persist -- угу, только надо это всё как-то утрясти с нижеследующими
комментариями и ONBOOT => просьба по возможности продумать/высказать

Вывод: пока похоже, что editlist и будет разумным выходом для общего случая. 
Наверное, на отдельном табе.  Рисовать такой развесистый UI осмысленно в
каком-то обобщённом для разных PPP-соединений виде и дёргать по кнопке/табу
"опции PPP".
Comment 15 Andrew Kornilov 2007-12-06 13:42:22 MSK
(In reply to comment #14)
> 3. тэээкс...
> * user по факту работает (2 hiddenman: там преобразования для чего-то или просто
> не от хорошей жизни? не хотелось бы лишнего bug compatibility)
Ну user - это user, а name - это name :) Обе опции существуют. Для чтения
паролей из *-secrets, нужно name указывать, если верить man-у. Никаких
преобразований я не вижу, pppd-у просто передается файл с опциями.
Может, конечно, что-то Денис и придумал и я не вижу. Но сомневаюсь :)
Comment 16 Michael Shigorin 2008-01-15 15:26:08 MSK
(In reply to comment #2)
> 2. /etc/net/ifaces/pppХ/options
> ONBOOT=yes/no - это должно быть настраиваемо, т.е. необходим 
> флажок "подключаться при загрузке компьютера" или что то в этом роде
> еще бы я добавил бы RESTORE_DEFAULTROUTE=yes
В первом приближении сделано в 0.5.0-alt1 (вместе с persist, но пока без
maxfail/holdoff -- мне сейчас надо хотя бы версию с рабочей маршрутизацией в
настроенном iface выкатить).
Comment 17 Michael Shigorin 2008-01-15 15:51:57 MSK
Ушло в incoming, просьба по возможности посмотреть и подумать над остатком
предложений (maxfail, holdoff; chap-secrets -- btw #14010; user у меня работает,
не вижу смысла трогать).

Поскольку сейчас оно уже скорее рабочее, баг imho FIXED, но ещё не CLOSED.
Comment 18 Mike Lykov 2008-03-04 22:09:03 MSK
из #14730
галку (в интерфейсе соотв. модуля alterator) "писать в лог сообщения отладки"

на ppp-common предлагается. речь об опции debug, которая позволяет понять что не
так в процессе случилось.

Comment 19 Michael Shigorin 2008-03-20 15:52:27 MSK
(In reply to comment #18)
> из #14730
Из оттуда и отсюда -- в 0.5.6-alt1 добавил по умолчанию для новых интерфейсов
"mtu 1460" (почему-то думал, что уже давно ставлю mtu 1476).