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 ()
Последнее исправление: Aceler (всего исправлений: 6)
Ответ на: комментарий от sv75

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

Не все могут хотеть NAT и все отсюда вытекающее?

xscrew ★★
()

Матёрый Linux-хакер хочет XML-конфиги. Какая прелесть.

И да. Название новости странное.

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

даже управления из консоли - и того нет.

wicd-cli мне во сне привиделось?

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

> ifconfig, netstat, route - это posix.

Не всякое говно мамонта является стандартом.

Это - является. Хоть и не POSIX, но своими глазами видел на OS/2, Win*, (Free|Open)BSD, BeOS, SCO OpenServer, Solaris...

Так что, где СТАНДАРТ, а где МАРГИНАЛЬЩИНА - реши сам.

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

видел на OS/2, Win*, (Free|Open)BSD, BeOS, SCO OpenServer, Solaris...

Это что за Win* такой? Если Windows, то там ipconfig с совсем другими ключами, например.

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

Ага, форточки. ifconfig на Windows Server 2000 (ЕМНИП) видел. На остальных форточках с IP стеком можно посмотреть и route, и arp, и netstat как минимум.

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

Непонятно, почему не в сообщество openSUSE.

Очевидно, он хочет, чтобы в Сусе всё продолжало более-мнее работать, ему ведь ею пользоваться, а Федору ему не жалко. Если выгорит, в чём я сомневаюсь, можно будет прославиться. Если нет, что гораздо более вероятно, --- не жалко.

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

- ... disable IPv6 on a specific interface?

ifconfig wlan0 del (тут написать адрес который скопировать из вывода ifconfig)

set up an interface for DHCPv4 and DHCPv6?

Из man dhclient:

-4 Use the DHCPv4 protocol to obtain an IPv4 address and configuration parameters. This is the default and cannot be combined with -6.

А dhcpcd похоже про v6 вообще не знает.

Так что два варианта — или пытаться запустить две копии dhclient или например dhcpcd для v4 и dhclient для v6, но мне это не нужно

- ... change the link speed on an Ethernet interface?

ethtool -s speed 100 eth0

- ... change the firewall rules on your UMTS modem?

Так же как на всём остальном, iptables и iptables6, только имя интерфейса будет скорей всего из серии ppp+ (не пробовал настраивать UMTS, но полагаю что так же как Edge)

И что тут сложного? А про остальное не знаю и новый стек бы мне никак не помог это узнать, например я сходу не припомню что за system z (вспоминаются только мейнфреймы IBM). Полагаю, что простому пользователю остальные пункты не нужны.

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

начальником чего? о_О

Начальник - это не должность, это социальный статус. Если бы сказали «руководитель», то твой вопрос имел бы смысл.

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

Потому, что xml неудобно читать - глаза сломаешь. Не для людей оно придумано.

Даёшь конфиги на родном языке незамутнённого пользователя пользователя.

$cat /etc/network/interfaces

Адмииииииннн!!!! Памагииии!!!!

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

Ну почему эти сторонники XML такие безмозглые?
Зачем писать так:

Этот кошмар он пытается пропихнуть? No way!

когда короче, быстрее для парсинга и читабельнее так:

Может немного читабельнее, но всё равно с простым и понятным /etc/rc.d/rc.inet1.conf из Slackware не сравнить. А если брать CRUX, там ещё проще и очевиднее:

#!/bin/sh
#
# /etc/rc.d/net: start/stop network
#

case $1 in
start)
	# loopback
	/sbin/ip addr add 127.0.0.1/8 dev lo broadcast + scope host
	/sbin/ip link set lo up
	# ethernet
	/sbin/ip addr add 192.168.1.100/24 dev eth0 broadcast +
	/sbin/ip link set eth0 up
	# default route
	/sbin/ip route add default via 192.168.1.1
	;;
stop)
	/sbin/ip route del default
	/sbin/ip link set eth0 down
	/sbin/ip addr del 192.168.1.100/24 dev eth0
	/sbin/ip link set lo down
	/sbin/ip addr del 127.0.0.1/8 dev lo
	;;
restart)
	$0 stop
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file
Xenius ★★★★★
()
Ответ на: комментарий от drBatty

