[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: pptp client restart



В Срд, 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: <POINTOPOINT,MULTICAST,NOARP,UP,10000> 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 разберись, должен выходить мгновенно.

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

-- 
Покотиленко Костик <casper@meteor.dp.ua>


Reply to: