4

Я знаю, что можно отключить интерфейс, выполнив ifconfig lo down . Но можно ли настроить ядро так, чтобы интерфейс lo просто не был доступен? Обратите внимание, что я не хочу удалять исходный код ядра или отключать весь стек tcp/ip.

Обратите внимание, что это вопрос технического характера. Я знаю, что нужен интерфейс, и с моей машиной случится много плохого. Но я все еще хотел бы знать, возможно ли это вообще.

2 ответа2

4

Да, это возможно, если:

  • Вы перекомпилируете Linux без поддержки сети. (вовсе нет)
  • Вы редактируете исходный код ядра.

Просто удаление его из конфигурации кажется менее тривиальным, чем ожидалось. Удаление его из /usr/src/linux/drivers/net/Makefile (строка 68 в ядре 3.2.29) - хорошее начало, но его недостаточно для успешной компиляции. И /usr/src/linux/net/core/dev.c (строки с 6606 по 6614) указывают, что устройство обратной связи, как ожидается, всегда будет существовать, если выбрана сетевая часть. (Как указано в этом комментарии в коде):

/* The loopback device is special if any other network devices
 * is present in a network namespace the loopback device must
 * be present. Since we now dynamically allocate and free the
 * loopback device ensure this invariant is maintained by
 * keeping the loopback device as the first device on the
 * list of network devices.  Ensuring the loopback devices
 * is the first device that appears and the last network device
 * that disappears.
*/

Итак: да, это возможно. Но не совсем тривиально.

4

Конечно , это возможно. Linux с открытым исходным кодом; достаточно взломав систему сборки и / или исходный код, вы можете делать все что угодно. Вы могли бы определенно компилировать Linux без стека TCP / IP вообще; в этом случае у вас не будет сетевых интерфейсов, потому что ядро не будет иметь понятия "сеть".

Обычно это не то, что вы можете отключить из графического интерфейса или из командной строки стандартного дистрибутива Linux, такого как Ubuntu, Debian или Fedora, потому что петлевой интерфейс встроен в конкретную сборку ядра, которую они поставляют; но это не значит, что вы не можете перекомпилировать ядро с удаленным ядром.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .