Ubuntu не работает ifconfig

Обновлено: 05.07.2024

Пользователям Windows знакома команда ipconfig , используемая для получения информации о конфигурации сетевого интерфейса и ее изменения. В Linux есть аналогичный инструмент, который называется ifconfig (расшифровывается как настройка интерфейсов).

Обычно требуется войти в систему как пользователь root или использовать sudo, чтобы иметь возможность использовать ifconfig на компьютере с Linux.

Не только для получения информации, ifconfig также можно использовать для изменения/настройки сетевых интерфейсов. Эта программа является важной частью многих операционных систем, поскольку она используется в сценариях запуска системы.

В новых версиях Linux при попытке вызвать ifconfig из командной строки может появиться всплывающее сообщение об ошибке ifconfig: команда не найдена или -bash: ifconfig: команда не найдена. Эта статья поможет вам понять, почему возникает ошибка и что можно сделать, чтобы ее исправить.

Почему происходит команда ifconfig не найдена?

В основном ошибка означает, что в системе не найдена такая команда с именем "ifconfig". С 2009 года планировалось отказаться от сетевых инструментов, частью которых является конфигурация, из-за отсутствия обслуживания. Но из соображений совместимости до недавнего времени он оставался частью стандартных библиотек.

Начиная с Debian Stretch и Ubuntu 18.04 и его производных, таких как Kali Linux, elementaryOS, net-tools вместе с ifconfig были заменены на iproute2util, который по умолчанию использует команду ip. Вы также обнаружите, что ifconfig отсутствует по умолчанию в CentOS 7 и Fedora 18.

Как исправить команда ifconfig не найдена в Ubuntu/Debian

Откройте терминал и введите следующую команду, чтобы установить пакет net-tools и прилагаемый к нему ifconfig.

Переключатель -y означает, что apt автоматически примет любое всплывающее приглашение.

После завершения установки вы сможете использовать ifconfig в обычном режиме.

Как исправить команда ifconfig не найдена в CentOS

Подобно дистрибутиву Ubuntu/Debian, вам необходимо установить net-tools, введя в терминале приведенную ниже команду.

Если yum не может найти net-tools, возможно, включенные вами репозитории не содержат пакет net-tools. Вам необходимо включить все глобальные репозитории CentOS.

Даже при наличии в вашей системе net-tools, в некоторых случаях проблема все еще существует. Вам необходимо вручную проверить, включен ли путь для двоичного файла ifconfig в системную переменную PATH.

Сначала необходимо проверить, существует ли /sbin/ifconfig. Вы можете ввести путь непосредственно в окно терминала или использовать эту команду:

Как только вы увидите, что двоичный файл ifconfig существует!, введите эту команду в терминал, чтобы увидеть текущую переменную PATH

Затем проверьте вывод. Если в выводе нет /sbin, вам нужно вручную добавить путь к системной переменной PATH, используя следующую команду

Перезагрузите компьютер, после чего вы сможете нормально использовать ifconfig.

Я регулярно вижу «рекомендации» по использованию ifconfig для получения информации об интерфейсе в сообщениях списка рассылки, отчетах об ошибках и других местах. Возможно, я даже сам виноват в этом. Тем не менее, мир сетей сильно изменился с тех пор, как ifconfig стал стандартом де-факто для вызова устройства, проверки его IP-адреса или установки IP-адреса.

После некоторых улучшений в ядре и постепенного перехода к управлению сетевыми вещами через netlink; ifconfig был в значительной степени заменен командой ip.

Запуск только ip дает следующее:

Я понимаю, что некоторым это может показаться сложным, но суть в том, чтобы понять, что с помощью ip вы взаимодействуете с объектами и применяете к ним какую-то функцию. Например:

Это основная команда, которая будет использоваться вместо ifconfig. Он просто отобразит IP-адреса, назначенные всем интерфейсам. Чтобы быть точным, он покажет вам подробности интерфейса уровня 3: адреса IPv4 и IPv6, работает ли он, каковы различные свойства, связанные с адресами…

