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: