ALT Linux Sisyphus discussions
 help / color / mirror / Atom feed
* [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