Debian ifconfig command not found: команда не найдена» в Debian 9

команда не найдена» в Debian 9

Ошибка ifconfig команда не найдена в Debian 9

Команда ifconfig используется в операционных системах на Linux для настройки сети или просмотра информации о ней. В дистрибутиве Debian 9 она тоже раньше присутствовала, однако позже было принято решение заменить этот инструмент другими, более подходящими для этой процедуры утилитами. Впрочем, сейчас ничто не мешает вам вернуть эту команду в систему и продолжать использовать ее, нужно лишь провести процедуру обычной инсталляции этого компонента.

Исправляем ошибку «ifconfig: команда не найдена»

Если при попытке активировать команду в «Терминале» вы сталкиваетесь с ошибкой «ifconfig: команда не найдена», значит программное обеспечение, отвечающее за эту команду, отсутствует в системе. Сегодня мы бы хотели показать не только метод исправления этой неполадки, но и рассказать о более новом альтернативном варианте, заменяющим

ifconfig. Давайте начнем с пошагового разбора первого способа.

Способ 1: Добавление утилиты ifconfig

Тем пользователям, которые привыкли задействовать именно эту команду, данный способ покажется оптимальным. Инструмент ifconfig не был удален вовсе, он просто отсутствует в стандартном наборе приложений системы, а добавить его можно, выполнив следующие инструкции:

  1. Для начала рекомендуем еще раз убедиться в том, что ifconfig недоступна. Запустите классический терминал любым удобным вариантом.
  2. Переход к терминалу для установки утилиты ifconfig в Debian 9

  3. Присвойте постоянные права суперпользователя, написав su -.
  4. Включение постоянных прав суперпользователя в консоли Debian 9

  5. Укажите пароль от рут-доступа и ожидайте появления новой строки ввода.
  6. Ввод пароля для включения постоянных прав суперпользователя в Debian 9

  7. Здесь просто введите ifconfig и нажмите на клавишу Enter.
  8. Проверка команды ifconfig через терминал в операционной системе Debian 9

  9. Если по-прежнему появляется уведомление об отсутствии команды в системе, установите набор компонентов net-tools, введя apt install net-tools.
  10. Команда для установки утилиты ifconfig в операционной системе Debian 9

  11. Ожидайте завершения добавления и настройки новых библиотек.
  12. Ожидание завершения установки утилиты ifconfig через терминал в Debian 9

  13. По завершении инсталляции еще раз выполните ifconfig, чтобы убедиться в успешности операции.
  14. Повторная проверка команды ifconfig через терминал в Debian 9

  15. Узнать больше информации о правилах используемой утилиты поможет строка ifconfig --help.
  16. Команда помощи по управлению утилитой ifconfig в Debian 9

Теперь вы знакомы с методом возвращения ранее стандартной утилиты в операционную систему Debian 9. Однако стоит понимать, что ей на замену пришел более удобный инструмент, из-за чего есть смысл разобраться в управлении с ним и оставить старые привычки.

Способ 2: Использование команды ip

Существует ряд причин, по которым команда ifconfig была заменена на ip в стандартной комплектации ОС на ядре Linux. Во-первых, она не разрешала настраивать систему контроля трафика, некорректно работала с некоторыми устройствами, не отображала их аппаратный адрес и не позволяла генерировать сетевые устройства TUN/TAP. Все эти недочеты были исправлены и доработаны, но уже внесены в функциональность ip. Например, просмотреть основную информацию по интерфейсу можно, введя ip a.

Альтернативная команда ip для замены ifconfig в Debian 9

Выдача в «Терминале» после активации указанной выше команды будет соответствовать той, которая была бы показана при ifconfig, но с некоторыми дополнительными данными. Дополнительные сведения по протоколу IPv4 получаются через ip -4 a, а по IPv6 — ip -6 a. Еще присутствует возможность получить данные по конкретному интерфейсу, для этого вводится ip a show wlan0, а список работающих интерфейсов отображается после ip link ls up.

Отображение информации при выполнении команды ip в Debian 9

Одной из главных задач при настройке сети всегда считалась процедура присвоения определенного локального адреса конкретному интерфейсу. При использовании старой утилиты выглядела строка ввода так: ifconfig eth0 192.168.1.101

, но в новом варианте пользователю потребуется ввести ip a add 192.168.1.101/255.255.255.0 dev eth0, обязательно указав при этом маску подсети. Обратить внимание следует и на возможное сокращение до ip a add 192.168.1.101/24 dev eth0.

Присвоение адреса к интерфейсу через команду ip в Debian 9

