ALT Linux Sisyphus discussions
 help / color / mirror / Atom feed
From: "Peter V. Saveliev" <peet@altlinux.ru>
To: ALT Linux Sisyphus discussions <sisyphus@lists.altlinux.org>
Subject: [sisyphus] I: iproute2fs
Date: Fri, 26 Aug 2011 11:51:16 +0400
Message-ID: <4E575074.20606@altlinux.ru> (raw)

...

Всем привет. В Сизиф выложил стабильную (по крайней мере, у меня пока не
падает) версию iproute2fs.

Это файловый сервер, который в виде файлов экспортирует текущие
настройки сети. Экспортирует он их через протокол 9P, и может быть
использован через:

* mount -t 9p ... или 9mount (последнего вроде в Сизифе нет)
* 9pfuse
* ixpc

Первый вариант требует поддержки 9P2000 в ядре, но в ядрах ALT она вроде
бы есть -- по крайней мере, в тех, что я видел. Поэтому я сделал заодно
и сервис. Т.е.:

$ sudo apt-get install iproute2fs
$ sudo service iproute2fs start
$ ls -l /srv/net/interfaces

По умолчанию сервис, само собой, выключен. См. также iproute2fs(1).

...

Ограничения и косяки.

* Это первые версии пока что идут, которые умеют не очень много -- мне
показалось важнее сначала (попытаться) сделать вменяемую архитектуру и
обеспечить стабильность, чем обрастать фичами. На данный момент
iproute2fs экспортирует лишь интерфейсы, их адреса и ещё чутка.

* IPv6 адреса пока не поддерживаются в той мере, чтобы это можно было
назвать поддержкой. Однако IPv4 -- вполне, причём на r/w. То есть, можно
сделать так:

echo 192.168.1.2/24 >>/srv/net/interfaces/eth0/addresses

и ещё один адрес появится на соотв. интерфейсе.

* Остальное пока на r/o

* Это пока что не замена etcnet/NM и т.п., и не скоро ей будет, если
будет вообще.

...

Полезные фишки.

Запуская iproute2fs на UNIX-сокете, можно довольно тонко регулировать
доступ пользователей к настройкам сети, просто назначая соотв. ACL на
сокет. Дальше каждый, у кого есть доступ, может подключить ФС в свой
namespace либо просто использовать ixpc.

Запуская iproute2fs из-под непривилегированного пользователя, можно
создать r/o доступ к настройкам сети. См. также capabilities(7).

...

Планы.

В ближайших планах:

1. поддержка IPv6 (уже в гите проекта реализуется)
2. таблицы, правила маршрутизации
3. создание и переименование интерфейсов

В дальнейших планах:

1. возможность сохранения настроек с тем, чтобы их можно было подхватить
на старте, в идеале -- через простой tar
2. экспорт настроек в формате, совместимом с etcnet (если будут желающие)
3. журналирование сетевой подсистемы с возможностью отката настроек на
указанную дату/время.

...

Обоснование проекта.

* Представление в виде файловой системы было выбрано как самое простое
для управления традиционными средствами UNIX, такими как sed, grep, cat
и т.п. Также это удобно с точки зрения разграничения прав доступа.

* Основная фишка проекта, это то, что iproute2fs не запрашивает
настройки по факту обращения, а оперирует событиями netlink, которые
обратимы: то есть, при добавлении адреса на интерфейс (неважно каким
способом), netlink посылает слушателям событие, которое практически
идентично запросу на добавление адреса. Это позволяет хранить журнал
событий и проигрывать его позднее. То есть, все изменения сетевой
подсистемы могут журналироваться в iproute2fs вне зависимости от того,
кем они совершены -- через NM, ip, ifconfig, модулями ядра или Святым Духом.

* В отличие от NM, проект ориентирован на традиционное окружение без
графики и при минимуме сторонних сервисов типа dbus/hal/и т.п. Это и
минус, и плюс -- зависит от целей.

* В отличие от etcnet, является не набором текстовых настроек, которые
парсятся скриптами, а именно VFS с отображением rtnetlink(7) в файлы и
обратно. Это также и минус, и плюс.

* Предыдущие два пункта позволяют использовать iproute2fs не вместо, а
вместе с этими проектами, см. в todo etcnet-совместимый формат.

-- 
Peter V. Saveliev


             reply	other threads:[~2011-08-26  7:51 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-26  7:51 Peter V. Saveliev [this message]
2011-08-26  8:42 ` [sisyphus] apt-get update ERROR libsundance10 (NewVersion1) Patlasov YuriI
2011-08-26  8:45   ` REAL
2011-08-26  8:46   ` Dmitry Chistikov
2011-08-26  8:46   ` Peter V. Saveliev
2011-08-26  8:55     ` Patlasov YuriI

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4E575074.20606@altlinux.ru \
    --to=peet@altlinux.ru \
    --cc=sisyphus@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

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