From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Wed, 30 Jan 2002 22:44:23 +0300 (MSK) From: Ivan Zakharyaschev X-X-Sender: ivan@arrakis.zephyrous To: devel@altlinux.ru Subject: Re: [devel] RFC: /etc/if{up,down}.d (was: Time servers) In-Reply-To: <20020130105812.GB2375@mhz.mikhail.zabaluev.name> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=koi8-r Content-Transfer-Encoding: 8BIT Sender: devel-admin@altlinux.ru Errors-To: devel-admin@altlinux.ru X-BeenThere: devel@altlinux.ru X-Mailman-Version: 2.0 Precedence: bulk Reply-To: devel@altlinux.ru List-Help: List-Post: List-Subscribe: , List-Id: List-Unsubscribe: , List-Archive: Archived-At: List-Archive: List-Post: Hello! Поддерживаю эту инициативу! Вдобавок предлагаю вместо номеров интерфейсов pppN использовать имена. Возможно, это не единственное решение проблемы, с которой я столкнулся, но мне оно кажется самым удобным. А проблема в том, что в случае нескольких ppp-соединений порядок их установления влияет на номер интерфейса, а набор действий, которые нужно совершить, по смыслу завясит, конечно же, не от порядка, а от того с кем установлена связь. Например, два ppp-соединения: одно -- Inet dialup, другое -- связь с notebook через последовательный порт. Порядок, в котором они появляются, неопределен. (И неизвестно кому из них достанется ppp0, аа кому -- ppp1.) Путаницы можно избежать, дав каждому соединению в /etc/ppp/peers/* имя с помощью опции linkname (например, lap_link и inet_link). Запомнить соответствия между номерами интерфейсов и именами соединений мне помогает такая строчка в /etc/ppp/ip-up.local: echo "$IFNAME" > "/var/run/ppp-$LINKNAME.iface" (а в /var/run/ppp-$LINKNAME.pid pppd записывает свой PID). Это позволяет потом легко манипулировать соединениями по имени. (Например, отработать какой-нибудь /etc/netlink.d/inet_link/.) На этом основная часть моего предложения закончено. Вот еще несколько замечаний: Одно и то же linkname можно давать нескольким разным peers одного типа, с которыми может быть установлено соединение. Например, имя inet_link могут иметь соединения с разными провайдерами через один модем -- все равно Inet; хотя может и не стоит так делать: какие-то параметры могут отличаться, например forwarders для named. Несмотря на то, что c номерами eth* всё жестче, имена для них тоже могут быть удобными (легче понимать, что за соединение). Уровень управления соединениями по именам можно представить как более высокий по отношению к уровню интерфейсов с номерами, устройств. On Wed, 30 Jan 2002, Mikhail Zabaluev wrote: > On Wed, Jan 30, 2002 at 09:39:40AM +0200, Michael Shigorin wrote: > > > > Может, сделать инфраструктуру для подключения "фишек" для > > диалапщиков? нечто вроде /etc/ppp/ppp.d или как-то так. > > Тогда лучше уж /etc/if{up,down}.d для /sbin/if{up,down} -- > не PPP единым жив человек. > Для разных интерфейсов сделать разблюдовку: > /etc/ifup.d/ppp/ > /etc/ifup.d/eth/ > /etc/ifup.d/0common/ > -- последнее для общих скриптов, на которые делать симлинки из > interface-specific каталогов. > > Можно даже предусмотреть возможность уточнения номера устройства: > > for d in /etc/ifup.d/*; do > d="${d#/etc/ifup.d/}" > if [ "${DEVICE#$d}" != "$DEVICE" ]; then > RunExecutablesInDir "/etc/ifup.d/$d" "$DEVICE" > fi > done > > Таким образом, для ppp0 будут выполняться скрипты > сначала в /etc/ifup.d/ppp/, затем в /etc/ifup.d/ppp0/ -- Best regards, Ivan Z.