Если надобность в присвоении интерфейса для IP-адреса отпала, такая цепь достаточно легко удаляется. Всего-то нужно указать ip a del 192.168.1.101/24 eth0, а в случае необходимости очистки всего списка взаимосвязей лучше использовать сразу ip -s -s a f to 192.168.1.0/24.

Команда ip также определяет управление таблицами маршрутизации. Таблицей маршрутизации называют список сетевых путей, которые предназначены для определения лучшего маршрута передачи сетевого пакета. Ознакомиться со всеми доступными таблицами позволяет строка

ip r.

Проверка таблиц маршрутизации через команду ip в Debian 9

В ситуациях, когда требуется вручную перенаправить трафик, задействовать лучше тоже команду ip с определенными аргументами. Тогда строка обретет вид, например ip route add 192.168.5.0/24 dev eth0. Установленный маршрут также легко удаляется через ip route del 192.168.5.0/24 dev eth0.

Благодаря двум приведенным выше способам вы теперь знаете, как можно не только восстановить работу команды ifconfig в операционной системе Debian 9, но и какая есть достойная альтернатива этой устаревшей утилите. Использовать ли новый инструмент или вернуться к старому — решать только вам.

Проверка таблиц маршрутизации через команду ip в Debian 9
Мы рады, что смогли помочь Вам в решении проблемы.
Проверка таблиц маршрутизации через команду ip в Debian 9 Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.
Помогла ли вам эта статья?
ДА НЕТ

Ошибка ifconfig команда не найдена

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

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

Ошибка ifconfig команда не найдена

Первая причина почему вы можете получать эту ошибку, очень проста. Скорее всего, утилита установлена в вашей системе, но интерпретатор bash не может ее найти. Дело в том, что в Linux существует несколько папок для хранения исполняемых файлов. Все утилиты, которые может выполнять только суперпользователь расположены в каталоге /sbin или /usr/sbin.

Соответственно, обычному пользователю не нужно давать доступ к этим файлам, поэтому эти каталоги доступны только root, а в переменную среды PATH, из которой bash берет каталоги для поиска программ для пользователя они даже не добавлены. Проще говоря, вам достаточно только запустить программу от имени суперпользователя:

sudo ifconfig

Если даже после этого вы получаете эту ошибку, то это означает, что программа таки не установлена. Дело в том, что утилита довольно давняя, и некоторым разработчикам показалось, что нужно разработать что-то более совершенное, поэтому была разработана утилита ip. Она имеет больше возможностей и лучше. Но она непривычна и имеет сложный синтаксис. Теперь команда ip используется по умолчанию во многих дистрибутивах, а ifconfig удалена.

Таким образом, чтобы исправить ошибку ifconfig команда не найдена вам понадобиться установить пакет ней. Утилита находится в пакете net-tools. Для установки в Ubuntu выполните:

sudo apt install net-tools

В Fedora:

sudo dnf install net-tools

В CentOS:

sudo yum install net-tools

В ArchLinux:

sudo pacman -S net-tools

После завершения установки пакета, а это будет выполнено очень быстро, вы можете пользоваться утилитой и ошибки ifconfig command not found больше не будет. Только запускайте ее с помощью sudo. Если вы решили больше не использовать ifconfig смотрите статью про утилиту ip linux.

Выводы

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

Debian 10 (кодовое название Debian Buster) наконец-то явился миру с удивительными классными функциями и новой темой оформления.

Однако вы, возможно, столкнулись с ошибкой при попытке проверить IP-адрес вашего сетевого интерфейса (ов) при выполнении команды ifconfig, что указывает на то, что «команда ifconfig не найдена».

-bash: ifconfig: command not found

В Debian 10 (начиная с Debian 9) команда ifconfig устарела.

Вот почему вы получаете сообщение об отсутствующей команде ifconfig.

Обходным путем к этому препятствию является ip addr, который в значительной степени выполняет ту же задачу, что и команда ifconfig, как показано во фрагменте ниже.

# ip addr

Пример вывода:

Как видно из приведенного выше фрагмента, команда все равно будет отображать IP-адрес и другую статистику всех ваших сетевых интерфейсов.

Если вы все еще настаиваете на использовании старой доброй команды ifconfig, вам необходимо установить пакет net tools.

Пакет net-tools представляет собой инструментарий, который содержит спектр программ, которые составляют основу сетей Linux.

Он включают в себя следующее:

  • ifconfig
  • netstat
  • dig
  • hostname
  • route
  • arp
  • iptunnel

Исправление отсутствующей команды ifconfig в Debian

Чтобы исправить вышеуказанную ошибку, установите пакет net-tools, как показано далее:

# sudo apt install net-tools -y

Это запускает установку пакетов net-tools вместе с другими программными зависимостями, как показано далее:

Пример вывода:

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

Заключительные мысли

Это краткое руководство о том, как можно исправить ошибку команды ifconfig в Debian 10.

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

Кроме того, вы можете использовать команду ip addr, чтобы получить статистику интерфейсов без особых хлопот.

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

Спасибо за ваше время и не забудьте поделиться этим руководством в своих социальных сетях.

 

Поделитесь статьей:

ifconfig команда не найдена — решено

Для обмена данными между хостами от одного компьютера к другому используется технология, которая называется ethernet.  Чтобы обмен данными стал возможен, как минимум необходимо настроить сеть между двумя устройствами.

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

Установка

Сейчас все больше дистрибутивов linux отказываются от установки утилиты ifconfig по умолчанию. Поэтому чтобы ее использовать нужно предварительно установить. Это связано с тем что вышла более новая команда «ip» и ifconfig считается устаревшей утилитой, однако пользователи линукс уже привыкли использовать ее и выучили некоторые параметры этой команды.

Чтобы определить установлена ли сетевая утилита достаточно ввести ее название без аргументов.

ifconfig

Утилита не установлена, если оболочка командной строки выдаст одно из сообщений:

  1. команда не найдена;
  2. command not found;
  3. not found.

Сама утилита входит в пакет «net-tools», поэтому устанавливать нужно этот пакет.

ВАЖНО! Не надо писать apt «install ifconfig» программа не установится.

Установка на Centos:
yum install net-tools

На Ubuntu:
apt install net-tools

На Debian:

apt install net-tools

Синтаксис

Рассмотрим синтаксис.

ifconfig ключи interface параметры команда

Ключи:

  • -a. Показать все интерфейсы, включая отключенные.
  • -s. Краткий список interface.

Основные команды:

  • up — включить интерфейс.
  • down — выключить интерфейс.
  • hw — установить мак-адрес.
  • netmask — назначить маску подсети.
  • broadcast — установить широковещательный адрес
  • del — удалить ip-адрес.
  • mtu — назначить максимальный размер передаваемого пакета. Для Ethernet по умолчанию 1500.
  • arp — включить протокол arp. По умолчанию включен.
  • -arp — отключить arp.
  • irq — назначить номер прерывания.

Под интерфейсом понимается его название. Например eth0, eth2, eth3, eth4.

Примеры

Запустим команду без параметров.

ifconfig

ifconfig без аргументов

Как видно на скриншоте выше команда без ключей покажет информацию о всех включенных интерфейсах.

Здесь:

  • Eth0 и l0 — название интерфейса.
  • RX- cчетчик приема пакетов.
  • TX — счетчик передачи пакетов.
  • inet addr — IP-адрес четветой версии.
  • inet6 addr — IP-адрес версии шесть.
  • Bcast — широковещательный адрес.
  • UP BROADCAST RUNNING MULTICAST — означает, что интерфейс включен.
  • Mask — маска подсети.
  • collisions:0 — коллизия.
  • txqueuelen:1000 — длина очереди.

Выключим interface lo.

ifconfig lo down

Чтобы включить обратно lo выполним:

ifconfig lo up

Вывести информация о всех интерфейсах, включая отключенные, поможет ключ -a:

ifconfig -a

ifconfig без аргументов

Покажем конфигурацию только интерфейса eth0.

ifconfig eth0

Ifconfig eth0

Чтобы назначить сетевому адаптеру IP-адрес 192.168.20.2, необходимо написать название команды, interface и сам IP.

ifconfig lo 192.168.20.2

Назначение IP-адреса при помощи командной строки линукс

[Решено] ifconfig: команда не найдена.

Исправляем ошибку «ifconfig: команда не найдена»

Если при попытке активировать команду в «Терминале» вы сталкиваетесь с ошибкой «ifconfig: команда не найдена», значит программное обеспечение, отвечающее за эту команду, отсутствует в системе. Сегодня мы бы хотели показать не только метод исправления этой неполадки, но и рассказать о более новом альтернативном варианте, заменяющим ifconfig.

Способ 1: Добавление утилиты ifconfig

Тем пользователям, которые привыкли задействовать именно эту команду, данный способ покажется оптимальным. Инструмент ifconfig не был удален вовсе, он просто отсутствует в стандартном наборе приложений системы, а добавить его можно, выполнив следующие инструкции:

  1. Для начала рекомендуем еще раз убедиться в том, что ifconfig недоступна. Запустите классический терминал любым удобным вариантом.
  2. Присвойте постоянные права суперпользователя, написав su -.
  3. Укажите пароль от рут-доступа и ожидайте появления новой строки ввода.
  4. Здесь просто введите ifconfig и нажмите на клавишу Enter.
  5. Если по-прежнему появляется уведомление об отсутствии команды в системе, установите набор компонентов net-tools, введя apt install net-tools.
  6. Ожидайте завершения добавления и настройки новых библиотек.
  7. По завершении инсталляции еще раз выполните ifconfig, чтобы убедиться в успешности операции.
  8. Узнать больше информации о правилах используемой утилиты поможет строка ifconfig --help.

