- ifconfig: команда не найдена. Сообщество Linux расстаётся с Net-Tools
- Некоторые примеры использования ip
- Поднятие сетевого интерфейса и изменение ip адреса
- Управление таблицами маршрутизации
- Комментариев: 5
- [Решено] ifconfig: команда не найдена.
- Исправляем ошибку «ifconfig: команда не найдена»
- Способ 1: Добавление утилиты ifconfig
- Способ 2: Использование команды ip
- Команда ifconfig — синтаксис и примеры
- Установка
- Синтаксис
- Примеры
- А куда пропал ifconfig из arch?
ifconfig: команда не найдена. Сообщество Linux расстаётся с Net-Tools
Тяжело расставаться с привычными инструментами в Linux, которыми пользовался годами. Так, при установке OpenMediaVault был озадачен отсутствием команд ifconfig, route и netstat. В результате, простейшая задача по смене ip-адреса неожиданно заиграла новыми красками.
Я как-то упустил тот момент, когда пакет Net-Tools признали устаревшим и ему на смену в Linux пришёл другой сетевой инструмент iproute2. По этой причине последние версии многих дистрибутивов Linux больше не содержат привычных команд ifconfig или route.
На самом деле и iproute2 нельзя назвать чем-то принципиально новым, ведь этот пакет известен ещё с начала 2000-х годов и основным его минусом всегда считалось отсутствие актуальной документации (отсылки типа «смотри исходный код» не считаются).
Что делать, придётся избавляться от старых наработанных привычек и заново изучать новые команды и синтаксис пакета iproute2. Из очевидных плюсов нам обещают больший контроль над сетевыми параметрами и функциями Linux.
Я нашёл неплохой мануал Task-centered iproute2 user guide о практическом использовании iproute2, правда на английском языке https://baturin.org/docs/iproute2/.
Некоторые примеры использования ip
Самой востребованной функцией, без чего не обходится ни одна настройка сети, остаётся определение IP адреса, назначенного интерфейсу. Ранее это делалось командой ifconfig без каких-либо дополнительных аргументов. Теперь следует писать так:
Команда выведет список интерфейсов и связанную с ними сопутсвующую информацию:
Если требуется вывести информацию, связанную с конкретным интерфейсом, например по беспроводному соединению, командой приобретает следующий вид:
ip a show wlan0
или ещё более конкретизированный запрос с информацией только о IPv4:
ip -4 a show wlan0
Поднятие сетевого интерфейса и изменение ip адреса
Пример включения сетевого интерфейса (как было и как стало):
Теперь давайте назначим адрес сетевому интерфейсу, пусть это будет eth0. Снова, для сравнения, первый вариант будет с использованием команды ifconfig, а второй с ip:
Управление таблицами маршрутизации
Таблицы маршрутизации также управляются командой ip. Вот как можно посмотреть таблицу маршрутизации:
Добавляем новый маршрут (как и в предыдущих примерах по принципу «было-стало»):
или маршрут по умолчанию:
Я не ставил целью рассказать о всех возможных вариантах использования iproute2, сам только начинаю привыкать к команде ip и её синтаксису. Кому-то хватит даже этих базовых команд, а дальнейшее изучение каждый желающий может продолжить самостоятельно.
Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.
Комментариев: 5
Ну наконец то пришли к единому виду. А то даже в некоторых скриптах мешанина из ifconfig и ip.
Видимо этому способствует всепомнящий интернет.
Как жизненно. Меня тоже вогнало в ступор отсутствие ifconfig в свежем образе
Жаль, в статье не сказано, чем заменить netstat
Это что, издевательство? То init убирают, заменяют systemd, теперь мне вместо простого ifconfig надо будет писать незапоминаемую простыню опций команды ip?
Спасибо! Эту бы статью неделю назад мне,никак не мог понять,какого лешего сломался ifconfig .Благо в убунте ещё можно поставить старые net tools
Источник
[Решено] 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. Например, просмотреть основную информацию по интерфейсу можно, введя:
Выдача в «Терминале» после активации указанной выше команды будет соответствовать той, которая была бы показана при ifconfig , но с некоторыми дополнительными данными.
Дополнительные сведения по протоколу IPv4 смотрим командой:
Еще присутствует возможность получить данные по конкретному интерфейсу, для этого вводим
Отобразить список работающих интерфейсов:
Одной из главных задач при настройке сети всегда считалась процедура присвоения определенного локального адреса конкретному интерфейсу. с помощью команды ip это делается так:
Если надобность в присвоении интерфейса для IP-адреса отпала, такая цепь достаточно легко удаляется.
Команда ip также определяет управление таблицами маршрутизации. Таблицей маршрутизации называют список сетевых путей, которые предназначены для определения лучшего маршрута передачи сетевого пакета. Ознакомиться со всеми доступными таблицами позволяет строка
В ситуациях, когда требуется вручную перенаправить трафик, задействовать лучше тоже команду ip с определенными аргументами. Тогда строка обретет вид, например:
Установленный маршрут также легко удаляется через
Благодаря двум приведенным выше способам вы теперь знаете, как можно не только восстановить работу команды ifconfig в Debian подобных системах, но и какая есть достойная альтернатива этой устаревшей утилите. Использовать ли новый инструмент или вернуться к старому — решать только вам.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
Команда ifconfig — синтаксис и примеры
Для обмена данными между хостами от одного компьютера к другому используется технология, которая называется ethernet. Чтобы обмен данными стал возможен, как минимум необходимо настроить сеть между двумя устройствами.
В операционных системах linux для настройки сети есть сетевая утилита ifconfig, она позволяет смотреть сетевые настройки, а также изменять их, делать свою конфигурацию, назначать IP, шлюз, маску подсети и даже мак-адрес.
Установка
Сейчас все больше дистрибутивов linux отказываются от установки утилиты ifconfig по умолчанию. Поэтому чтобы ее использовать нужно предварительно установить. Это связано с тем что вышла более новая команда «ip» и ifconfig считается устаревшей утилитой, однако пользователи линукс уже привыкли использовать ее и выучили некоторые параметры этой команды.
Чтобы определить установлена ли сетевая утилита достаточно ввести ее название без аргументов.
Утилита не установлена, если оболочка командной строки выдаст одно из сообщений:
- команда не найдена;
- command not found;
- not found.
Сама утилита входит в пакет «net-tools», поэтому устанавливать нужно этот пакет.
ВАЖНО! Не надо писать apt «install ifconfig» программа не установится.
Установка на Centos:
yum install net-tools
На Ubuntu:
apt install net-tools
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, eth1, eth2, eth3.
Примеры
Запустим команду без параметров.
Как видно на скриншоте выше команда без ключей покажет информацию о всех включенных интерфейсах.
- 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 выполним:
Вывести информация о всех интерфейсах, включая отключенные, поможет ключ -a:
Покажем конфигурацию только интерфейса eth0.
Чтобы назначить сетевому адаптеру IP-адрес 192.168.20.2, необходимо написать название команды, interface и сам IP.
Источник
А куда пропал ifconfig из arch?
Давным давно не ставил ОСи куда-либо и тут надо стало. Поставил любимый мною arch, и после ребута обнаружил command not found после ввода команды ifconfig. Дистр из ветки latest качал. Как бы мне теперь увидать свои сетевухи-то? Кабель подцепил, ребутнул, а сети всё равно нет. Прям даже руки связались как-то.
Дык её ж ставить надо, а сети-то нет! =)
Его можно было поставить с установочного диска.
Да вобщем-то уже скачал с зеркала и флешкой перенес и поставил. Только странно это. Такую важную штуку убрали. Ещё бы fdisk убрали или nano.
Он есть на установочном диске и его можно установить при штатной установке. Просто по дефолту галочка напротив этого пакета в списке снята.
важную для кого и для чего?
ifconfig — устаревшая команда, которая вот уже более 10 лет не отвечает реалиям Linux.
Делаем вывод — дефолтному арчеводу сеть не нужна
Не пропал, просто его почему-то перетащили в пакет net-tools:
Это специальный бэби-фильтр.
Думаю, что смысл сообщения в том, что ip гораздо функциональнее. «Устаревшая команда» — это, конечно, неправильный оборот.
pacman -Qo с некоторых пор может принимать в качестве аргумента файлы из $PATH.
Так что можно просто pacman -Qo ifconfig
Не убрали, а заменили на более современную и функциональную альтернативу.
Ух ты! Спасибо, не знал.
В ifconfig нет ничего лишнего, а ip явно слишком жирный.
А что отвечает, и что не устаревшее?
Из генты убрали.
туда и дорога, нано не нуно
ip рекомендовали? ifconfig уже deprecated.
выкинь свой кривой зверь-эдишн
И снова арчепроблемы.
Вот блин, а этот ненужный ip и не удалить-то:
А накой его удалять? Если сильно муляет, то можно с ключами -Rdd, но чревато. 🙂
ман makepkg же. пересобери как нужно
Я из этого списка вообще ничего не использую. И не понимаю, зачем держать в системе бесполезный пакет?
в нормальных дистрибутивах вроде gentoo он даже не установлен по умолчанию этот iproute2. хотя пакет такой есть.
Система инициализации Arch, некоторое количество программ, работающих с сетью, вовсю используют ip.
/etc/rc.d/network ← можно переписать это без использования ip, только зачем?
Зависимости какие-то дурацкие. Вот, кстати, тот же netcfg мне нафиг не нужен. Зачем я его установил — без понятия.
В мандуриве нормально все работало.
Да он вроде бы не такой уж и бесполезный.
Я из этого списка вообще ничего не использую.
необязательно, что при этом какие-то другие программы этот набор не используют. Для этого и придумали зависимости.
А вы почитайте как-нибудь для общего развития Linux Advanced Routing & Traffic Control. http://lartc.org
В Linux 2.2 появилась совершенно новая сетевая подсистема, было бы странным не познакомиться с ее возможностями хотя бы бегло.
Кто сказал, что на домашних машинах или рабочих станциях не нужно управлять трафиком?
В этом мире очень много интересных вещей. Но узнать о них всех не хватит и сотни человеческих жизней!
Так что, то, что мне совсем не нужно, я не изучаю.
Хочу пожелать всем, орущим «ifconfig deprecated» — просраться раскаленными титановыми гвоздями.
Пока оно в роутер-дистрах не станет deprecated, все остальные могут смело вытачивать титановые гвозди.
ifconfig типа deprecated.
ifconfig анахронизм, но выпиливать я б его не стал, пусть будет для всяких старперов, которые помнят что такое классовая маршрутизация. Плохо что молодые админы перенимают дурацкие привычки, например ifconfig показывает только первый IP адрес на сетевушке, если их несколько, что может неслабо ошарашить любителя ifconfig севшего за современный роутер.
Утилита ip из пакета iproute2 заменяет не только его, но и route, arp и тд. Это универсальный интерфейс к сетевой подсистеме Линукса, гибкий и удобный, к тому же синтаксис не замылен и команды легко читаются.
Кстати, кто знает не подглядывая в консоль, что сделает команда
Плохо что молодые админы перенимают дурацкие привычки
У каждого есть свой мозг, не надо никому ничего навязывать. Кто такие молодые админы, вообще ХЗ, но не будь подобен разработчикам третьегнома.
например ifconfig показывает только первый IP адрес на сетевушке
Это универсальный интерфейс к сетевой подсистеме Линукса
А, фанат комбайнов. Да чтоб ты всю жизнь интернет через PPTP получал.
iproute2 это промышленный стандарт. net-tools — для совместимости с POSIX.
Где он стандарт, ткни пальцем в этот роутер-дистрибутив.
ifconfig = ip addr
Еще раз повторю свой посыл кратко «ifconfig устарел, порою ведет себя неожиданно для пользователя» примеры привел. Примеры ты проигнорировал, зато прицепился к словам «молодых» и «стандарт». Молодые в моем понимании это сегодняшние студенты, уже решившие связать свою жизнь с профессиональным администрированием Линукса. Ну а стандарт естественно дефакто, так как iproute ставится в любой даже самой минимальной установке на дебиане и его производных, про другие дистрибутивы подозреваю, что дела обстоят так же.
ifconfig устарел, порою ведет себя неожиданно для пользователя
Это 4.2. Я ничего плохого не хочу сказать об iproute, но для большинства задач net-tools достаточен, о чем говорит его наличие и приоритетность в роутинг-специфичных дистрибутивах, которые в данном вопрос и есть стандарт де-факто. При чем тут «дебиан и другие дистрибутивы»? С каких пор дебиан стал роутер-дистрибутивом? Нет, я понимаю, что роутер можно сделать из чего угодно, но велосипедизм до добра не доводит. Хорош уже пороть чушь, ей больно.
]$ ssh root@172.16.111.1 -p 64669
root@172.16.111.1’s password:
BusyBox v1.19.4 (2012-05-06 22:07:48 EEST) built-in shell (ash)
Enter ‘help’ for a list of built-in commands.
_______ ________ __
| |.——.——.——.| | | |.—-.| |_
| — || _ | -__| || | | || _|| _|
|_______|| __|_____|__|__||________||__| |____|
|__| W I R E L E S S F R E E D O M
——————————————————
ATTITUDE ADJUSTMENT (Bleeding Edge, r31626)
——————————————————
* 1/4 oz Vodka Pour all ingredients into mixing
* 1/4 oz Gin tin with ice, strain into glass.
* 1/4 oz Amaretto
* 1/4 oz Triple sec
* 1/4 oz Peach schnapps
* 1/4 oz Sour mix
* 1 splash Cranberry juice
——————————————————
root@TwilightRouter:
# ip
-ash: ip: not found
[/code]
На минутку, это транк опенврт, собранный неделю назад.
В busybox команда ip есть, возможно это вовсе и не фича опенврт а баг версии из транка. И нужно бы на багтреккер.
Впрочем, если для тебя линукс-роутер — это мыльница типа DIR320 или старый системник, раздающий локалку в квартире гика, то тогда опенврт законадатель мод.
По поводу «4.2» неужели то, что я говорю, про поведение ifconfig так сложно проверить что ifconfig выводит только первый адрес для указанного интерфейса?
Второй пример был выше. ifconfig самостоятельно рассчитает маску, ориентируясь, на то к какому классу принадлежит IP. Классу! Это ожидаемое поведение для тебя?
возможно это вовсе и не фича опенврт а баг версии из транка
Это фича. Нет, это же опенврт, можно для фанатов комбайнов собрать хоть iproute2, но никому не нужно. А фанаты комбайнов ничего собрать сами не могут — скиллов не хватает. 🙂
Впрочем, если для тебя линукс-роутер — это мыльница типа DIR320 или старый системник
Линукс-роутер неизменно этим и является. Вопрос только в старости «системника» или «мыльницы», ибо все что серьезнее, уже идет вместе с ОС, является программно-аппаратным комплексом и никакого отношения к роутер-дистрам не имеет. Дальше уровня мелкого предприятия/мелкого провайдера линукс-роутингом на самосборном железе никто адекватный заниматься не будет, это уже нищебродство и банальная глупость.
ты говоришь 4.2, потому что где-то выучил как работает ip, но места в запоминающем устройстве на то, как работает ifconfig, не хватило, потому для тебя вывод
является чем-то непонятным. А на самом деле надо просто знать, что непосредственно на интерфейсе (не путать с сетевой картой) eth0 может существовать только один адрес, а второй будет на виртуальном eth0.1 или подобном.
Еще раз повторяю, я не вижу ничего плохого в том, что был сделан iproute2, но меня раздражают неофиты, которые не понимают, что и для чего существует, как работает и где применяется.
непосредственно на интерфейсе (не путать с сетевой картой) eth0 может существовать только один адрес, а второй будет на виртуальном eth0.1 или подобном
Источник