Ifconfig command not found debian: команда не найдена» в Debian 9
команда не найдена» в Debian 9
Команда ifconfig используется в операционных системах на Linux для настройки сети или просмотра информации о ней. В дистрибутиве Debian 9 она тоже раньше присутствовала, однако позже было принято решение заменить этот инструмент другими, более подходящими для этой процедуры утилитами. Впрочем, сейчас ничто не мешает вам вернуть эту команду в систему и продолжать использовать ее, нужно лишь провести процедуру обычной инсталляции этого компонента.
Исправляем ошибку «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
. Еще присутствует возможность получить данные по конкретному интерфейсу, для этого вводится ip a show wlan0
, а список работающих интерфейсов отображается после ip link ls up
.
Одной из главных задач при настройке сети всегда считалась процедура присвоения определенного локального адреса конкретному интерфейсу. При использовании старой утилиты выглядела строка ввода так: 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-адреса отпала, такая цепь достаточно легко удаляется. Всего-то нужно указать ip a del 192.168.1.101/24 eth0
, а в случае необходимости очистки всего списка взаимосвязей лучше использовать сразу ip -s -s a f to 192.168.1.0/24
.
Команда 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 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
Настройка сетевого интерфейса Debian посредством ifconfig
Команда ifconfig позволит сконфигурировать сетевой интерфейс, имеет очень широкие возможности, для подробной информации: man ifconfig.
В этой части настроек вам потребуются права суперпользователя, поэтому далее для изменения параметров сети необходимо использовать sudo.
Если компьютер имеет статический ip-адрес, не имеет доступа к другим сетям (в том числе интернет), то команда настройки сетевого интерфейса будет выглядеть следующим образом:
sudo ifconfig eth0 10.7.9.6 netmask 255.255.0.0 up
Подробности:
sudo ifconfig ethN параметры
Параметры:
down – остановить интерфейс:
sudo ifconfig eth0 down
up – поднять интерфейс:
sudo ifconfig eth0 up
IP-адрес – для его изменения используется следующий формат команды:
sudo ifconfig eth2 10.7.9.6
Маска подсети:
sudo ifconfig eth2 netmask 255.0.0.0
Иногда администраторы сетей (в том числе и провайдеры) делают привязку к МАС-адресу сетевой карты. В случае смены сетевой карты или всего системного блока в такой сети ничего работать не будет. Можно позвонить и попросить обновить эту информацию, но днем провайдеру можно не дозвониться, а ночью он может спать. В таком случае можно изменить МАС-адрес на тот, что был у предыдущей сетевой карты, вручную.
Но сначала нужно выяснить мак-адрес по умолчанию при помощи уже знакомой вам команды ifconfig без параметров.
После этого дать команду, которая заменит текущий мак-адрес на новый:
sudo ifconfig eth2 hw ether 00:e0:4c:d0:99:28
Все действия можно выполнить одной командой, например так:
sudo ifconfig eth2 down && ifconfig eth2 10.7.9.7 netmask 255.0.0.0 hw ether 00:e0:4c:d0:99:28 up
&& – означает, успешное выполнение предыдущей команды. Т.е. если ifconfig eth2 down будет выполнено, передается на управление следующая команда ifconfig eth2 10.7.9.7 netmask 255.0.0.0 hw ether 00:e0:4c:d0:99:28 up
Все эти настройки действительны лишь до перезагрузки системы. Сделаем их постоянными следующим образом:
Настройка сети редактированием файла /etc/network/interfaces
1. Удалим Network Manager:
sudo apt-get remove network-manager
2. Введите команду ifconfig -a, открывающую перед вами список всех (активных и неактивных) сетевых устройств, которые именуются как eth0, eth2, eth3 и т.д.
еth0 — первая сетевая карта.
eth2 — вторая сетевая карта.
lo — локальная петля.
У меня локальная сеть подключена к сетевой карте eth2, поэтому и в примерах будет использоваться eth2.
3. Почти вся информация о настройках сети и методах ее активации, хранится в файле /etc/network/interfaces, именно с ним мы и будем работать, используя ваш любимый редактор.
Откройте и посмотрите на его содержание:
sudo gedit /etc/network/interfaces
auto lo – говорит о том, что интерфейс lo поднимается автоматически при загрузке системы.
Добавьте в файл строки:
auto eth2
iface eth2 inet static
address 10.7.9.6
netmask 255.0.0.0
gateway 10.0.0.1
auto eth2 – сетевая карта eth2 поднимается автоматически во время загрузки системы.
iface eth2 inet static – указывает, что интерфейс (iface) сетевой карты (eth2) находится в диапазоне адресов ipv4 (inet) состатическим ip (static).
address 10.7.9.6 – статический ip адрес, тут вы должны записать свой.
netmask — стандартная маска сети.
gateway – ip адрес основного шлюза.
Редактирование закончено. Сохраните и закройте файл.
5. Запросите у вашего провайдера услуг Интернет (Internet Service Provider, ISP) адреса основного и вспомогательного серверов DNS и опишите их в файле /etc/resolv.conf. На примере я укажу адрес своего днс-провайдера, вы должны ввести свои данные. Откройте файл для редактирования:
sudo gedit /etc/resolv.conf
Вставьте свои данные:
nameserver 10.0.0.1
nameserver 172.16.0.1
Сохраните и закройте файл.
6. Для настройки DHCP и получения сетевых параметров автоматически, нужно добавить две строчки (пусть у меня так поднимется карта eth0).
Откройте файл:
sudo gedit /etc/network/interfaces
Вставьте строчки следующего содержания:
auto eth0
iface eth0 inet dhcp
Ваш файл будет выглядеть так:
auto lo
iface lo inet loopback
auto eth2
iface eth2 inet static
address 10.7.9.6
netmask 255.0.0.0
gateway 10.0.0.1
auto eth0
iface eth0 inet dhcp
Если по каким-либо причинам вы хотите чтобы при загрузке у сетевой карты eth2 был другой MAC-адрес, для этого нужно дописать строчку hwaddress ether 00:e0:4c:d0:99:28:
auto eth2
iface eth2 inet static
address 10.7.9.6
netmask 255.0.0.0
gateway 10.0.0.1
hwaddress ether 00:e0:4c:d0:99:28
Вконтакте
Google+
LiveJournal
Одноклассники
Мой мир
Тяжелое расставание с 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
вполне пригодится, хотя этот момент может наступить еще не скоро.
Использованные материалы
Команда ifconfig — примеры использования
Команда ifconfig очень долго использовалась для настройки сети в операционных системах семейства Linux. С помощью нее вы можете включать или выключать сетевые интерфейсы, настраивать их параметры, переключать режимы и многое другое. Потом была разработана утилита ip, которая содержит больше функций, и имеет совсем другой синтаксис.
Но многие пользователи привыкли использовать ifconfig, тем более, что ее синтаксис более просто. Прочитать про утилиту ip вы можете в статье утилита ip в Linux. В этой же статье мы рассмотрим как используется ее более старый аналог — утилита ifconfig linux.
Содержание статьи:
Установка ifconfig
С появлением утилиты ip, ifconfig была удалена из многих дистрибутивов. Но в большинстве она все еще поставляется по умолчанию. Установка ifconfig в Ubutnu выполняется командой:
sudo apt install net-tools
В Arch Linux:
sudo pacman -S net-tools
Синтаксис ifconfig
Утилита ifconfig имеет очень простой синтаксис при вызове без параметров, она возвратит список подключенных к системе сетевых интерфейсов и их характеристики, например, ip адрес, адрес шлюза, размер пакета, частоту для беспроводных сетей и другие параметры. Если указать интерфейс и нужные команды, то можно изменять различные настройки интерфейса. Вот сам синтаксис:
$ ifconfig опции интерфейс команда параметры адрес
Интерфейс — это сетевой интерфейс, о котором вы хотите посмотреть информацию или изменить его параметры. Все это можно сделать с помощью команд. Давайте рассмотрим основные из них:
- up — включить интерфейс;
- down — выключить интерфейс;
- (-)arp — включить или выключить использование протокола ARP для интерфейса;
- (-)promisc — включить или выключить неразборчивый режим для интерфейса;
- (-)allmulti — включить или выключить режим multicast;
- metric — изменить параметр metric;
- mtu — изменить максимальный размер пакета;
- netmask — установить маску сети;
- add — добавить ip адрес для интерфейса;
- del — удалить ip адрес интерфейса;
- media — установить тип внешнего протокола;
- [-]broadcast — установить широковещательный адрес или отключить эту функцию;
- hw — установить MAC адрес для интерфейса;
- txqueuelen — размер очереди интерфейса;
Параметры и адрес необязательны и зависят от используемой команды. А опции влияют на поведение утилиты более глобально. Опций всего несколько, рассмотрим их:
- -a — применять команду ко всем интерфейсам, например, полезно, если вы хотите отключить или включить все сетевые интерфейсы;
- -s — вывести краткий список интерфейсов.
Обратите внимание, что для использования утилиты вам понадобятся права суперпользователя. А теперь давайте рассмотрим несколько примеров.
Примеры использования ifconfig
Для начала давайте просмотрим список интерфейсов, подключенных к вашей системе и активированных в данный момент. Для этого достаточно выполнить команду без параметров:
sudo ifconfig
Вы можете вывести только информацию про определенный интерфейс, например, про eth0:
sudo ifconfig eth0
Чтобы посмотреть список интерфейсов с минимальной информацией о них используйте опцию -s:
sudo ifconfig -s
С помощью опции -a вы можете вывести все интерфейсы, даже те, которые сейчас отключены:
sudo ifconfig -a
Чтобы включить интерфейс используется команда ifconfig eth0 up:
sudo ifconfig eth0 up
Чтобы отключить — down:
sudo ifconfig eth0 down
Вы можете получить более подробную информацию об ошибках с помощью опции -v:
sudo ifconfig -v
Включить поддержку протокола ARP для интерфейса:
sudo ifconfig eth0 arp
Отключить поддержку ARP:
sudo ifconfig eth0 -arp
Включить неразборчивый режим, в котором интерфейс принимает все, проходящие через него пакеты:
sudo ifconfig eth0 promisc
А чтобы отключить:
sudo ifconfig eth0 -promisc
С помощью команды netmask вы можете установить маску сети для интерфейса:
sudo ifconfig eth0 netmask 255.255.255.0
Чтобы добавить ip адрес для интерфейса используйте просто укажите его после интерфейса:
sudo ifconfig eth0 192.168.1.11
Команда broadcast позволяет установить широковещательный адрес:
sudo ifconfig eth0 broadcast 192.168.1.255
С помощью команды hw вы можете установить аппаратный адрес или так называемый, MAC адрес. Здесь, кроме самого адреса нужно указать тип сети. Это ether для проводного подключения Ethernet, ax25 (AMPR AX.25), ARCnet и netrom (AMPR NET/ROM). Например:
sudo ifconfig eth0 hw ether BC:AE:C5:BE:8B:B7
С помощью mtu вы можете изменить максимальный размер пакета:
sudo ifconfig eth0 mtu 1000
Это были все основные примеры. В отличие от ip, команда ifconfig не содержит всех необходимых возможностей для полноценной настройки сети и поэтому вам еще придется использовать такие утилиты, как route или arp.
Фактически, настройка ifconfig сети будет выполняться в несколько команд. Допустим, мы будем настраивать интерфейс eth0:
sudo ifconfig eth0 up
$ sudo ifconfig eth0 add 192.168.1.10
$ sudo ifconfig eth0 netmask 255.255.255.0
$ sudo ifconfig eth0 broadcast 192.168.1.255
$ sudo route add default gw 192.168.1.1
Здесь мы используем ip адрес для компьютера 192.168.1.10, сетевую маску 255.255.255.0 и шлюз для выхода в сеть 192.168.1.1. После этих настроек осталось указать сервер DNS и интернет должен работать.
Выводы
В этой статье мы рассмотрели как работает команда ifconfig и что с ее помощью мы можем настроить. Я, как и раньше рекомендую использовать утилиту ip, так как она новее, и применяется в большинстве дистрибутивов по умолчанию. Но Linux — свободная система и вы можете использовать те инструменты, которые вам нравятся.
Команда Debian ifconfig не найдена Решено
Команда Debian ifconfig не найдена. Не можете найти ifconfig в Debian? Вероятно, вы установили минимальную установку без установки стандартных системных утилит. Но действительно ли вам нужен ifconfig? Если это просто проверка IP-адресов, ознакомьтесь с альтернативой Debian ifconfig ниже.
Debian ifconfig
Сначала давайте установим команду ifconfig. В конце концов, я полагаю, именно так вы нашли эту статью.Я предполагаю, что у вас есть права суперпользователя или администратора на компьютере. Без установленных стандартных системных утилит практически все необходимое придется устанавливать самостоятельно. Пакет, который вам нужно установить, — это net-tools.
apt-get install net-tools
Теперь у вас есть команда ifconfig. Если вы не возражаете против отсутствия Debian ifconfig, есть встроенная опция. Команда IP должна находиться в папке sbin независимо от того, установлены ли системные инструменты или нет. Полная команда для отображения той же информации в ifconfig:
ip addr show
Эту команду можно сократить до:
ip a
Это точно так же, как команда ip addr show.Поэтому, если в Debian нет ifconfig, попробуйте вместо этого использовать команду ip. Установка не требуется. Он будет во всей установке. Однако размер пакета net-tools составляет всего около 500-600 КБ. Таким образом, он вряд ли займет место на вашем жестком диске. И я думаю, все сводится к предпочтениям, если вы хотите использовать ifconfig или ip.
Некоторые предпочитают не устанавливать стандартные системные утилиты. Если вы решили не устанавливать его, ваши обновления безопасности в конфигурации apt (репозиторий) могут быть не установлены. И я бы проверил, добавлен ли репозиторий безопасности в список репозиториев.
Это моя статья о Debian ifconfig not found. Если вы испытываете медленный вход по SSH, проверьте медленный вход по SSH в системах на основе Debian.
Продолжить чтение
.Ошибка команды
не найдена в Linux (решено)
Сегодня я настраивал новый облачный сервер, и мне нужно было использовать классическую команду ifconfig. Я не смог это сделать из-за этой ошибки:
ifconfig: command not found
Кажется, CentOS 7.x не предлагает ifconfig, установленный по умолчанию на минимальном ISO-образе, который я использовал.
Команда ifconfig больше не устанавливается по умолчанию в CentOS, поскольку она была заменена командой ip и помечена как устаревшая.
Как исправить ошибку ifconfig: command not found?
Даже если это официально не рекомендуется, если вы выросли с помощью команды ifconfig, как я, здесь вы найдете руководство по ее установке в CentOS 7.x и последних версиях Ubuntu.
Установите ifconfig на CentOS 7.x
Перво-наперво. Как узнать, в каком пакете есть команда ifconfig?
Используя команду yum provides, вы можете легко узнать точное имя пакета, который предоставляет системная утилита ifconfig.
[[email protected] ~] # yum whatprovides ifconfig
net-tools-2.0-0.24.20131004git.el7.x86_64: Основные сетевые инструменты
Репозиторий: @base
Результат получен из:
Имя файла: / usr / sbin / ifconfig
Как видите, в CentOS Linux команду ifconfig можно найти внутри RPM-пакета net-tools, доступного в базовом репозитории CentOS по умолчанию. С помощью yum это можно легко установить за секунды:
yum install net-tools -y
Вот и все, теперь вы можете использовать команду ifconfig.
Установить ifconfig в Ubuntu и других дистрибутивах на основе Debian.
В последних версиях Ubuntu и других дистрибутивах на основе Debian эта команда также устарела. В том же случае, что и CentOS, это легко исправить с помощью команды apt-get:
apt-get install net-tools
Вот и все.
Заключение
Я показал простой и эффективный способ установки команды ifconfig в большинстве популярных дистрибутивов Linux.
Для этого не требуется никаких специальных технических знаний, только умение использовать yum или apt-get из вашего терминала.
ifconfig: command not found — распространенная ошибка в наши дни для тех, кто привык к команде ifconfig.
Однако новой заменой команды является команда ip, поэтому, если вы не задумывались о том, чтобы начать ее использовать, вам следует.
.
Fix Ifconfig Команда не найдена в операционных системах Linux
Это простое руководство по исправлению команды ifconfig, отсутствующей в операционной системе Linux. Независимо от того, какую операционную систему Linux вы используете, эти советы помогут вам решить эту проблему.
ifconfig — это утилита системного администрирования в Unix и Linux подобных операционных системах для настройки сетевого интерфейса. Утилита представляет собой инструмент интерфейса командной строки, который также используется в сценариях запуска многих операционных систем.Он имеет функции для настройки, управления и запроса параметров сетевого интерфейса TCP / IP. Ifconfig изначально появился в 4.2BSD как часть пакета BSD TCP / IP.
Как вы знаете, ifconfig означает «конфигурация интерфейса». Он используется для просмотра и изменения конфигурации сетевых интерфейсов в вашей системе. Поэтому я рекомендую вам прочитать эту информативную статью о команде ifconfig. Автор попытался объяснить 15 важных команд ifconfig для пользователей Linux.
Связанные : 15 полезных команд «ifconfig» для настройки сетевого интерфейса в Linux Благодаря Ravi Saive , автору этой публикации
Когда вы вводите ifconfig для проверки сетевой конфигурации вашей системы, появляется сообщение о том, что программа ifconfig в настоящее время не установлена. Чтобы исправить ошибку ifconfig, просто установите пакет net-tools в вашей системе.
Команда Fix Ifconfig не найдена в Linux Ubuntu
1. Чтобы установить net-tools, откройте терминал и введите « sudo apt-get install net-tools » в Ubuntu Linux.Затем введите пароль администратора, чтобы начать процесс установки net-tools.
Примечание: Ваша система должна иметь сетевое соединение с выходом в Интернет. Без интернета он не может загрузить пакет net-tools из онлайн-репозитория linux.
Как установить отсутствующую команду ifconfig в Linux — Technig
2. После успешного завершения установки net-tools введите ifconfig, чтобы проверить, работает она или нет. Теперь он должен работать без проблем.
Связанные вопросы:
- Команда ifconfig не найдена RedHat
- установить ifconfig Debian
- команда ifconfig не найдена kali
Да, работает отлично. Теперь вы можете увидеть конфигурацию сетевого интерфейса Linux.
Программа ifconfig в настоящее время не установлена - Конфигурация сетевого интерфейса Linux — Technig
Вот и все, надеюсь, вы быстро исправите ошибку команды ifocnfig. Попробуйте прокомментировать нас в случае возникновения проблем.Мы поможем вам исправить это в кратчайшие сроки.
.