Теперь вы знакомы с методом возвращения ранее стандартной утилиты в операционную систему Debian 9. Однако стоит понимать, что ей на замену пришел более удобный инструмент, из-за чего есть смысл разобраться в управлении с ним и оставить старые привычки.

Способ 2: Использование команды ip

Существует ряд причин, по которым команда ifconfig была заменена на ip в стандартной комплектации ОС на ядре Linux. Во-первых, она не разрешала настраивать систему контроля трафика, некорректно работала с некоторыми устройствами, не отображала их аппаратный адрес и не позволяла генерировать сетевые устройства TUN/TAP. Все эти недочеты были исправлены и доработаны, но уже внесены в функциональность ip. Например, просмотреть основную информацию по интерфейсу можно, введя:

ip a

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

Дополнительные сведения по протоколу IPv4 смотрим командой:

ip -4 a

для IPv6:

ip -6 a

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

ip a show wlan0

Отобразить список работающих интерфейсов:

ip link ls up

Одной из главных задач при настройке сети всегда считалась процедура присвоения определенного локального адреса конкретному интерфейсу. с помощью команды ip это делается так:

ip a add 192.168.1.101/24 dev eth0

тоже самое:

ip a add 192.168.1.101/255.255.255.0 dev eth0

Если надобность в присвоении интерфейса для IP-адреса отпала, такая цепь достаточно легко удаляется.

ip a del 192.168.1.101/24 eth0

Команда ip также определяет управление таблицами маршрутизации. Таблицей маршрутизации называют список сетевых путей, которые предназначены для определения лучшего маршрута передачи сетевого пакета. Ознакомиться со всеми доступными таблицами позволяет строка

ip r

В ситуациях, когда требуется вручную перенаправить трафик, задействовать лучше тоже команду ip с определенными аргументами. Тогда строка обретет вид, например:

ip route add 192.168.5.0/24 dev eth0

Установленный маршрут также легко удаляется через

ip route del 192.168.5.0/24 dev eth0

Благодаря двум приведенным выше способам вы теперь знаете, как можно не только восстановить работу команды ifconfig в Debian подобных системах, но и какая есть достойная альтернатива этой устаревшей утилите. Использовать ли новый инструмент или вернуться к старому — решать только вам.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

ifconfig: command not found

Linux
  • Recluse
  • 01.06.2020
  • 178
  • 0
  • 02.06.2020
  • 1
  • 1
  • 0
ifconfig: command not found

Описание и решение проблемы

Если при попытки использования команды ifconfig, вы получаете следующее:

-bash: ifconfig: command not found

В русской локализации ошибка выглядит так:

-bash: ifconfig: команда не найдена…

То возможно проблема в том, что у Вас просто не хватает прав, так как у обычного пользователя к такой команде доступа попросту нет. Для того, чтобы воспользоваться данной командой нужно всего-лишь выполнить её под суперпользователем:

sudo ifconfig

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

ArchLinux

sudo pacman -S net-tools

CentOS/RedHat

sudo yum install net-tools

Debian/Mint/Ubuntu

sudo apt install net-tools

Fedora

sudo dnf install net-tools

Тяжелое расставание с Net-Tools / Хабр

Не секрет, что Net-Tools пора на почетную отставку. Да, многим админам и мне в том числе, до условного рефлекса Павлова знакомы команды ifconfig, route, netstat. На первый взгляд нет причин что-то менять, а лучшее как всегда враг хорошего.



Давайте узнаем почему Net-Tools уже не тот и как безболезненно с него перейти на iproute2 .


Что не так с ifconfig-ом?

Какие есть претензии к Net-Tools и насколько они обоснованны?


  • Использует устаревший ioctl, в то время как iproute2 использует актуальный netlink.
  • ifconfig показывает вторичные IP адреса как отдельные интерфейсы.
root ~ $ ifconfig dummy0:1 1.2.3.4 up
root ~ $ ifconfig dummy0
dummy0    Link encap:Ethernet  HWaddr FE:50:31:E6:14:17
          BROADCAST NOARP  MTU:1500  Metric:1
[...]

  • ifconfig не видит вторичные IP адреса без маркировки. Попробуйте запустить следующую команду и проверьте затем вывод в ifconfig. На интерфейсе eth0 IP адрес уже должен быть сконфигурен.
ip addr add 192.168.1.2/24 brd + dev eth0

  • ifconfig не знает о существовании CIDR. Только традиционные IPv4 адреса.
  • ifconfig не умеет показывать физический адрес туннельных интерфейсов tun, tap, вместо адреса сплошные нули.
root ~ $ ifconfig tun0
root ~ $ tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.0.254.6  P-t-P:10.0.254.5  Mask:255.255.255.255 

  • ifconfig не позволяет создавать создавать tun, tap устройства и статичные l2tp, ipip, gre тунели.
  • ifconfig не показывает одноранговые IP адреса, (peer IP). Можно сконфигурировать одноранговую сеть на eth0, но ifconfig не покажет удаленный IP.
root ~ $ ip addr add 192.168.13.37/32 peer 192.168.13.38 dev eth0
root ~ $ ifconfig eth0 192.168.13.37

  • netstat, пытается быть дружественным в режиме показа статистики, показывая описание SNMP переменных, но не всегда это оправданно. По ссылке история о том, как понять, что такое timeout in transit. Кроме того такой вывод статистики нелегко скормить обработчику регулярных выражений.
Icmp:
    3327 ICMP messages received
    17 input ICMP message failed
    ICMP input histogram:
        destination unreachable: 3151
        timeout in transit: 56

  • netstat не выдает полную статистику, так как показывает только те SNMP переменные из /proc/net/{snmp,netstat}, которые определены в файле statistics.c.

Категория Netstat Nstat Разница
Ip 6 17 +11
Ip6 14 32 +18
Icmp 6 29 +23
Icmp6 25 46 +21
Tcp 10 10 0
Udp 7 8 +1
Udp6 4 8 +4
UdpLite 0 15 +15
UdpLite6 0 7 +7
TcpExt 48 116 +68
IpExt 11 17 +6

Все перечисленные недостатки обусловлены тем, что проект слишком долго не развивался — последний релиз был в 2011 г, а ядро и сетевой стек за это время ушли далеко вперед. Справедливости ради надо отметить, что в последнее время работа над проектом возобновилась, но вряд ли это приведет к существенным изменениям в кодовой базе.


Переучиваемся на iproute2

С iproute2 можно получить все то же, что с Net-Tools и даже больше, но только синтаксис и вывод команд на терминал будут отличаться. Если честно, читебельность некоторых команд ip наводит на мысль, что новое не всегда лучшее.



Следующие две команды призваны заменить ifconfig без дополнительных ключей.

(5:520)$ ip -c link
1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
    link/ether 00:80:c8:f8:4a:51 brd ff:ff:ff:ff:ff:ff

С ключем -c вывод будет цветным и более читабельным.

(5:521)$ ip -c addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc
      pfifo_fast state DOWN qlen 1000
    link/ether 00:80:c8:f8:4a:51 brd ff:ff:ff:ff:ff:ff
    inet 192.0.2.1/24 brd 192.0.2.255 scope global eth0

Просмотреть таблицу маршрутизации кратко.

(5:522)$ ip ro

Вся таблица маршрутизации.

(5:523)$ ip ro list table all
broadcast 127.255.255.255 dev lo  proto kernel  scope link  src 127.0.0.1 
local 10.0.0.1 dev eth0  proto kernel  scope host  src 10.0.0.1 
broadcast 10.0.0.0 dev eth0  proto kernel  scope link  src 10.0.0.1 
local 212.64.94.251 dev ppp0  proto kernel  scope host  src 212.64.94.251 
broadcast 10.255.255.255 dev eth0  proto kernel  scope link  src 10.0.0.1 
broadcast 127.0.0.0 dev lo  proto kernel  scope link  src 127.0.0.1 
local 127.0.0.1 dev lo  proto kernel  scope host  src 127.0.0.1 
local 127.0.0.0/8 dev lo  proto kernel  scope host  src 127.0.0.1
local ::1 dev lo  proto none  metric 0  pref medium
local fe80::5166:f6f:fea2:29f dev lo  proto none  metric 0  pref medium
local fe80::fa61:45ff:f1e0:109e dev lo  proto none  metric 0  pref medium
local fe80::f5c4:ff:efbf:0455 dev lo  proto none  metric 0  pref medium
fe80::/64 dev eth0  proto kernel  metric 256  pref medium
fe80::/64 dev ppp0  proto kernel  metric 256 linkdown  pref medium
ff00::/8 dev eth0  metric 256  pref medium
ff00::/8 dev ppp0  metric 256 linkdown  pref medium
ff00::/8 dev lo  metric 256  pref medium

Обратите внимание, что вывод команд из набора iproute2 зачастую не тривиально парсить в скрипте. Это не добавляет популярности мейнтейнерам, которые пытаются выкинуть Net-Tools из дистрибутива.

Просмотреть физические адреса соседних узлов из ARP кэша. Для наглядности варианты с Net-Tools и iproute2 пишем рядом.

(5:524)$ arp -a
(5:525)$ ip neigh show

Перейдем теперь к настройкам. Поднять интерфейс.

(5:501)$ ifconfig eth0 up
(5:502)$ ip link set eth0 up

Выключить интерфейс.

(5:503)$ ifconfig eth0 down
(5:504)$ ip link set eth0 down

Задать IP адрес.

(5:504)$ ifconfig eth0 192.168.0.77 netmask 255.255.255.0 broadcast 192.168.0.255
(5:505)$ ip addr add 192.168.0.77/24 broadcast 192.168.0.255 dev eth0

В отличии от Net-Tools, iproute2 позволяет также удалить IP адрес.

(5:506)$ ip addr del 192.168.0.77/24 dev eth0

Добавить вторичный адрес.

(5:507)$ ifconfig eth0:1 10.0.0.1/8
(5:508)$ ip addr add 10.0.0.1/8 dev eth0 label eth0:1

Добавляем маршрут.

(5:509)$ route add -net 192.168.4.0/24 dev eth3
(5:510)$ ip route add 192.168.4.0/24 dev eth3

И удаляем его же.

(5:511)$ route del -net 192.168.4.0/24 dev eth3
(5:512)$ ip route del 192.168.4.0/24 dev eth3

Добавляем маршрут по умолчанию (a. k. a. gateway).

(5:513)$ route add default gw 192.0.2.1
(5:514)$ ip route add default via 192.0.2.1

Мы рассмотрели только базовые команды мониторинга и настройки, чуть менее чем полный список команд iproute2 по ссылке.


Nstat вместо netstat

Nstat в отличие от своего более старого аналога выдает только SNMP метрики в строго определенном порядке и выдает их все.

(5:526)$ nstat -a
#kernel
IpInReceives            69783          0.0
IpInDelivers            69469          0.0
IpOutRequests           68643          0.0
...

Еще одно отличие состоит в том, что netstat показывает кумулятивное значение метрик с момента запуска ОС, в то время как nstat по умолчанию показывает дельту значений и поэтому при первом запуске обеих команд значения будут одинаковы. Для того, чтобы nstat повел себя привычно, надо запускать его с ключем -s.

(5:527)$ nstat -sa #кумулятивные значения

С ключем --zero получаем только нулевые значения.

(5:528)$ nstat --zero
#kernel
IpInReceives                0              0.0
IpInHdrErrors               0              0.0
IpInAddrErrors              2              0.0
IpForwDatagrams             0              0.0
IpInUnknownProtos           0              0.0
IpInDiscards                0              0.0
(...)

Не знаю, хорошо ли это или плохо, но еще nstat умеет выдавать результат в формате json.

(5:528)$ nstat --json
{"kernel":{"TcpInSegs":2,"TcpOutSegs":4,"Ip6InReceives":2,"Ip6InDelivers":2,"Ip6OutRequests":4,"Ip6InOctets":776,"Ip6OutOctets":770,"Ip6InNoECTPkts":2,"TcpExtTCPHPHits":1,"TcpExtTCPHPAcks":1,"TcpExtTCPOrigDataSent":2}}

Ss вместо netstat

Команда ss с лихвой перекрывает функционал Netstat, по части вывода информации о сетевых подключениях, делает это быстрее и копает глубже. Пока netstat за каждым чихом лезет в /proc и теряя темп, ss через Netlink интерфейс быстро качает информацию из ядра.

(5:529)$ sudo ss --summary
Total: 348 (kernel 352)
TCP:   15 (estab 9, closed 1, orphaned 0, synrecv 0, timewait 1/0), ports 0

Transport Total     IP        IPv6
*         352       -         -        
RAW       1         0         1        
UDP       3         3         0        
TCP       14        12        2        
INET      18        15        3        
FRAG      0         0         0 

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

(5:530)$ ss -t
State      Recv-Q Send-Q    Local Address:Port        Peer Address:Port   
ESTAB      0      0           192.168.1.2:43839     108.160.162.37:http    
ESTAB      0      0           192.168.1.2:43622     199.59.149.201:https   
ESTAB      0      0           192.168.1.2:33141      83.170.73.249:ircd    
ESTAB      0      0           192.168.1.2:54028     74.125.135.125:xmpp-client

Однако ss позволяет залезть буквально под капот tcp соединениям.

(5:531)$ sudo ss --tcp --info |tail -n 1
         cubic wscale:4,7 rto:280 rtt:71.541/13.487 ato:40 mss:1460 cwnd:100 bytes_acked:465157 bytes_received:513194 segs_out:604 