Другая команда предоставит вам подробную информацию о свойствах интерфейса уровня 2: его MAC-адрес (адрес Ethernet) и т. д.; даже если он отображается по IP-адресу:

Кроме того, вы можете включать и выключать устройства (аналогично ifconfig eth0 up или ifconfig eth0 down), просто используя:

Как показано выше, существует множество других объектов, с которыми можно взаимодействовать с помощью команды ip. Я расскажу о другом: ip route в другом посте.

Почему это важно?

Со временем все больше и больше функций становится проще использовать с помощью команды ip вместо ifconfig.Мы уже прекратили установку ifconfig на настольные компьютеры (пока он все еще устанавливается на серверы), и люди уже некоторое время обсуждают удаление net-tools (пакета, поставляющего ifconfig и несколько других старых команд, которые заменены). Возможно, пришло время вернуться к тому, чтобы нигде не устанавливать net-tools по умолчанию.

Я хочу узнать о вашем мире

Вы все еще используете один из следующих инструментов?

/bin/netstat (заменен на ss, которому я полностью посвящу отдельный пост в блоге)
/sbin/ifconfig
/sbin/ipmaddr (заменен на ip maddress)
/ sbin/iptunnel
/sbin/mii-tool (ethtool должен заменить его соответствующим образом)
/sbin/nameif
/sbin/plipconfig
/sbin/rarp
/sbin /маршрут
/sbin/slattach

Если это так и просто нет альтернативы их использованию из iproute2 (ну, команды ip или ss), которые вы можете использовать для того же, я хочу знать, как вы их используете. Мы всегда следим за вещами, которые могут быть нарушены изменениями; мы хотим по возможности не ломать вещи.

Эта статья изначально была опубликована в блоге автора

Облако Ubuntu

Ubuntu предлагает все необходимое для обучения, программную инфраструктуру, инструменты, услуги и поддержку для общедоступных и частных облаков.

Вы пытались узнать IP-адрес вашей операционной системы Linux, и произошла ошибка с сообщением «bash: /usr/sbin/ifconfig: Нет такого файла или каталога», и эта ошибка привела вас сюда. Не волнуйтесь; вы читаете именно тот пост. Но возникает вопрос, что это работало раньше; что случилось?

Почему команда «ifconfig» больше не работает?

Ответ довольно прост; команда «ifconfig» устарела в следующих версиях операционных систем Linux. Это должна быть более старая версия вашей операционной системы, когда эта команда сработала для вас в последний раз. Но это не значит, что вы ничего не делаете. Вы можете либо узнать IP-адрес вашей системы, введя команду, приведенную ниже.


Или вы можете установить net-tools в своей операционной системе, если вы все еще хотите запустить команду «ifconfig».

Как установить net-tools в Linux

Net-tools — это набор инструментов, который содержит множество программ, связанных с сетью Linux, и позволяет пользователям выполнять сетевые задачи. Например,

  • Конфигурация имени хоста
  • Инструмент Netstat
  • Конфигурация протокола разрешения адресов
  • Команда копать
  • Команда Ifconfig

Давайте установим net-tools, чтобы мы могли легко запустить команду «ifconfig». В этом посте будут установлены сетевые инструменты в операционной системе Ubuntu 20.04 LTS, но процесс будет таким же для Debian или других систем на базе Debian.

Шаг 1. Обновите системный репозиторий кеша APT

Прежде всего, перед установкой любого приложения в операционной системе Linux рекомендуется сначала обновить системный репозиторий кэша APT.


После обновления системного кеша APT-репозитория установите net-tools.

Шаг 2. Установите сетевые инструменты

Команда для установки сетевых инструментов в Ubuntu 20.04 приведена ниже.

Установка net-tools начнется и завершится через пару минут.


После установки net-tools вы можете запустить команду «ifconfig».

Шаг 3. Запустите команду «ifconfig»

