From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on sa.int.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-1.4 required=5.0 tests=AWL,BAYES_00, DNS_FROM_OPENWHOIS,SPF_HELO_PASS autolearn=no version=3.2.5 Message-ID: <4E575074.20606@altlinux.ru> Date: Fri, 26 Aug 2011 11:51:16 +0400 From: "Peter V. Saveliev" User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110516 Thunderbird/3.1.10 MIME-Version: 1.0 To: ALT Linux Sisyphus discussions Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.2 int cnt prob spamicity histogram 0.00 135 0.020124 0.017877 ################################################ 0.10 7 0.109707 0.022886 ### 0.20 0 0.000000 0.022886 0.30 0 0.000000 0.022886 0.40 0 0.000000 0.022886 0.50 0 0.000000 0.022886 0.60 0 0.000000 0.022886 0.70 0 0.000000 0.022886 0.80 2 0.886377 0.048447 # 0.90 9 0.959145 0.237771 #### Subject: [sisyphus] I: iproute2fs X-BeenThere: sisyphus@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Sisyphus discussions List-Id: ALT Linux Sisyphus discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Aug 2011 07:50:47 -0000 Archived-At: List-Archive: List-Post: ... Всем привет. В Сизиф выложил стабильную (по крайней мере, у меня пока не падает) версию 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