* [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