команда не найдена» в Debian 9
Команда ifconfig используется в операционных системах на Linux для настройки сети или просмотра информации о ней. В дистрибутиве Debian 9 она тоже раньше присутствовала, однако позже было принято решение заменить этот инструмент другими, более подходящими для этой процедуры утилитами. Впрочем, сейчас ничто не мешает вам вернуть эту команду в систему и продолжать использовать ее, нужно лишь провести процедуру обычной инсталляции этого компонента.
Исправляем ошибку «ifconfig: команда не найдена»
Если при попытке активировать команду в «Терминале» вы сталкиваетесь с ошибкой «ifconfig: команда не найдена», значит программное обеспечение, отвечающее за эту команду, отсутствует в системе. Сегодня мы бы хотели показать не только метод исправления этой неполадки, но и рассказать о более новом альтернативном варианте, заменяющим
Способ 1: Добавление утилиты ifconfig
Тем пользователям, которые привыкли задействовать именно эту команду, данный способ покажется оптимальным. Инструмент ifconfig не был удален вовсе, он просто отсутствует в стандартном наборе приложений системы, а добавить его можно, выполнив следующие инструкции:
- Для начала рекомендуем еще раз убедиться в том, что ifconfig недоступна. Запустите классический терминал любым удобным вариантом.
- Присвойте постоянные права суперпользователя, написав
su -
. - Укажите пароль от рут-доступа и ожидайте появления новой строки ввода.
- Здесь просто введите
ifconfig
и нажмите на клавишу Enter. - Если по-прежнему появляется уведомление об отсутствии команды в системе, установите набор компонентов net-tools, введя
apt install net-tools
. - Ожидайте завершения добавления и настройки новых библиотек.
- По завершении инсталляции еще раз выполните
ifconfig
, чтобы убедиться в успешности операции. - Узнать больше информации о правилах используемой утилиты поможет строка
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
.
Одной из главных задач при настройке сети всегда считалась процедура присвоения определенного локального адреса конкретному интерфейсу. При использовании старой утилиты выглядела строка ввода так: ifconfig eth0 192.168.1.101
p a add 192.168.1.101/255.255.255.0 dev eth0
, обязательно указав при этом маску подсети. Обратить внимание следует и на возможное сокращение до ip a add 192.168.1.101/24 dev eth0
.Если надобность в присвоении интерфейса для IP-адреса отпала, такая цепь достаточно легко удаляется. Всего-то нужно указать ip a del 192.168.1.101/24 eth0
, а в случае необходимости очистки всего списка взаимосвязей лучше использовать сразу ip -s -s a f to 192.168.1.0/24
.
Команда ip также определяет управление таблицами маршрутизации. Таблицей маршрутизации называют список сетевых путей, которые предназначены для определения лучшего маршрута передачи сетевого пакета. Ознакомиться со всеми доступными таблицами позволяет строка
.
В ситуациях, когда требуется вручную перенаправить трафик, задействовать лучше тоже команду ip с определенными аргументами. Тогда строка обретет вид, например ip route add 192.168.5.0/24 dev eth0
. Установленный маршрут также легко удаляется через ip route del 192.168.5.0/24 dev eth0
.
Благодаря двум приведенным выше способам вы теперь знаете, как можно не только восстановить работу команды ifconfig в операционной системе 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
Утилита не установлена, если оболочка командной строки выдаст одно из сообщений:
- команда не найдена;
- command not found;
- 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
Как видно на скриншоте выше команда без ключей покажет информацию о всех включенных интерфейсах.
Здесь:
- 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
Покажем конфигурацию только интерфейса eth0.
ifconfig eth0
Чтобы назначить сетевому адаптеру IP-адрес 192.168.20.2, необходимо написать название команды, interface и сам IP.
ifconfig lo 192.168.20.2
[Решено] ifconfig: команда не найдена.
Исправляем ошибку «ifconfig: команда не найдена»
Если при попытке активировать команду в «Терминале» вы сталкиваетесь с ошибкой «ifconfig: команда не найдена», значит программное обеспечение, отвечающее за эту команду, отсутствует в системе. Сегодня мы бы хотели показать не только метод исправления этой неполадки, но и рассказать о более новом альтернативном варианте, заменяющим ifconfig.
Способ 1: Добавление утилиты ifconfig
Тем пользователям, которые привыкли задействовать именно эту команду, данный способ покажется оптимальным. Инструмент ifconfig не был удален вовсе, он просто отсутствует в стандартном наборе приложений системы, а добавить его можно, выполнив следующие инструкции:
- Для начала рекомендуем еще раз убедиться в том, что ifconfig недоступна. Запустите классический терминал любым удобным вариантом.
- Присвойте постоянные права суперпользователя, написав
su -
. - Укажите пароль от рут-доступа и ожидайте появления новой строки ввода.
- Здесь просто введите
ifconfig
и нажмите на клавишу Enter. - Если по-прежнему появляется уведомление об отсутствии команды в системе, установите набор компонентов net-tools, введя
apt install net-tools
. - Ожидайте завершения добавления и настройки новых библиотек.
- По завершении инсталляции еще раз выполните
ifconfig
, чтобы убедиться в успешности операции. - Узнать больше информации о правилах используемой утилиты поможет строка
ifconfig --help
.
Теперь вы знакомы с методом возвращения ранее стандартной утилиты в операционную систему Debian 9. Однако стоит понимать, что ей на замену пришел более удобный инструмент, из-за чего есть смысл разобраться в управлении с ним и оставить старые привычки.
Способ 2: Использование команды ip
Существует ряд причин, по которым команда ifconfig была заменена на ip в стандартной комплектации ОС на ядре Linux. Во-первых, она не разрешала настраивать систему контроля трафика, некорректно работала с некоторыми устройствами, не отображала их аппаратный адрес и не позволяла генерировать сетевые устройства TUN/TAP. Все эти недочеты были исправлены и доработаны, но уже внесены в функциональность ip. Например, просмотреть основную информацию по интерфейсу можно, введя:
ip a
Выдача в «Терминале» после активации указанной выше команды будет соответствовать той, которая была бы показана при ifconfig
, но с некоторыми дополнительными данными.
Дополнительные сведения по протоколу IPv4 смотрим командой:
ip -4 a
для IPv6:
ip -6 a
Еще присутствует возможность получить данные по конкретному интерфейсу, для этого вводим
i
p 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, вы получаете следующее:
-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 .