* [sisyphus] Работа с PPP в /etc/net
@ 2005-08-27 15:15 Yura Zotov
2005-08-29 9:38 ` Denis Ovsienko
0 siblings, 1 reply; 5+ messages in thread
From: Yura Zotov @ 2005-08-27 15:15 UTC (permalink / raw)
To: Sisyphus List
Вопросы и предложения авторам etcnet.
Зачем в опциях pppd используется параметр unit?
Было бы удобнее использовать параметр linkname. Если присваивать
ему значение, равное имени интерфейса, то конфигурировать
интерфейсы становится приятнее. В этом случае pppd создаёт
pid-файл с именем pppd-linkname.pid. Поэтому вы всегда знаете
каком интерфейсу он принадлежит. Поскольку ppp интерфейсы
виртуальные, при конфигурации удобнее назначать им какие-то
осмысленные имена, например по имени провайдера, к которому
устанавливается соединение.
На мой взгляд, требуется внести минимальные изменения в скрипты.
Если вас устраивает, могу сделать их сам...
--
Юрий А. Зотов
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [sisyphus] Работа с PPP в /etc/net
2005-08-27 15:15 [sisyphus] Работа с PPP в /etc/net Yura Zotov
@ 2005-08-29 9:38 ` Denis Ovsienko
2005-08-30 2:50 ` Yura Zotov
0 siblings, 1 reply; 5+ messages in thread
From: Denis Ovsienko @ 2005-08-29 9:38 UTC (permalink / raw)
To: ALT Linux Sisyphus discussion list
> Вопросы и предложения авторам etcnet.
>
> Зачем в опциях pppd используется параметр unit?
Чтобы можно было создать каталог /etc/net/ifaces/ppp20 и быть уверенным, что
интерфейс будет называться так же.
> Было бы удобнее использовать параметр linkname. Если присваивать
> ему значение, равное имени интерфейса, то конфигурировать
> интерфейсы становится приятнее. В этом случае pppd создаёт
> pid-файл с именем pppd-linkname.pid. Поэтому вы всегда знаете
> каком интерфейсу он принадлежит. Поскольку ppp интерфейсы
А так pppd создаёт файл /var/run/<имя>.pid и я знаю, какому интерфейсу он
(файл) принадлежит. См. скрипт destroy-ppp.
> виртуальные, при конфигурации удобнее назначать им какие-то
> осмысленные имена, например по имени провайдера, к которому
> устанавливается соединение.
То есть в такой схеме администратор системы видит ppp20, а конфигурировать
должен isp15?
> На мой взгляд, требуется внести минимальные изменения в скрипты.
> Если вас устраивает, могу сделать их сам...
Покажите вашу редакцию.
--
DO4-UANIC
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [sisyphus] Работа с PPP в /etc/net
2005-08-29 9:38 ` Denis Ovsienko
@ 2005-08-30 2:50 ` Yura Zotov
2005-08-30 10:05 ` Denis Ovsienko
0 siblings, 1 reply; 5+ messages in thread
From: Yura Zotov @ 2005-08-30 2:50 UTC (permalink / raw)
To: sisyphus
On Mon, Aug 29, 2005 at 01:38:37PM +0400, Denis Ovsienko wrote:
> > Вопросы и предложения авторам etcnet.
> >
> > Зачем в опциях pppd используется параметр unit?
> Чтобы можно было создать каталог /etc/net/ifaces/ppp20 и быть уверенным, что
> интерфейс будет называться так же.
>
> > Было бы удобнее использовать параметр linkname. Если присваивать
> > ему значение, равное имени интерфейса, то конфигурировать
> > интерфейсы становится приятнее. В этом случае pppd создаёт
> > pid-файл с именем pppd-linkname.pid. Поэтому вы всегда знаете
> > каком интерфейсу он принадлежит. Поскольку ppp интерфейсы
> А так pppd создаёт файл /var/run/<имя>.pid и я знаю, какому интерфейсу он
> (файл) принадлежит. См. скрипт destroy-ppp.
>
> > виртуальные, при конфигурации удобнее назначать им какие-то
> > осмысленные имена, например по имени провайдера, к которому
> > устанавливается соединение.
> То есть в такой схеме администратор системы видит ppp20, а конфигурировать
> должен isp15?
>
> > На мой взгляд, требуется внести минимальные изменения в скрипты.
> > Если вас устраивает, могу сделать их сам...
> Покажите вашу редакцию.
>
Я тут провёл исследования... Результаты таковы:
1. Два соединения с одинаковым значением параметра unit нормально
устанавливаются, и одно из них получает unit не
соответствующий указанному в команде. pid-файлы соответствуют
реальным unit-ам.
2. Два соединения с одинаковым значением параметра linkname
нормально устанавливаются. Каждому соответствует pid-файл с
именем вида pppX.pid. Соединение, запущенное позднее, затирает
информацию о предыдущем соединении в файле ppp-linkname.pid.
Ясно, что всё плохо. Например, если в etcnet настроен интерфейс
ppp0, а пользователь уже установил соединение ppp0 при помощи
kppp, например, по etcnet перестаёт адекватно работать. Так как,
во-первых, не запускает своё соединение, во-вторых, без лишних
слов может убить пользовательское соединение, если попросят.
Поэтому, надо как-то навести соответствие между настроенными
PPP-интерфейсами etcnet и установленными PPP-соединениями. Для
этого нам нужно заранее обладать некоторой информацией, которая
будет верна как до установки соединения, так и после. Поскольку
pppd не генерирует сам нечто уникальное, которое он мог бы нам
сообщить, то мы вынуждены сгенерировать это сами, и придумать
некоторый механизм хранения этой информации. Остаётся только
надеяться на то, что пользователь в порыве безумия не разломает
этот механизм. :-)
Например:
PIDFILE=`mktemp /var/run/ppp-XXXXXXXX.pid` || exit 1
LINKNAME=`echo $TMPFILE | awk --re-interval '// { match( $0, "[[:alnum:]]{6,}", q ); print q[0] }'`
pppd ... linkname $LINKNAME
ln -s /var/run/$PIDFILE /var/run/etcnet/$NAME
или типа того. Криво, конечно. Если не нравится, я не
настаиваю...
--
Юрий А. Зотов
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [sisyphus] Работа с PPP в /etc/net
2005-08-30 2:50 ` Yura Zotov
@ 2005-08-30 10:05 ` Denis Ovsienko
2005-08-30 10:46 ` Dmitry V. Levin
0 siblings, 1 reply; 5+ messages in thread
From: Denis Ovsienko @ 2005-08-30 10:05 UTC (permalink / raw)
To: ALT Linux Sisyphus discussion list
> Я тут провёл исследования... Результаты таковы:
>
> 1. Два соединения с одинаковым значением параметра unit нормально
> устанавливаются, и одно из них получает unit не
> соответствующий указанному в команде. pid-файлы соответствуют
> реальным unit-ам.
Чего и следовало ожидать.
> 2. Два соединения с одинаковым значением параметра linkname
> нормально устанавливаются. Каждому соответствует pid-файл с
> именем вида pppX.pid. Соединение, запущенное позднее, затирает
> информацию о предыдущем соединении в файле ppp-linkname.pid.
Также неудивительно.
> Ясно, что всё плохо. Например, если в etcnet настроен интерфейс
> ppp0, а пользователь уже установил соединение ppp0 при помощи
> kppp, например, по etcnet перестаёт адекватно работать. Так как,
> во-первых, не запускает своё соединение, во-вторых, без лишних
> слов может убить пользовательское соединение, если попросят.
Его просят --- оно и убивает. Я предлагаю:
1. Не использовать параметр unit в ppp-интерфейсах /etc/net. Он уже есть в
названии интерфейса.
2. Именовать ppp-интерфейсы /etc/net начиная с некоторого стартового unit.
Это не исправит фундаментальных недостатков PPP в Linux, но облегчит жизнь
и добавит порядка тем, кто последует этим простым рекомендациям.
> Поэтому, надо как-то навести соответствие между настроенными
> PPP-интерфейсами etcnet и установленными PPP-соединениями. Для
> этого нам нужно заранее обладать некоторой информацией, которая
> будет верна как до установки соединения, так и после. Поскольку
> pppd не генерирует сам нечто уникальное, которое он мог бы нам
> сообщить, то мы вынуждены сгенерировать это сами, и придумать
> некоторый механизм хранения этой информации. Остаётся только
> надеяться на то, что пользователь в порыве безумия не разломает
> этот механизм. :-)
>
> Например:
>
> PIDFILE=`mktemp /var/run/ppp-XXXXXXXX.pid` || exit 1
> LINKNAME=`echo $TMPFILE | awk --re-interval '// { match( $0, "[[:alnum:]]{6,}", q ); print q[0] }'`
> pppd ... linkname $LINKNAME
> ln -s /var/run/$PIDFILE /var/run/etcnet/$NAME
Я специально избавился от всех вызовов awk в /etc/net, потому что ничего кроме
{ print $1 } ему скормить не умею. Я думал в сторону ipparam.
--
DO4-UANIC
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [sisyphus] Работа с PPP в /etc/net
2005-08-30 10:05 ` Denis Ovsienko
@ 2005-08-30 10:46 ` Dmitry V. Levin
0 siblings, 0 replies; 5+ messages in thread
From: Dmitry V. Levin @ 2005-08-30 10:46 UTC (permalink / raw)
To: ALT Linux Sisyphus discussion list
[-- Attachment #1: Type: text/plain, Size: 1121 bytes --]
On Tue, Aug 30, 2005 at 02:05:36PM +0400, Denis Ovsienko wrote:
[...]
> > Поэтому, надо как-то навести соответствие между настроенными
> > PPP-интерфейсами etcnet и установленными PPP-соединениями. Для
> > этого нам нужно заранее обладать некоторой информацией, которая
> > будет верна как до установки соединения, так и после. Поскольку
> > pppd не генерирует сам нечто уникальное, которое он мог бы нам
> > сообщить, то мы вынуждены сгенерировать это сами, и придумать
> > некоторый механизм хранения этой информации. Остаётся только
> > надеяться на то, что пользователь в порыве безумия не разломает
> > этот механизм. :-)
> >
> > Например:
> >
> > PIDFILE=`mktemp /var/run/ppp-XXXXXXXX.pid` || exit 1
> > LINKNAME=`echo $TMPFILE | awk --re-interval '// { match( $0, "[[:alnum:]]{6,}", q ); print q[0] }'`
> > pppd ... linkname $LINKNAME
> > ln -s /var/run/$PIDFILE /var/run/etcnet/$NAME
> Я специально избавился от всех вызовов awk в /etc/net, потому что ничего кроме
> { print $1 } ему скормить не умею. Я думал в сторону ipparam.
Можно sed'ом сделать что-нибудь аналогичное.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2005-08-30 10:46 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-08-27 15:15 [sisyphus] Работа с PPP в /etc/net Yura Zotov
2005-08-29 9:38 ` Denis Ovsienko
2005-08-30 2:50 ` Yura Zotov
2005-08-30 10:05 ` Denis Ovsienko
2005-08-30 10:46 ` Dmitry V. Levin
ALT Linux Sisyphus discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
public-inbox-index sisyphus
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.sisyphus
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git