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

Re: pptp client restart



В сообщении от середа, 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: <POINTOPOINT,MULTICAST,NOARP,UP,10000> mtu 1500 qdisc pfifo_fast qlen 32
# ifdown ppp0
# ip link |grep ppp0
# ifup ppp0
# ip link |grep ppp0
2215: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,10000> 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

Reply to: