LINUX.ORG.RU
ФорумAdmin

Нубский вопрос про сети в Linux.

 , , ,


2

1

Я тут засел за изучение сетей в Linux, и начал читать про ip ifconfig route networkmanager dhcpd dhcpcd iptables firewalld и прочее, и у меня возникло чусвство, будто все это — TUI к чему-то, что работает на уровне ядра.

Будто все это — TUI и GUI, которое передает команды чему-то в ядре, что собственно и рулит пакетами, а не самостоятельные утилиты. В том смысле, что они настраивают как будут ходить пакеты, но не управляют ими сами по себе. Это верное предположение?

c iptables - точно так, в смысле часть iptables находится в ядре

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

iptables это утилита для руления netfilter, который как раз в ядре

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

Остальные тоже общаются с netfilter? Вообще, у меня такой вот глобальный вопрос: что в ядре рулит всеми подключениями и прочим?

Vsevolod-linuxoid ★★★★★ ()

По модель OSI почитай.

Zhbert ★★★★★ ()
Ответ на: комментарий от Vsevolod-linuxoid

Ты когда-нибудь собирал ядро? Запусти make menuconfig и изучай.

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

Да я в курсе про 7 уровней модели OSI. Мне интересно, _что именно_ в ядре Linux отвечает за её реализацию.

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

Будь мужиком,скачай сырцы ядра и изучи их

playX ★★ ()

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

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

Какие именно названия вычеркнуть из списка и как называется та часть ядра?

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

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

imul ★★★★★ ()
Ответ на: комментарий от Vsevolod-linuxoid

Да я в курсе про 7 уровней модели OSI. Мне интересно, _что именно_ в ядре Linux отвечает за её реализацию

исходный код

vasya_pupkin ★★★★★ ()

Есть сетевая подсистема ядра. netfilter. С ней общается iptables. Есть ещё две другие, сейчас в процессе разработки, но хз, что выйдет.

Есть другая подсистема. iproute2. С ней работают ip, tc и прочие. Тоже вроде бы обещали замену, но судя по всему в ближайшее время не предвидится.

И первое, и второе работают «напрямую».

ifconfig, route - поддержка устаревших инструментов для обратной совместимости.

networkmanager - костыль над этим всем плюс обвязка над более высокоуровневыми протоколами.

isc-dhcp и аналоги - опять же реализация протокола уровнем выше.

shell-script ★★★★★ ()

В рамках одного предложения я бы сказал, что за «хождение» пакетов в системе отвечает сетевой стек (часть ядра, реализация стека tcp/ip и драйвера устройств), предоставляющий интерфейс от сокетов, с которыми работают приложения, до данных, идущих на сетевую карту. Вот диаграмма https://upload.wikimedia.org/wikipedia/commons/5/5b/Linux_kernel_map.png

ip (iproute2) - утилита, позволяющая конфигурировать сетевой стек. (как и ifconfig, networkmanager)

Netfilter. Как гласит 3й абзац http://www.netfilter.org/:

netfilter is a set of hooks inside the Linux kernel that allows kernel modules to register callback functions with the network stack. A registered callback function is then called back for every packet that traverses the respective hook within the network stack.

iptables - утилита для конфигурирования netfilter. (firewalld туда же)

vwvol ()
Ответ на: комментарий от Vsevolod-linuxoid

Какие именно названия вычеркнуть из списка

По грубому dhcpd. Перефразируя ваш вопрос, любая программа использующая сетевой стек (хоть банальный telnet ya.ru 80) так или иначе использует ядро.
Но если рассматривать ваш вопрос как утилиты «меняющие поведение» то только dhcpd и выпадает из списка так же как и samba/apache/exim/другие-подобные-демоны

anc ★★★★★ ()

http://haifux.org/lectures/177/netLec.pdf

С точки зрения стороннего наблюдателя ты не расставил приоритеты и не ответил на 2 вопроса:

* что я изучаю? * для чего я это изучаю? * каким образом я пойму, что я достигнул цели?

Без ответа на эти вопросы можно излишне углубиться, потерять огромное количество времени, а цели не достигнуть

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