практика показывает, что «провериться на вирусы» не даёт результата, драйвер имеется всего один единственный, переустановка так же не решает проблем с сетью. В винде.

Именно что может решить. Какая-то неведомая хрень или антивирус заблокировала фичу, мастер настройки пишет «обратитесь к админу», ОС переустанавливается - фича разблокирована, ура. Умельцы с зудящими руками не успокоятся пока не запилят подобную систему и в линукс.

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

Я про конфиги. Хотя бы раз пробовал править xml руками?

Я пробовал. Я рад что в иксах от них отказались и сделали /etc/X11/xorg.conf.d

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

в убунте, например, стабильно сеть работала только настроенная через консоль (это в 2010 году то!).

Если бы сеть работала только настроенная через GUI — это было бы гораздо хуже.

а в линуксе в каждом дистрибутиве свой неповторимый способ

Ложь. ifconfig во всех дистрибутивах GNU/Linux одинаковый, как и всякие там route, netstat и ping. Если нужно PPTP, то опять же во всех дистрибутивах используется pptp и pptpsetup.

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

Простому пользователю достаточно нынешнего функционала NM

Функциональности может и было бы достаточно, если бы он всегда работал. Но в любом случае — через консоль проще и дистрибутиво-независимо (команды я привёл)

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

хотя NM в слаке тоже есть теперь.

Надеюсь хотя бы не в основной ветке, а в каких-нибудь дополнениях, как wicd?

/me задумывается о том чтоб переходить не на Slackware 14, а на CRUX

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

Ты, может, не в курсе, но в Windows тоже есть шелл(даже продвинутый) и набор для диагностики сети, +/- тот же route и всё остальное.

Ответь на вопросы с первой страницы темы для виндовой консоли.

Хотя бы на те, на которые я ответил.

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

Может, теперь проблемы Slackware - это тоже проблемы GNOME, а не мейнтейнеров шлаки?

Пользуюсь Slackware несколько лет, проблем с Gnome ни разу не было. В отличии от других дистрибутивов.

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

В Сусе нормально всё. Правда не всегда так было. ))

sluggard ★★★★★
()

копипаста с рашон пидоры. фи

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

нет в слаке никакого гнома

И это, конечно, проблема GNOME, а не мейнтейнером. О том и речь.

Это не проблема, это достоинство Slackware по сравнению с другими дистрибутивами.

Xenius ★★★★★
()

Olaf Kirch, участник коммьюнити SUSE
предложил сегодня на рассмотрение сообщества Fedora
свою давно вынашиваемую идею — полностью переписать userspace стек управления сетью в Linux, учитывая накопленный за два десятка лет опыт

Интересно: почему он не предложил её сообществу SuSE? Почему сам не написал что-то, а лишь кому-то предлагает...

несколько слоев, сущности внутри которых конфигурируются с помощью XML

Ой, жуть какая.

текущего мэйнтейнера busybox, Denys Vlasenko

Денис ерунду не скажет, он уже полностью переписал coreutils, findutils, netutils и т.д.

mr_doug
()
Ответ на: комментарий от Napilnik

Именно что может решить. Какая-то неведомая хрень или антивирус заблокировала фичу, мастер настройки пишет «обратитесь к админу», ОС переустанавливается - фича разблокирована, ура. Умельцы с зудящими руками не успокоятся пока не запилят подобную систему и в линукс.

в принципе systemd так и будет «работать» и «чиниться»...

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

Если бы сеть работала только настроенная через GUI — это было бы гораздо хуже.

я знаю как _должно_ быть: простые конфигурации должны настраиваться через гуй ИЛИ через консоль. Для сложных гуй не нужен, достаточно консоли.

Ложь. ifconfig во всех дистрибутивах GNU/Linux одинаковый, как и всякие там route, netstat и ping. Если нужно PPTP, то опять же во всех дистрибутивах используется pptp и pptpsetup.

ага. И в каждом дистрибутиве ты можешь написать свой скрипт по подъёму сети, и поместить его в rc.local. Жаль, что сетевые демоны не подымятся - они поднимаются ДО rc.local, ПОСЛЕ подъёма сети. А вот сеть в каждом дистре подымается по своему.

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

через консоль проще и дистрибутиво-независимо (команды я привёл)

Я вот на ноуте перешел на systemd и NM и моя жизнь превратилась в кромешный ад. Раньше я как нормальный линаксоид пускал в консольке разное дерьмицо и скриптики, а теперь в 98% случаев просто ничего не делаю.

Прихожу на работу, сую сетевой шнур в ноут, и оно

  • Подключает ssh/smb ресурсы
  • Переключает ввод/вывод пульса на воркстейшн с гарнитурой
  • Запускает таймер выгреба почты с говнопочтовика в интранете
  • Запускает таймер выгреба погоды
  • Мерзкий скайп запускает
  • Переключает synergy на рабочий воркстейшн
  • Монитор пробует доподключить, если есть

Вытаскиваю шнур, уходя с работы:

  • Отключает таймеры
  • Прибивает synergy
  • Прибивает мерзкий скайп и сетевые ресурсы
  • Отключает мониторчик если был

Прихожу домой. Ничего не делаю.

  • Подключается к wifi сеточке
  • Переключает ввод/вывод пульса на домашний воркстейшн с гарнитурой
  • Переключает synergy на рабочий воркстейшн
  • Монитор пробует доподключить, если есть
  • Подключает через SSH туннель основные ресурсы во внутреннем интранете на работе на всякий случай

Прихожу не домой, в говногандель кофе пить. Клацаю по сеточке в списочке NM (если в первый раз)

  • Поднимает VPN до дому с дефолтным гейтом, дабы не ходить с голым задом по публичной сетке
  • Запускает firefox, если не запущен

Когда подключен к VPN домашнему:

  • SSH туннель до работы итп

Моя жизнь потеряла всякий смысл. Как же я теперь без консоли, без работы?! Подумываю разбить ноут. Виноват поттеринг и бинарый блоб NM, однозначно.

vasily_pupkin ★★★★★
()

для тез из тех Ь что не читали ссылку «Подробности», но хаят выбор XML

Oh my god, it uses XML!!! =========================

The desire to use a layered approach goes hand in hand with the need to have a less unstructured configuration file format. There are a number of different formats, including json and XML.

I ended up picking XML as the primary configuration file format. Mentioning XML always tends to cause some eyebrows to go up - like mentioning that you're really a vi aficionado in a crowd of emacs users. But really, there's nothing particularly special about XML as long as you don't go religious about it. Other formats offer a similar set of structural features - you're free to add support for such format and send me the patch.

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

для тез из тех Ь что не читали ссылку «Подробности», но хаят выбор XML

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

tailgunner ★★★★★
()

это попытки novell избавится от конкурентов. начали с redhat. потом возьмутся за каноникыл - предложат им переписать юнити на пыхапе и заменить архаичный пам мускулем.

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

Проще для парсинга первый вариант, так как в нем нет аттрибутов.

<link-detection timeout='60' require-link />

Это не валидный XML

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

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

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

парсер не одобряю. остальное расписал неплохо. пусть лабает(-ют). а мы посмотрим

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

В windows нет ifconfig, а в ipconfig нет lo. тот ещё стандарт, даром что выдрали из BSD )

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

Ну он же быдлошколота какая-то. XML-единственный расово верный язык для описания иерархических структур данных.

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

Ну я о том же, как сейчас там всё работает меня устраивает как и многих.

StreamThreader
()
Ответ на: комментарий от xscrew

Не все могут хотеть NAT и все отсюда вытекающее?

Ага, и живут они одни, ни с кем делится не хотят, и комп у них один.

А что плохого в NAT?

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

Проще для парсинга первый вариант, так как в нем нет аттрибутов.

Вы ничего не понимаете в XML.

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

это оверкил к большинству задач, часто это является лаксмусовой бумажкой говорящей: я тут решил сделать офигенную ентерпрайз штуку, которая будет лучше всего, что было придумано до меня, но мне лень заниматься её проектированием, я тут быстро наваляю прототип (proof-of-concept), а там если, что допилим, благо я тут воспользовался кучей либ так что реюз кода и все дела.

ну и отсутсвие адеквантых xquery утилит, чтобы удобно грепать по логам и т.д.

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

Прихожу на работу, сую сетевой шнур в ноут, и оно

Разве без systemd этого делать нельзя?

И я так понимаю, всё что ты описал пришлось кодить, не так ли?

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