LINUX.ORG.RU

Предложены радикальные изменения в работу сети в Linux

 , ,


1

2

Olaf Kirch, участник коммьюнити SUSE, матерый Linux-хакер (с начала 1990х) и автор неоднократно переиздававшихся книг по настройке и администрированию сети в Linux, предложил сегодня на рассмотрение сообщества Fedora свою давно вынашиваемую идею — полностью переписать userspace стек управления сетью в Linux, учитывая накопленный за два десятка лет опыт. Новая архитектура сетевой подсистемы позволит, как считает Olaf, полностью отказаться как от неподдерживаемой мешанины bash-скриптов (давным-давно устаревших ifup/ifdown и прочего), так и от критикуемого за сложность и такую же неподдерживаемость NetworkManager. В предложенной им архитектуре сетевой стек четко разделяется на несколько слоев, сущности внутри которых конфигурируются с помощью XML.

Предложение уже получило как критические отзывы (от инженера Red Hat и текущего мэйнтейнера busybox, Denys Vlasenko), так и сдержанно заинтересованные ответы.

P.S. Olaf работает в Novell, и если вы нашли в его предложении архитектурные проблемы, или у вас есть идеи, как сделать лучше, то присылайте ему ваше резюме. Ваш шанс на трудоустройство, аналитики!

>>> Подробности

★★★★★

Проверено: Shaman007 ()

Ответ на: комментарий от sergv

Я не говорю конкретно про эту лабуду, если кто не понял. Я говорю про то, что нужна какая-нибудь архитектура, которой можно следовать. Примерно как с systemd. Если чувак асилит запилить нечто, что будет подходить в 90% случаев - просто отлично

vasily_pupkin ★★★★★ ()
Последнее исправление: vasily_pupkin (всего исправлений: 1)
Ответ на: комментарий от AS

Проблема в том, что в разных дистрибутивах разные костыли с разными бекендами хранения сетевой конфигурации

vasily_pupkin ★★★★★ ()
Ответ на: комментарий от vasily_pupkin

Я не говорю конкретно про эту лабуду

Это не либа. Это лабуда. По крайней мере - пока.

Я говорю про то, что нужна какая-нибудь архитектура, которой можно следовать.

Ключевое слово тут - «можно». А так - все правильно сказал.

Примерно как с systemd.

А вот этого - не надо. Разве-что в виде библиотеки. Чтоб при изменении API не надо было править сразу и ip, и чет-то-там-еще.

Кстати, Леннартовский костыль тоже страдает зависимостью от кучи API. И теперь, внося изменения, например, в mount.ntfs3g придется еще и эту «гордую птицу» (Леннарта) пинать, чтоб параметры вызова поправил.

sergv ()
Ответ на: комментарий от Lighting

Их хотя бы можно поправить.


Конечно же можно. Как и init-скрипты. Только что-то никто этим не пользуется, поди переписать эти костыли быстрее, чем разбираться.

Я пользуюсь.

Прочь руки от скриптов. Правильный путь это как раз и часть системных утилит, без фанатизма, переписать на баше. Это при условии, что есть нормальные sysfs, configfs и т.п. plan9 ёптыть. Изобилие бинарников где надо и где не надо от лукавого.

Lego_12239 ★★ ()

Пора делать панельку:«Сколько новостей мне осталось до миграции на BSD»...

Deleted ()
Ответ на: комментарий от Lego_12239

Прочь руки от скриптов. Правильный путь это как раз и часть системных утилит, без фанатизма, переписать на баше

Инит-скрипты на баше — ужасное легаси темных времен. За одни только pid-файлы скриптовое говно следует закопать глубоко и надолго.

red_eyed_peguin ()

Предложены радикальные изменения в работу сети в Linux

предложил сегодня на рассмотрение сообщества Fedora

Без Леннарта не обошлось.

slackwarrior ★★★★★ ()
Ответ на: комментарий от red_eyed_peguin

закопать глубоко и надолго.

в XML, конечно, же. Такой хуманфрендли весь

slackwarrior ★★★★★ ()
Ответ на: комментарий от red_eyed_peguin

init-скрипты на баше - ужасно-гибкая вещь. Обкатанная годами.

Lego_12239 ★★ ()
Ответ на: комментарий от Deleted

В ынтерпрайзе любят первый вариант :) Атрибуты и элементы вместе ломают моск, а одни элементы - это же так хуманфрендли: на целую сущность меньше.

slackwarrior ★★★★★ ()
Ответ на: комментарий от sergv

ifconfig на Windows Server 2000 (ЕМНИП) видел

Твоя память тебе изменяет:

C:\Documents and Settings\admin>ver

Microsoft Windows 2000 [Версия 5.00.2195]

C:\Documents and Settings\admin>ifconfig
"ifconfig" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

C:\Documents and Settings\admin>ipconfig

Настройка протокола IP для Windows 2000

Адаптер Ethernet lan:

        IP-адрес  . . . . . . . . . . . . : 192.168.0.5
        Маска подсети . . . . . . . . . . : 255.255.255.0

На остальных форточках с IP стеком можно посмотреть и route, и arp, и netstat как минимум

route, arp и netstat есть и в Windows 2000. Только по ключам они не совместимы как минимум с одноименными из net-tools. Так о каких стандартах речь?

dexpl ★★★★★ ()
Ответ на: комментарий от dexpl

с одноименными из net-tools

о каких стандартах речь?

У них фатальный недостаток

slackwarrior ★★★★★ ()
Ответ на: комментарий от farafonoff

В виндах все названное делается мышкой из коробки. Не знаю в чем проблема.

Правда? И

- ... reconfigure a bonding device without bringing it down

тоже?

dexpl ★★★★★ ()
Ответ на: комментарий от dexpl

Твоя память тебе изменяет

Ok.

Так о каких стандартах речь?

Ключи тут не так уж и важны. Важен принцип - все общепринятые действия с IP стеком производятся одним и тем-же набором утилит.

(А ключи и параметры даже у разных версий BSD порой разные. Хоть исходник изначально был и один).

sergv ()
Ответ на: комментарий от Lego_12239

init-скрипты на баше - ужасно-гибкая вещь. Обкатанная годами.

Ты хотел сказать «init-скрипты на баше — ужасное, закостенелое, поросшее костылями многолетнее говно, в которое и заглянуть страшно»?

red_eyed_peguin ()
Ответ на: комментарий от vasily_pupkin

Проблема в том, что в разных дистрибутивах разные костыли с разными бекендами хранения сетевой конфигурации

Не костыли, а способы. Кому какие нравятся. И это не проблема, а плюс. Пока, конечно, не будет придуман идеальный вариант. На мой взгляд, идеал - etcnet. Мне поделие с бинарным конфигом ни с какого бока не сплющилось.

AS ★★★★★ ()
Ответ на: комментарий от sergv

Важен принцип - все общепринятые действия с IP стеком производятся одним и тем-же набором утилит

Только этот набор различен в зависимости от ОС

dexpl ★★★★★ ()
Ответ на: комментарий от sv75

Всё-таки уже 10 лет не могу понять, чем людям не нравятся роутеры по 800р?

Интересный вопрос,но в сторону - в NM заявлена поддержка PPPOE, но толком не работает. Дабы не вводить в заблуждение, может быть, убрать тогда? Обойтись-то оно можно прекрасно без NM+PPPOE на ноутбуке

Pm7vLB ()
Ответ на: комментарий от red_eyed_peguin

init-скрипты на баше - ужасно-гибкая вещь. Обкатанная годами.


Ты хотел сказать «init-скрипты на баше — ужасное, закостенелое, поросшее костылями многолетнее говно, в которое и заглянуть страшно»?

Я хотел сказать только то, что сказал.

Ежели тебя там что-то пугает, то просто не смотри туда.

Я же хочу иметь возможность в запуск любого демона в любое время внести понадобившиеся изменения.

Lego_12239 ★★ ()
Ответ на: комментарий от AS

У etcnet API есть? Я загуглил, но как то вообще не понял, чем это отличается от еще одного комплекта костылей

vasily_pupkin ★★★★★ ()
Ответ на: комментарий от farafonoff

Как вам велосипед моей конструкции? Думаете от хорошей жизни?

Иди в циску пожалуйся, что они велосипедят. Ибо их ип сла почти такой же скрипт.

anonymous ()

полностью отказаться как от неподдерживаемой мешанины bash-скриптов (давным-давно устаревших ifup/ifdown и прочего),

systemd V2.0?

AVL2 ★★★★★ ()
Ответ на: комментарий от Lighting

Что плохого в том, что, вполне возможно, отпадёт необходимость NetworkManager'а(который все почему-то ругают) для нормального человеческого управления сетью?

а что взамен? такое же, только еще хуже?

AVL2 ★★★★★ ()
Ответ на: комментарий от vasily_pupkin

У etcnet API есть?

API тут не нужен.

Я загуглил, но как то вообще не понял, чем это отличается от еще одного комплекта костылей

Ещё раз: это не набор костылей, а вполне нормальная, относительно прозрачная, система скриптов для настройки сети.

AS ★★★★★ ()

(давным-давно устаревших ifup/ifdown и прочего)

Да здравствует ifd?

melkor217 ★★★★★ ()

чувак явно в теме, кому принадлежит линукс.

ass ★★★★ ()
Ответ на: комментарий от AS

Ну как это API не нужен? А как я должен узнавать об изменениях состояния и свойств сети, например?

система скриптов для настройки сети

У нас разное представление о костылях, вероятно

vasily_pupkin ★★★★★ ()
Ответ на: комментарий от vasily_pupkin

Ну как это API не нужен? А как я должен узнавать об изменениях состояния и свойств сети, например?

Системных вызовов-же - хоть отбавляй!

Хинт: новый лисапед никак не узнает об изменении адреса на интерфейсе, если его установит вполне легальная программа, типа ppp, пока не сделает системного вызова.

sergv ()

архитектурные проблемы
XML

x4DA ★★★★★ ()
Ответ на: комментарий от sergv

ip monitor

Но я не хочу городить огород с парсером/нетлинком. Я хочу фреймворк :3

vasily_pupkin ★★★★★ ()
Ответ на: комментарий от vasily_pupkin

То есть только эта малюсенькая проблема останавливает линух от того чтобы его заполонили тонны софта?

anonymous ()
Ответ на: комментарий от vasily_pupkin

Ну как это API не нужен? А как я должен узнавать об изменениях состояния и свойств сети, например?

Хочешь узнавать через 20 посредников ? Если это, действительно, требуется, работай с ядром.

AS ★★★★★ ()
Ответ на: комментарий от Pm7vLB

но толком не работает.

что именно туда надо добавить, чтобы стало толком? а то умвр

Binary ★★★★★ ()
Ответ на: комментарий от AS

не надо пол системы пересобирать - это про винду. Почитайте про ndis модель драйверов и про то как там легко добавлять фаерволы, антивирусы, снифферы, вланы, протоколы и все что душе угодно.

farafonoff ★★ ()
Ответ на: комментарий от AS

Вы рассуждаете как админ локалхоста. Есть программно-аппаратный комплекс. Туда входит и управление сетью, и все прочее. Интегрируется он только в дебиан (и иногда в убунту, если звезды правильно встанут), а поддерживать другие дистры ресурсов нет и не предвидится. Насколько было бы удобнее, если бы админ заказчика сам мог выбрать дистр, а поддержка его не стоила бы дополнительных затрат.

farafonoff ★★ ()
Ответ на: комментарий от red_eyed_peguin

red_eyed_peguin> Ты хотел сказать «init-скрипты на баше — ужасное, закостенелое, поросшее костылями многолетнее говно, в которое и заглянуть страшно»?

Красноглазый_Пингвин, раз тебе страшно туда заглядывать, значит ты не понимаешь смысла написанного (не осилил 4,5 оператора на шелле), и тебе бесполезно туда заглядывать, поэтому ты просто пользуешься тем что для тебя написали, а оно работает.

И с этой точки зрения тебе все равно - скрипты там на шелле или 1 жЫрный бинарник. В его код ты так-же никогда не заглянешь как и в шелл-скрипты.

И с этой точки зрения вообще непонятно нафига ты тут пишешь и что-то пытаешься доказать.

scott_tiger ★★★ ()
Ответ на: комментарий от sergv

Если что-то сломается в наборе костылей (для pppoe,pptp и openvpn они свои, не забывайте) - то последствия будут аналогичными - вплоть до необходимости ребута. И хорошо еще если после перезагрузки поднимется. Мы вот сервера с >30 дней аптайма боимся ребутить, потому что кто-то мог быстро внести изменения в реалтайм конфигурацию а дописать/доотладить. (или, хуже того, при внесении изменений в этих скриптах появились синтаксические ошибки).

farafonoff ★★ ()
Ответ на: комментарий от scott_tiger

Если бы еще в них небыло ошибок... в дебиане например /etc/init.d/networking restart приводит к непредсказуемым последствиям (а как иначе не ребутя сервер проверить, поднимется ли новая сетевая конфигурация или нет?)

farafonoff ★★ ()
Ответ на: комментарий от farafonoff

А в бинарниках, естественным образом, ошибок не бывает, типа?

scott_tiger ★★★ ()
Ответ на: комментарий от scott_tiger

Я больше верю в квалификацию программистов, чем в косоруких мейнтейнеров. Программеров хоть в универе учат, а мейнтейнеры просто макаки, и ничего полезного не делают.

farafonoff ★★ ()
Ответ на: комментарий от farafonoff

Я больше верю в .. чем в ...

Т.е. надо понимать, что
- всех программистов учат в университетах
- все программы пишутся людьми с университетским образованием
- по окончании университета все программисты начинают писать исключительно качественные программы.
- тот кто пишет на шелле - не программист
- тот кто пишет на шелле в университете не учился
и т.п.
Абсурдность какого из утверждений надо объяснить?

А по поводу макак-мантейнеров, ты в трекер дебиановский запостил багрепорт? Или как макаки-пользователи ничего полезного не делаешь, а только пишешь на ЛОРе «я верю в...»?

scott_tiger ★★★ ()
Ответ на: комментарий от scott_tiger

Так там и написано что это плохой скрипт и он не работает. Это не отменяет проблемы поддерживать скрипты (самодельные) в актуальном состоянии и проверять их перед перезагрузкой.

Я утверждаю, что адекватные программисты за лесом костылей на шелле могут увидеть систему и сделать нормальную систему поддержки сети, которая сможет решить проблемы: -персистентности конфигурации -проверки конфигурации без перезагрузки -поддержку устройств и протоколов, появившихся после ifconfig/ip (wlan, l2tp, 3g,4g,bluetooth etc). Про текущее состояние дел думаю вам рассказывать не надо.

farafonoff ★★ ()
Ответ на: комментарий от tailgunner

Лёгкость для макаки - это следствие наличия гуя. И всё.

В квотез!

hobbit ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.