segs_in:937 send 16.3Mbps lastsnd:86100 lastrcv:85680 lastack:5050 pacing_rate 32.7Mbps rcv_rtt:12120 rcv_space:186376

Тут есть все: таймеры подтверждения доставки, дорога туда-обратно, механизм контроля перегрузки канала cubic и много чего еще.


Тяни-толкай вокруг Net-Tools

По этому вопросу консенсуса в Linux сообществе пока нет. В OpenSuse в 2009 г. состоялся пленум завязалась дискуссия по этому вопросу, но на жесткие меры не пошли, а вот RedHat и Fedora в 2011 г. решили, что с них хватит, и уже начиная с 7-й версии RHEL не ставит Net-Tools. В 7.1 была безуспешная попытка его вернуть, что показывает неизбывную популярность Net-Tools. В Debian Linux после неудачной попытки в 2009 г. объявить Net-Tools устаревшим и начать процесс его замены, несколько лет об этом не вспоминали, и вот недавно спор возобновился с новой силой. Дело в том, что в Debian до сих пор значительное количество пакетов от него зависит. В Gentoo как всегда решаешь ты, ставить или нет, однако зависимостей по сабжу нет.

(5:532)$ equery depends net-tools
 * These packages depend on net-tools:
net-misc/openvpn-2.3.12 (!iproute2 ? sys-apps/net-tools)

Мне лично кажется, что пока нет причин отказываться от Net-Tools там, где это возможно. Если у вас два с половиной сетевых интерфейса на локалхосте, включая loopback, вы спокойно можете продолжать использовать эти программы, но на приличном боевом или даже на тестовом сервере iproute2 все же будет предпочтительнее, как бы пальцы ни дергались набрать привычные старые команды. Рано или поздно все Linux дистрибутивы и даже Debian перестанут ставить этот пакет по умолчанию, и тогда знание команд из набора iproute2 вполне пригодится, хотя этот момент может наступить еще не скоро.


Использованные материалы