Теперь запустите команду «ifconfig» в терминале


Вы можете увидеть, что сетевая статистика отображается с помощью команды «ifconfig».

Ezoic

сообщить об этом объявлении

ifconfig (конфигурация интерфейса) — это инструмент управления сетью. Он используется для настройки и просмотра состояния сетевых интерфейсов в операционных системах Linux. С помощью ifconfig вы можете назначать IP-адреса, включать или отключать интерфейсы, управлять кешем ARP, маршрутами и т. д.

В этой статье мы рассмотрим, как использовать команду ifconfig.

Команда ifconfig устарела и заменена на ip и может быть не включена в более новые дистрибутивы Linux.

Если вы получаете сообщение об ошибке «ifconfig: команда не найдена», это означает, что пакет, содержащий эту команду, не установлен в вашей системе.

В дистрибутивах Linux на основе Ubuntu и Debian выполните следующую команду, чтобы установить ifconfig :

Чтобы установить ifconfig в CentOS и других дистрибутивах Linux на базе RHEL, введите:

Основной синтаксис команды ifconfig показан ниже:

  • interface — имя сетевого интерфейса.
  • адрес — это IP-адрес, который вы хотите назначить.

Конфигурации, установленные с помощью команды ifconfig, не являются постоянными. После перезагрузки системы все изменения теряются. Чтобы сделать изменения постоянными, вам нужно отредактировать файлы конфигурации для конкретного дистрибутива или добавить команды в сценарий запуска.

Только root или пользователи с правами sudo могут настраивать сетевые интерфейсы.

При вызове без каких-либо параметров ifconfig отображает информацию о конфигурации всех сетевых интерфейсов и связанных с ними IP-адресов:

Вывод включает информацию обо всех активных и неактивных сетевых интерфейсах:

Чтобы отобразить информацию о конфигурации любого конкретного сетевого интерфейса, напишите имя интерфейса после команды:

Вывод будет выглядеть примерно так:

С помощью команды ifconfig вы можете назначить IP-адрес и сетевую маску сетевому интерфейсу.

Используйте следующий синтаксис для назначения IP-адреса и сетевой маски:

Например, чтобы назначить IP-адрес 192.168.0.101 и сетевую маску 255.255.0.0 интерфейсу eth0, выполните:

Вы также можете назначить дополнительный IP-адрес сетевому интерфейсу, используя псевдоним интерфейса:

Иногда может потребоваться сброс настроек сетевого интерфейса. В этом случае для включения или отключения сетевого интерфейса можно использовать команду ifconfig.

Чтобы отключить активный сетевой интерфейс , введите имя устройства, а затем флаг "вниз":

Чтобы включить неактивный сетевой интерфейс, используйте флаг up:

Promiscuous позволяет сетевому интерфейсу получать доступ ко всем пакетам в сети и просматривать их. Вы можете использовать команду ifconfig для включения и отключения беспорядочных связей на определенном сетевом устройстве.

Чтобы включить неразборчивый режим на сетевом интерфейсе, введите флаг неразборчивости после имени устройства:

Чтобы отключить неразборчивый режим, используйте флаг -promisc

MTU «Максимальная единица передачи» позволяет ограничить размер пакетов, передаваемых через интерфейс.

Вы можете изменить значение MTU, используя синтаксис:

Например, установите значение MTU сетевого интерфейса eth0 равным 500, выполните следующую команду:

MAC «Media Access Control» — это физический адрес, который однозначно идентифицирует устройства в сети.

Чтобы изменить MAC-адрес сетевого интерфейса, используйте флаг hw ether для установки нового MAC-адреса:

Мы показали вам, как использовать команду ifconfig для настройки и отображения информации о сетевом интерфейсе. Для получения дополнительной информации о ifconfig посетите справочную страницу команды ifconfig .

Если у вас есть какие-либо вопросы, оставьте комментарий ниже.

Ezoic

сообщить об этом объявлении

Читайте также: