Re: pptp client restart

2008-03-11 Thread Alexey Boyko
В сообщении от вівторок, 11-бер-2008 sergio написал(a):

> Есть машинка под дебианом. В данный момент pptp работает через
> pptp-linux и pppd. pppd запускается из ifupdown что, имхо, криво.
> 
> Очень хочется, что бы при падении туннель поднимался заново..

Мне тоже кажется что pppd из ifupdown запускается несколько криво, 
но вот автопередозвон таки работает, хоть и не средствами ifupdown, 
а средствами pppd. Опции persist, maxfail и holdoff

-- 
JID: alexey#boyko,km,ua


Re: pptp client restart

2008-03-11 Thread Alexander GQ Gerasiov
Tue, 11 Mar 2008 18:30:36 +0300
sergio <[EMAIL PROTECTED]> wrote:

> Всем привет.
> 
> Собсна вот сабж.
> 
> Есть машинка под дебианом. В данный момент pptp работает через
> pptp-linux и pppd. pppd запускается из ifupdown что, имхо, криво.
Наоборот - весьма прямо.

> 
> Очень хочется, что бы при падении туннель поднимался заново..
persist, maxfail


-- 
Best regards,
 Alexander GQ Gerasiov

 Contacts:
 e-mail:[EMAIL PROTECTED] Jabber:  [EMAIL PROTECTED]
 Homepage:  http://gq.net.ru ICQ: 7272757
 PGP fingerprint: 0628 ACC7 291A D4AA 6D7D  79B8 0641 D82A E3E3 CE1D


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: pptp client restart

2008-03-11 Thread sergio

Alexey Boyko wrote:

В сообщении от вівторок, 11-бер-2008 sergio написал(a):


Есть машинка под дебианом. В данный момент pptp работает через
pptp-linux и pppd. pppd запускается из ifupdown что, имхо, криво.

Очень хочется, что бы при падении туннель поднимался заново..


Мне тоже кажется что pppd из ifupdown запускается несколько криво, 
но вот автопередозвон таки работает, хоть и не средствами ifupdown, 
а средствами pppd. Опции persist, maxfail и holdoff

а я искал reconnect и redial..
спасибо

--
sergio.


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: pptp client restart

2008-03-11 Thread sergio

Alexander GQ Gerasiov wrote:

Tue, 11 Mar 2008 18:30:36 +0300
sergio <[EMAIL PROTECTED]> wrote:


Всем привет.

Собсна вот сабж.

Есть машинка под дебианом. В данный момент pptp работает через
pptp-linux и pppd. pppd запускается из ifupdown что, имхо, криво.

Наоборот - весьма прямо.
те, когда pppd падает ifupdown думает, что он всё ещё порднят --- это 
нормально, да?



Очень хочется, что бы при падении туннель поднимался заново..

persist, maxfail

спасибо

--
sergio.


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: pptp client restart

2008-03-11 Thread Покотиленко Костик
В Вто, 11/03/2008 в 19:15 +0300, sergio пишет:
> Alexander GQ Gerasiov wrote:
> > Tue, 11 Mar 2008 18:30:36 +0300
> > sergio <[EMAIL PROTECTED]> wrote:
> > 
> >> Всем привет.
> >>
> >> Собсна вот сабж.
> >>
> >> Есть машинка под дебианом. В данный момент pptp работает через
> >> pptp-linux и pppd. pppd запускается из ifupdown что, имхо, криво.
> > Наоборот - весьма прямо.
> те, когда pppd падает ifupdown думает, что он всё ещё порднят --- это 
> нормально, да?

Архитектура решения такова, что это абсолютно нормально. У Вас с этим
проблемы?

-- 
Покотиленко Костик <[EMAIL PROTECTED]>


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: pptp client restart

2008-03-12 Thread Alexey Boyko
В сообщении от вівторок, 11-бер-2008 Покотиленко Костик написал(a):

> > > Наоборот - весьма прямо.
> > те, когда pppd падает ifupdown думает, что он всё ещё порднят --- это 
> > нормально, да?
> 
> Архитектура решения такова, что это абсолютно нормально. У Вас с этим
> проблемы?

Значит кривая архитектура. У меня с эти проблемы. 
Во первых хуки на подъём/опускание интерфейса нужно ложить не только в 
/etc/network/if-*.d, 
но и в /etc/ppp/ip-*.d, плюс к описанному глюку наблюдал обратный. ifupdown 
думает, 
что интерфейс уже упал, а pppd ещё работает. И если я хочу сделать ifdown ppp0, 
получаю ошибку.

проверил - вот прямо щас система в таком состоянии:

# ifdown ppp0
ifdown: interface ppp0 not configured
# pidof pppd
2616
# ip link |grep ppp
2213: ppp0:  mtu 1500 qdisc pfifo_fast 
qlen 3
link/ppp

Я то  знаю, как сделать kill 2616, но неприятно. 
А если у меня много ppp интерфейсов? конкретно на этой машине настроен ещё 
pptpd, 
просто сейчас никто не подсоединён, который pppd килять? Это ещё дольше искать 
по логам.

То есть всё в принципе решаемо, но проблемы есть.

-- 
JID: alexey#boyko,km,ua


Re: pptp client restart

2008-03-12 Thread Покотиленко Костик
В Срд, 12/03/2008 в 12:10 +0200, Alexey Boyko пишет:
> В сообщении от вівторок, 11-бер-2008 Покотиленко Костик написал(a):
> 
> > > > Наоборот - весьма прямо.
> > > те, когда pppd падает ifupdown думает, что он всё ещё порднят --- это 
> > > нормально, да?
> > 
> > Архитектура решения такова, что это абсолютно нормально. У Вас с этим
> > проблемы?
> 
> Значит кривая архитектура. У меня с эти проблемы. 
> Во первых хуки на подъём/опускание интерфейса нужно ложить не только в 
> /etc/network/if-*.d, 
> но и в /etc/ppp/ip-*.d, плюс к описанному глюку наблюдал обратный. ifupdown 
> думает, 
> что интерфейс уже упал, а pppd ещё работает. И если я хочу сделать ifdown 
> ppp0, получаю ошибку.

Скажу так, у меня есть контора, в которой 5 выходов в мир, 3 из них ppp,
остальные ethernet/оптика. На каждом интерфейсе настроены достаточно
сложные правила при поднятии/опускании. Работает как часы. Поэтому
прежде чем хаять, рекомендую сначала спросить как лучше настроить. Я,
конечно, не говорю что вообще проблем не может быть...

Как делать надо: правила на ethernet вызывать через up/pre-up и
down/post-down в /etc/network/interfaces или /etc/network/if-*.d,
правила на ppp вызывать через /etc/ppp/ip-*.d. У меня так всё чётко
работает.

По поводу того, что ifdown'ом интерфейс положен, а ppp продолжает
работать - это результат неправильной настройки, такого быть не должно.
Сам подумай, сколько времени надо pppd чтобы разорвать соединение и
выйти...

> проверил - вот прямо щас система в таком состоянии:
> 
> # ifdown ppp0
> ifdown: interface ppp0 not configured
> # pidof pppd
> 2616
> # ip link |grep ppp
> 2213: ppp0:  mtu 1500 qdisc pfifo_fast 
> qlen 3
> link/ppp
> 
> Я то  знаю, как сделать kill 2616, но неприятно. 
> А если у меня много ppp интерфейсов? конкретно на этой машине настроен ещё 
> pptpd, 
> просто сейчас никто не подсоединён, который pppd килять? Это ещё дольше 
> искать по логам.
> 
> То есть всё в принципе решаемо, но проблемы есть.
> 

Возможные причины: если какой-то скрипт вызываемый по pre-up/up или
down/post-down возвращает не нулевое значение то вся процедура
поднятия/опускания (ifup iface или ifdown iface) прерывается, но то, что
на этот момент уже сделано - остаётся в силе.

Поэтому, если происходит такого рода сбой, командами ifup и ifdown уже
не вырулишь, приходится ручками подчищать: ifconfig, iptables, tc, ip.

Но повторяю, если скрипты отлажены, всё работает нормальным образом. С
pppd разберись, должен выходить мгновенно.

Может конфиги покажешь?

-- 
Покотиленко Костик <[EMAIL PROTECTED]>


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: pptp client restart

2008-03-12 Thread Alexey Boyko
В сообщении от середа, 12-бер-2008 Покотиленко Костик написал(a):

> Как делать надо: правила на ethernet вызывать через up/pre-up и
> down/post-down в /etc/network/interfaces или /etc/network/if-*.d,
> правила на ppp вызывать через /etc/ppp/ip-*.d. У меня так всё чётко
> работает.

Работает. Знаю. Но именно это я и назвал кривой архитектурой, что хуки езернета 
в одном месте, 
а хуки pppd в другом месте. А опции post-up,post-down из /etc/network/intefaces 
(Полезные для одно- двух- строчных 
обработчиков для ppp не имеют смысла)
Хотя должен признать, в дебиане это сделано наиболее прямо из того, что я видел

> По поводу того, что ifdown'ом интерфейс положен, а ppp продолжает
> работать - это результат неправильной настройки, такого быть не должно.
> Сам подумай, сколько времени надо pppd чтобы разорвать соединение и
> выйти...

А я его не опускал. В interfaces стоит auto ppp0 и он при старте поднимается.
И при обрыве перезванивает. Но в какой-то момент, когда мне нужно вручную 
перезапустить получаю то, что показал. Происходит это сразу после запуска 
или потом в какой-то момент - я не проверял.

> Возможные причины: если какой-то скрипт вызываемый по pre-up/up или
> down/post-down возвращает не нулевое значение то вся процедура
> поднятия/опускания (ifup iface или ifdown iface) прерывается, но то, что
> на этот момент уже сделано - остаётся в силе.

Вот это дельный совет. Но было бы хорошо, если бы был предусмотрен какой-то 
механизм отката в случае ошибки.
Не подскажешь, как лучше найти который скрипт выдаёт ошибку?

> Но повторяю, если скрипты отлажены, всё работает нормальным образом. С
> pppd разберись, должен выходить мгновенно.

вот опустил вручную, потом опять поподнимал/поопускал.

# ifdown ppp0
ifdown: interface ppp0 not configured
# killall pppd
# ifup ppp0
# ip link |grep ppp0
2214: ppp0:  mtu 1500 qdisc pfifo_fast 
qlen 32
# ifdown ppp0
# ip link |grep ppp0
# ifup ppp0
# ip link |grep ppp0
2215: ppp0:  mtu 1500 qdisc pfifo_fast 
qlen 32

То есть после ручной починки - работает. Как долго проработает - не знаю.

> Может конфиги покажешь?

конфиги чего?

# cat /etc/ppp/peers/my_provider
name vpn_username
password vpn_password
pty "pptp vpn.server --nolaunchpppd"
noauth
nodefaultroute
holdoff 24
persist
maxfail 0
lock
ipparam provider
unit 0
logfile /var/log/pppd.log

# cat /etc/network/interfaces
...
iface ppp0 inet ppp
provider my_provider
...

после подключения лог заканчивается строками:
...
Script /etc/ppp/ip-up started (pid 21253)
Script /etc/ppp/ip-up finished (pid 21253), status = 0x0
...

-- 
JID: alexey#boyko,km,ua


Re: pptp client restart

2008-03-12 Thread Mikhail Solovyev

Я как-то видел, что pptp поднимался из /etc/inittab
И этот вариант обеспечивал перезапуск клиента после его падения


sergio wrote:

Всем привет.

Собсна вот сабж.

Есть машинка под дебианом. В данный момент pptp работает через
pptp-linux и pppd. pppd запускается из ifupdown что, имхо, криво.

Очень хочется, что бы при падении туннель поднимался заново..

--
sergio.





--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: pptp client restart

2008-03-12 Thread Покотиленко Костик
В Срд, 12/03/2008 в 13:44 +0200, Alexey Boyko пишет:
> В сообщении от середа, 12-бер-2008 Покотиленко Костик написал(a):
> 
> > Как делать надо: правила на ethernet вызывать через up/pre-up и
> > down/post-down в /etc/network/interfaces или /etc/network/if-*.d,
> > правила на ppp вызывать через /etc/ppp/ip-*.d. У меня так всё чётко
> > работает.
> 
> Работает. Знаю. Но именно это я и назвал кривой архитектурой, что хуки 
> езернета в одном месте, 
> а хуки pppd в другом месте. А опции post-up,post-down из 
> /etc/network/intefaces (Полезные для одно- двух- строчных 
> обработчиков для ppp не имеют смысла)
> Хотя должен признать, в дебиане это сделано наиболее прямо из того, что я 
> видел

Не могу сказать что такая архитектура мне очень нравится, но имеем то
что имеем. Другого я так понимаю просто нет.

> > По поводу того, что ifdown'ом интерфейс положен, а ppp продолжает
> > работать - это результат неправильной настройки, такого быть не должно.
> > Сам подумай, сколько времени надо pppd чтобы разорвать соединение и
> > выйти...
> 
> А я его не опускал. В interfaces стоит auto ppp0 и он при старте поднимается.
> И при обрыве перезванивает. Но в какой-то момент, когда мне нужно вручную 
> перезапустить получаю то, что показал. Происходит это сразу после запуска 
> или потом в какой-то момент - я не проверял.

Вот и надо засечь на чём облом происходит. Во первых попробовать
вычислить в каких случаях ifup/ifdown чисто отрабатывает, а в каких нет.
И посмотреть на разницу между логами двух случаев.

> > Возможные причины: если какой-то скрипт вызываемый по pre-up/up или
> > down/post-down возвращает не нулевое значение то вся процедура
> > поднятия/опускания (ifup iface или ifdown iface) прерывается, но то, что
> > на этот момент уже сделано - остаётся в силе.
> 
> Вот это дельный совет. Но было бы хорошо, если бы был предусмотрен какой-то 
> механизм отката в случае ошибки.
> Не подскажешь, как лучше найти который скрипт выдаёт ошибку?

Готового механизма нет. Это в винде всё готовое, зато шаг в сторону -
расстрел на месте! Середины пока нет :(

Как найти "плохой скрипт":

 - методом исключения
 - использовав скрипт-прокладку, который вызывает нужный скрипт, пишет
код возврата в лог, а сам всегда возвращает 0. Этот способ мне больше
нравится даже для повседневной работы, т.к. руками не обязательно потом
подчищать.

> > Но повторяю, если скрипты отлажены, всё работает нормальным образом. С
> > pppd разберись, должен выходить мгновенно.
> 
> вот опустил вручную, потом опять поподнимал/поопускал.
> 
> # ifdown ppp0
> ifdown: interface ppp0 not configured
> # killall pppd
> # ifup ppp0
> # ip link |grep ppp0
> 2214: ppp0:  mtu 1500 qdisc pfifo_fast 
> qlen 32
> # ifdown ppp0
> # ip link |grep ppp0
> # ifup ppp0
> # ip link |grep ppp0
> 2215: ppp0:  mtu 1500 qdisc pfifo_fast 
> qlen 32
> 
> То есть после ручной починки - работает. Как долго проработает - не знаю.
> 
> > Может конфиги покажешь?
> 
> конфиги чего?
> 
> # cat /etc/ppp/peers/my_provider
> name vpn_username
> password vpn_password
> pty "pptp vpn.server --nolaunchpppd"
> noauth
> nodefaultroute
> holdoff 24
> persist
> maxfail 0
> lock
> ipparam provider
> unit 0
> logfile /var/log/pppd.log
> 
> # cat /etc/network/interfaces
> ...
> iface ppp0 inet ppp
> provider my_provider
> ...
> 
> после подключения лог заканчивается строками:
> ...
> Script /etc/ppp/ip-up started (pid 21253)
> Script /etc/ppp/ip-up finished (pid 21253), status = 0x0
> ...

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

Если я не ошибаюсь ifup/ifdown для интерфейсов ppp пользуется командами
pon/poff, на которых тебе будет легче использовать для отладки.

-- 
Покотиленко Костик <[EMAIL PROTECTED]>


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: pptp client restart

2008-03-13 Thread Alexey Boyko
В сообщении от середа, 12-бер-2008 Покотиленко Костик написал(a):

> С pptp я не работал, может кто другой подскажет логику работы. 

Ну, pptp тут запускается из pppd.

> Но на мой 
> взгляд для начала тебе надо разобраться почему при опускании интерфейса
> не выходит pppd.

Ты не понял. Я не опускаю интерфейс. Связь пропадает, pppd перезапускает pptp, 
но сам pppd не завершается, и не должен. 
Но через некторое время (дней, недель), ifupdown начинает думать, что интерфейс 
опущен.

Надо будет следующий раз проверить /etc/network/run/ifstate. Он же вроде оттуда 
читает поднят интерфейс или нет.

хм. может есть какой-то монитор за содержимым файла, чтобы в лог скидывал дату 
модификации?

-- 
JID: alexey#boyko,km,ua


Re: pptp client restart

2008-03-13 Thread Покотиленко Костик
В Чтв, 13/03/2008 в 12:05 +0200, Alexey Boyko пишет:
> В сообщении от середа, 12-бер-2008 Покотиленко Костик написал(a):
> 
> > С pptp я не работал, может кто другой подскажет логику работы. 
> 
> Ну, pptp тут запускается из pppd.
> 
> > Но на мой 
> > взгляд для начала тебе надо разобраться почему при опускании интерфейса
> > не выходит pppd.
> 
> Ты не понял. Я не опускаю интерфейс. Связь пропадает, pppd перезапускает 
> pptp, 
> но сам pppd не завершается, и не должен. 
> Но через некторое время (дней, недель), ifupdown начинает думать, что 
> интерфейс опущен.

Это уже мистика, ifupdown это не демон, следить и думать он не должен.
Сам поднял - должен знать, что поднято, пока сам не опустил. В этом 99%
и бок.

-- 
Покотиленко Костик <[EMAIL PROTECTED]>


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]