90000 Debian ifconfig command not found Solved 90001 90002 Debian ifconfig command not found. Can not find ifconfig on Debian? You have probably installed a minimum installation without installing the standard system utilities. But do you really need ifconfig? If it just for checking the ip addresses, check out a Debian ifconfig alternative below. 90003 90002 90005 90005 90003 90008 Debian ifconfig 90009 90002 First, let us install the ifconfig command. After all, I assume that is how you found this article.I assume you got superuser or admin rights on the computer. Without the standard system utilities installed you need to install almost everything you need yourself. The package you need to install is net-tools. 90003 90002 apt-get install net-tools 90003 90002 90015 90015 90003 90002 Now you have the ifconfig command available. If you do not mind Debian ifconfig missing, there is an option built-in. The IP command should be in the sbin folder no matter if you installed the system tools or not.The complete command to display the same info at ifconfig is: 90003 90002 ip addr show 90003 90002 This command can be shortened to: 90003 90002 ip a 90003 90002 It is exactly the same as the ip addr show command. So if Debian does not have ifconfig, try to use the ip command instead. No installation needed. It will be in all installation. However, the net-tools package is only about 500-600kB. So it will hardly use any space on your hard drive. And I guess it comes down to preference if you want to use ifconfig or ip.90003 90002 Some prefer not to install the Standard System Utilities. If you chose not to install it, your security updates in the apt config (repository) might not be set. And I would check if the security repository is added to the repository list. 90003 90002 90031 90031 90003 90002 That’s my article on Debian ifconfig not found. If you experience slow SSH logins check out SSH slow login on Debian based systems. 90003 90008 Continue Reading 90009.90000 Fix Ifconfig Command not found in Linux Operating Systems 90001 90002 This is a simple guide to fix ifconfig command not found in the Linux operating system. No matter what Linux operating system you are using, this tips will help you fix this issue. 90003 90002 The ifconfig is a system administration utility in Unix and Linux like operating systems for network interface configuration. The utility is a command line interface tool and is also used in the system startup scripts of many operating systems.It has features for configuring, controlling, and querying TCP / IP network interface parameters. Ifconfig originally appeared in 4.2BSD as part of the BSD TCP / IP suite. 90003 90002 As you know that the 90007 ifconfig 90008 stands for «interface configuration». It is used to view and change the configuration of the network interfaces on your system. So I recommend you read this informative article about ifconfig command. The writer tried to explain the 15 important command of ifconfig for Linux users.90003 90010 90002 90012 Related 90013: 15 Useful «ifconfig» Commands to Configure Network Interface in Linux Thanks to 90012 Ravi Saive 90013 the autor of this post 90003 90017 90002 When you type ifconfig to check your system network configuration, it prompts that the program ‘ifconfig’ is currently not installed. To fix ifconfig command not found, just install the net-tools package on your system. 90003 Fix Ifconfig Command not found in Linux Ubuntu 90002 90012 1. 90013 To install net-tools, open terminal and type «90012 sudo apt-get install net-tools 90013» in Ubuntu Linux.Then type the admin password to start the net-tools installation process. 90003 90010 90002 90012 Note: 90013 Your system must have a network connection that connects to the internet. Without internet it can not download the net-tools package from linux online repository. 90003 90017 How to install missing ifconfig command on Linux — Technig 90002 90012 2. 90013 When the net-tools installation has finished successfully, type ifconfig to test whether it works or not. Now, it must work perfectly without any issue.90003 90010 90002 90012 Related Questions: 90013 90003 90041 90042 ifconfig command not found RedHat 90043 90042 install ifconfig Debian 90043 90042 ifconfig command not found kali 90043 90048 90017 90002 Yes, it works perfectly. Now you can see the Linux network interface configuration. 90003 The program ‘ifconfig’ is currently not installed — Linux Network Interface Configuration — Technig 90002 That’s all, hope you get to fix the ifocnfig command error quickly. Try to comment us in case of any issue.We will help you fix it as soon as possible. 90003.90000 How to install «ifconfig» command in my ubuntu docker image? 90001 Stack Overflow 90002 90003 Products 90004 90003 Customers 90004 90003 Use cases 90004 90009 90010 90003 Stack Overflow Public questions and answers 90004 90003 Teams Private questions and answers for your team 90004 90003 Enterprise Private self-hosted questions and answers for your enterprise 90004 90003 Jobs Programming and related technical career opportunities 90004 90003 Talent Hire technical talent 90004 90003 Advertising Reach developers worldwide 90004 90009 .90000 ifconfig Command not found on CentOS 7 / RHEL 7 90001 ifconfig command not found on CentOS 8 90002 ifconfig is a command-line utility to configure a network interface and get an IP address of Linux machines. Are you wondering? 90003 ifconfig 90004 command not found after the installation CentOS 7 / RHEL 7. 90005 90002 READ: CentOS 7 installation — Step by Step with screenshot — Part 1 90005 90002 READ: CentOS 7 installation — Step by Step with screenshot — Part 2 90005 90010 -bash: ifconfig: command not found 90011 90002 This small guide will help you to install the necessary packages for getting 90003 ifconfig 90004 command.90005 90002 Let us see which package provides us 90003 ifconfig 90004 command using the YUM command. 90005 90010 yum whatprovides ifconfig 90011 90002 90003 Output: 90004 90005 90010 Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * Base: centos.chi.host-engine.com * Epel: mirror.steadfast.net * Extras: repo.us.bigstepcloud.com * Updates: centos.chi.host-engine.com 90003 net-tools-2.0-0.17.20131004git.el7.x86_64 90004: Basic networking tools Repo: base Matched from: Filename: 90003 / sbin / ifconfig 90004 90011 90002 From the above command, you can see that 90003 the net-tools package provides you ifconfig command 90004.Now, install the 90003 net-tools 90004 package using the yum command. 90005 90010 yum -y install net-tools 90011 90002 90003 Output: 90004 90005 90010 Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * Base: centos.chi.host-engine.com * Epel: mirror.steadfast.net * Extras: repo.us.bigstepcloud.com * Updates: centos.chi.host-engine.com Resolving Dependencies -> Running transaction check —> Package net-tools.x86_64 0: 2.0-0.17.20131004git.el7 will be installed -> Finished Dependency Resolution Dependencies Resolved ================================================== ================================================== ================================================== ============================================== Package Arch Version Repository Size ================================================== ================================================== ================================================== ============================================== Installing: net-tools x86_64 2.0-0.17.20131004git.el7 base 304 k Transaction Summary ================================================== ================================================== ================================================== ============================================== Install 1 Package Total download size: 304 k Installed size: 917 k Downloading packages: net-tools-2.0-0.17.20131004git.el7.x86_64.rpm | 304 kB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing: net-tools-2.0-0.17.20131004git.el7.x86_64 1/1 Verifying: net-tools-2.0-0.17.20131004git.el7.x86_64 1/1 Installed: net-tools.x86_64 0: 2.0-0.17.20131004git.el7 Complete! 90011 90002 Once the installation is complete, then run 90003 ifconfig 90004 to see whether it is available or not.90005 90010 ifconfig 90011 90002 90003 Output: 90004 90005 ifconfig Command not found on CentOS 7 — Ifconfig Output 90002 That’s All. You now have the 90003 ifconfig 90004 command available on your CentOS 7 / RHEL 7 machine. 90005 .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *