[sisyphus] Новый инитскрипт для pptp-client
Yura Zotov
=?iso-8859-1?q?yznews_=CE=C1_hotbox=2Eru?=
Вс Июн 1 10:31:32 MSD 2003
On Sun, Jun 01, 2003 at 03:00:09PM +1300, Sergey Plyukhin wrote:
> > Лично я пользуюсь и диалапом, и PPTP совершенно свободно и
> > независимо, поэтому никаких проблем не вижу. Вероятно, надо
> > просто похитрее написать скрипты ip-up.*
> >
> > Я делаю так:
> >
> > /etc/ppp/peers/tunnel_name:
> > ...
> > ipparam "tunnel_name"
> > ...
> получается "ссылка сам на себя"
> нужное слово уже есть в имени файла
> >
не понял
> > ============/etc/ppp/ip-up.local=======================
> > #!/bin/sh
> >
> > SCRIPT=/etc/ppp/ip-down.$6
> здесь не опечатка?
> >
Да, опечатка. Я скопировал сюда по ошибке свой ip-down.local.
Впрочем, отличия только в словах up и down.
> >
> > restart_service()
> > {
> > /sbin/service $1 restart &> /dev/null
> а не получится тут разрыв связи модемом?
Ну, зависит от демона. Просто у меня динамический IP по PPTP
соответственно ему выставляется "динамическое" доменное имя.
Некоторые программы (postfix, ntpd) оказались чувствительны к
изменению имени и IP, поэтому им надо делать restart.
> >
> > Соответственно, в ip-up.tunnl_name можно и route делать и всё,
> > что хочешь. А все остальные соединения остаются как есть, так как
> > в /etc/ppp/ip-up.local идёт выбор скрипта по ipparam.
> в примере как-то "обще" и нет ничего об удалении маршрутов
> после опускания туннеля. Но это, конечно, поправимо :-)
Просо мне маршруты не нужны. Мне хватает одного всегда
определённого статического.
> > Единственное что нужно делать -- это использовать ipparam.
> >
> > Т.о. получается, что PPTP-туннель легко делается независимым и не
> > влияющим на остальные PPP-соединения.
> именно этого и надо :-)
> >
> > Ваши замечания?
> получается "новый" /etc/ppp/ip-up.tunnel_name "почти калька" с
> существующего /etc/ppp/peers/__default. Может просто в этот файл и
> добавить необходимые изменения?
> Или существует какая-то иная причина и необходимо отказаться именно от
> /etc/ppp/peers ?
Файл ы /etc/ppp/peers -- это конфигурационные файлы для pppd.
Авторы pptp-command решили в них хранить в комментариях ещё и
информацию для роутинга и т.п. pptp-command просто читает эти
комментарии и делает маршруты. К сожалению, pptp-command имеет
недостатки, которые не позволяют его дальше использовать в
дистрибутиве для старта туннеля, поэтому я и написал новый
скрипт.
Файлы /etc/ppp/ip-up.local и т.п. -- это программы (чаще всего на
языке командного интерпретатора), которые пользователь пишет для
выполнения определённых действий по факту поднятия или падения
определённого PPP-интерфейса.
Так что разница принципиальна: конфиги -- программы.
>
> В принципе все-равно откуда ставить маршруты из /etc/ppp/peers/__default
> или /etc/ppp/ip-up.tunnel_name :-)
> Это не первая и не последняя "переделка"
> В любом случае спасибо за разьяснения.
>
На самом деле есть всё-так нюанс. /etc/init.d/pptptunnel по
умолчанию запускается сразу после /etc/init.d/network. Раньше
можно было гарантировать, что все действия из него (изменение
имени машины, настройка маршрутов и т.п.) будут выполнены до
старта остальных сервисов, например postfix. Теперь же, эту
гарантию дать нельзя, так как скрипт ip-up.tunnel_name
запускается отдельным процессом и pppd не ждёт его завершения. Я
ещё не решил, насколько эта гарантия важна.
--
Юрий А. Зотов
Подробная информация о списке рассылки Sisyphus