Команда ifconfig: как использовать | IT Education Center Blog
Команда ifconfig в Unix и подобных системах используется для настройки и вывода параметров сетевого интерфейса для сети с помощью TCP/IP. Её можно использовать, чтобы назначить адрес сетевому интерфейсу, настроить или посмотреть информацию о его конфигурации. Как это сделать — расскажем на примерах.
Утилита считается устаревшей, но всё равно встречается во многих инструкциях для настройки сети. Ifconfig удобная: с простым синтаксисом и понятным выводом информации.
Команда ifconfig не найдена
Чтобы использовать команду, нужно ввести sudo ifconfig. При этом вы можете получить ошибку “ifconfig команда не найдена”. У этого может быть несколько причин:
- Утилита установлена в системе, но интерпретатор bash не находит её. Всё потому, что она может храниться в папке с утилитами, доступ к которым есть только у пользователя с правами root. Если выполнить команду от имени суперпользователя, интерпретатор её найдёт.
- Если вы всё равно получаете ошибку, значит, программа не установлена.
Установка ifconfig
Ifconfig хоть и устарела, но многие системные администраторы привыкли работать с ней. Утилита была удалена из многих дистрибутивов после появления ip, поэтому может быть не установлена у вас по умолчанию. Хоть у ip больше возможностей, у неё сложнее синтаксис.
* ip — утилита командной строки в Linux, которая позволяет настраивать сетевую подсистему и заменяет утилиты ifconfig, route и arp.
Чтобы использовать ifconfig, сначала нужно установить пакет net-tools, в который входят программы ifconfig, netstat, dig, hostname, route, arp и iptunnel. Эти программы составляют основу сетей Linux.
Установить ifconfig в Ubuntu и Debian можно командой:
$ sudo apt install net-tools
В ArchLinux:
$ sudo pacman -S net-tools
В CentOS 7:
$ sudo yum install net-tools
В Fedora:
$ sudo dnf install net-tools
После этого можно пользоваться утилитой и никакой ошибки не будет.
Синтаксис команды ifconfig
Синтаксис утилиты очень простой. Если вызвать её без параметров, она выдаст список сетевых интерфейсов, подключённых к системе. Также вы увидите их характеристики: IP-адрес, адрес шлюза, размер пакета, частоту для беспроводных сетей и другие параметры.
Настройки интерфейса можно менять, если указать нужный интерфейс и соответствующие команды.
Синтаксис выглядит так:
$ ifconfig опции интерфейс команда параметры адрес
Интерфейс — сетевой интерфейс, параметры которого вы хотите изменить или посмотреть о нём информацию.
Какие могут быть команды:
- up и down— включает или выключает интерфейс;
- [-]arp — включает или выключает использование протокола ARP, который определяет MAC-адрес другого компьютера по IP-адресу;
- [-]promisc — включает или выключает неразборчивый режим для интерфейса, при котором сетевая плата позволяет принимать все пакеты независимо от того, кому они адресованы;
- [-]allmulti — включает или выключает режим multicast. Это режим широковещания, при котором сетевой пакет одновременно направляется определённому количеству адресатов: не одному, как в unicast, но и не всем, в broadcast;
- metric — меняет параметр метрики сети — специального значения, которое означает число переходов и влияет на выбор маршрута в сети. В таблице маршрутизации из двух одинаковых маршрутов оптимальнее будет тот, у которого лучше метрика маршрута;
- mtu — изменяет максимальный размер пакета;
- netmask — устанавливает маску сети, позволяющую определять по IP-адресу адрес подсети и хоста, компьютера, устройства этой подсети;
- add — добавляет IP-адрес для интерфейса;
- del — удаляет IP-адрес интерфейса;
- media — устанавливает тип внешнего протокола;
- [-]broadcast — устанавливает широковещательный адрес или отключает эту функцию;
- hw — устанавливает аппаратный или MAC-адрес для интерфейса;
- txqueuelen — устанавливает размер очереди интерфейса.
Параметры и адрес нужны не для каждой команды. Опции — более глобальные аргументы. Их две:
- -a — применяет команду ко всем интерфейсам. Пригодится, если вы хотите отключить или включить все сетевые интерфейсы;
- -s — выведет список интерфейсов без подробностей.
Разберём самые полезные команды для настройки сетевых интерфейсов в Linux.
- Посмотреть все настройки сети
Для этого используем команду ifconfig без параметров. Это выведет список активных интерфейсов со всеми подробностями о них. Ещё так можно проверить назначенный IP-адрес сервера:
$ sudo ifconfig
- Посмотреть информацию обо всех интерфейсах
Если использовать команду ниже, то мы получим информацию об активных и неактивных сетевых интерфейсах на сервере:
$ sudo ifconfig -a
- Посмотреть информацию про определённый интерфейс
Для примера возьмём интерфейс eth0, тогда команда будет выглядеть так:
$ sudo ifconfig eth0
- Посмотреть список интерфейсов с минимальной информацией о них
Вводим в ifconfig опцию -s:
$ sudo ifconfig -s
- Включить и выключить интерфейс
Используем команду up и указываем интерфейс, чтобы включить его:
$ sudo ifconfig eth0 up
Или команду down, чтобы его отключить:
$ sudo ifconfig eth0 down
- Назначить IP-адрес сетевому интерфейсу
В команде ifconfig прописываем имя интерфейса eth0 и IP-адрес, который хотим установить. Например: sudo ifconfig eth0 172.16.25.126
- Назначить маску сети
Добавляем в ifconfig команду netmask и имя интерфейса — eth0:
$ sudo ifconfig eth0 netmask 255.255.224.0
- Назначить на сетевом интерфейсе широковещательный адрес
Если добавить к ifconfig команду broadcast, то мы установим широковещательный адрес для данного интерфейса:
$ sudo ifconfig eth0 broadcast 192.168.0.255
- Изменить MTU для сетевого интерфейса
mtu установит максимальную единицу передачи для интерфейса. Это позволит установить лимит размеров пакетов, которые передаются по интерфейсу. Чтобы установить 1000 как максимальный объём для интерфейса используем sudo ifconfig eth0 mtu 1000
- Включить или выключить Promiscuous режим
Promiscuous или неразборчивый режим позволяет принимать абсолютно все пакеты, которые проходят через интерфейс.
Многие сетевые инструменты используют такой режим, чтобы получать и анализировать пакеты, проходящие через сетевой интерфейс. Включить его можно командой:
$ sudo ifconfig eth0 promisc
И вот так выключить:
$ sudo ifconfig eth0 -promisc
- Назначить сразу несколько параметров
Чтобы одновременно назначить интерфейсу, к примеру, IP-адрес, адрес подсети и широковещательный адрес, выполните команду ifconfig в таком виде:
$ sudo ifconfig eth0 172.16.25.125 netmask 255.255.254.0 broadcast 172.16.25.63
- Добавить новый псевдоним в сетевой интерфейс
С помощью функции alias в ifconfig можно настроить дополнительные сетевые интерфейсы. Чтобы добавить псевдоним для eth0, выполните:
$ sudo ifconfig eth0:0 172.16.25.127
Важно: псевдоним сетевого адреса находится в той же маске подсети. Если IP-адрес сети eth0 — 172.16.25.125, то адрес псевдонима должен быть 172.16.25.127.
Удалить псевдоним можно так:
$ sudo ifconfig eth0:0 down
- Изменить MAC-адрес
Чтобы это сделать, добавьте в ifconfig параметр hw. Ещё надо указать тип сети: ether для проводного подключения Ethernet, ax25, ARCnet и netrom. Например:
$ ifconfig eth0 hw ether AA:BB:CC:DD:EE:FF
- Получить информацию об ошибках
Для этого добавим опцию -v: sudo ifconfig -v
- Включить и выключить поддержку протокола ARP
Чтобы включить: sudo ifconfig eth0 arp
Чтобы выключить: sudo ifconfig eth0 -arp
Это основные примеры использования ifconfig. Она не даёт все возможности для полноценной настройки сетевых интерфейсов, как это делает ip. Работая с ifconfig, придётся использовать ещё и такие утилиты, как route или arp.
По сути, настройка с помощью ifconfig будет выглядеть так:
$ sudo ifconfig eth0 up
$ sudo ifconfig eth0 add 192.168.1.10
$ sudo ifconfig eth0 netmask 255.255.254.0
$ sudo ifconfig eth0 broadcast 192.168.1.255
$ sudo route add default gw 192.168.1.1
В примере мы настроили интерфейс eth0, где использовали IP-адрес для компьютера 192.168.1.10, сетевую маску 255.255.254.0 и шлюз для выхода в сеть 192.168. 1.1. Осталось указать DNS-сервер и интернет должен работать.
Итог
Теперь вы знаете, что такое команда ifconfig, что она делает и как её использовать. Вы можете попробовать работать с ней или разобраться с более новой утилитой ip, чтобы выбрать для себя комфортный вариант.
Если вы решите остановиться на ifconfig, то вам может пригодиться полная инструкция для этой команды. Чтобы её получить можете вызвать man ifconfig через терминал.
Сталкивались ли вы до этого с командой ifconfig? Насколько удобной она вам показалась?
Настройка сети с помощью утилиты ip в Debian linux
Команда ip используется для назначения адреса сетевому интерфейсу и/или конфигурирования параметров сетевого интерфейса в дистрибутивах Linux. Эта команда заменяет собой старую добрую и ныне устаревшую команду ifconfig в современных дистрибутивах Linux.
Команда ip может использоваться для следующих целей:
- Узнать какие интерфейсы сконфигурированы в системе.
- Запросить статус IP интерфейса.
- Сконфигурировать локальный, Ethernet и другие интерфейсы.
- Пометить интефейс как up или down.
- Сконфигурировать или изменить статическую маршрутизацию или маршрутизацию по умолчанию.
- Сконфигурировать туннель через IP.
- Сконфигурировать содержимое ARP или NDISC кэша.
- Назначить IP адресы, маршруты, подсети и другую IP информацию на интерфейс.
Синтаксис
ip OBJECT COMMAND ip [options] OBJECT COMMAND ip OBJECT help
Понимание синтаксиса OBJECTS в комманде ip
OBJECTS может быть одним из следующих и может записываться в полной или сокращенной форме:
Объект | Сокращенная форма | Задача |
---|---|---|
link | l | Сетевое устройство. |
address | a, addr | IP адрес на устройстве. |
addrlabel | addrl | Управление метками для выбора адреса. |
neighbour | n, neigh | Записи для ARP или NDISC кэшей. |
route | r | Управление записямя таблицы маршрутизации. |
rule | ru | Правила в базе политик маршрутизации. |
maddress | m, maddr | Мультикаст адрес. |
mroute | mr | Записи мультикастового кэша маршрутизации. |
tunnel | t | Туннель через IP. |
xfrm | x | Фреймворк для протокола IPsec. |
Чтобы получить информацию о каждом из объектов используйте команду help следующим образом:
ip OBJECT help ip OBJECT h ip a help ip r help
Предупреждение: команды описанные ниже должны выполняться с осторожностью, так как ошибка может привести к потере соединения с сервером. Вы должны быть особо аккуратны при работе в удаленной сессии по ssh.
Примеры использования команды ip
Не пугайтесь синтаксиса команды ip. Давайте сразу начнем с примеров.
Показать информацию обо всех сетевых интерфейсах
Введите следующую команду чтобы получить список всех ip адресов назначенных всем сетевым интерфейсам:
ip a
или
ip addr
Пример вывода:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:8b:46:9a brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe8b:469a/64 scope link
valid_lft forever preferred_lft forever
Вы можете выбрать между IPv4 и IPv6 используя следующий синтаксис:
### Показывать только TCP/IP IPv4 ## ip -4 a ### Показывать только TCP/IP IPv6 ### ip -6 a
Также существует возможность вывести детали только об определенном сетевом интерфейсе:
### Показать только интерфейс eth0 ### ip a show eth0 ip a list eth0 ip a show dev eth0 ### Показать только поднятые интерфейсы ### ip link ls up
Назначить интерфейсу IP адрес
Для того чтобы добавить IP адрес используется синтаксис следующего вида:
ip a add {ip_addr/mask} dev {interface}
Чтобы назначить адрес 192. 168.1.200/255.255.255.0 на интерфейс eth0, введите:
ip a add 192.168.1.200/255.255.255.0 dev eth0
или
ip a add 192.168.1.200/24 dev eth0
Добавить широковещательный адрес на интерфейс
По умолчанию, команда ip не задает какой-либо широковещательный адрес до тех пор, пока это будет недвусмысленно указано. Таким образом следующий синтаксис задает широковещательный адрес ADDRESS:
ip addr add brd {ADDDRESS-HERE} dev {interface} ip addr add broadcast {ADDDRESS-HERE} dev {interface} ip addr add broadcast 172.20.10.255 dev dummy0
Существует возможность использовать специальные символы + и — вместо широковещательного адреса указывая хостовую часть адреса. В этом примере добавим адрес 192.168.1.50 с маской 255.255.255.0 (/24) со стандартным широковещательным адресом и зададим название eth0Work на интерфейс eth0:
ip a add 192.168.1.50/24 brd + dev eth0 label eth0Work
Вы можете задать лупбек адрес на лупбек интерфейсе lo следующим образом:
ip a add 127. 0.0.1/8 dev lo brd + scope host
Удалить IP адрес с интерфейса
Синтаксис для удаления IPv4/IPv6 адреса следующий:
ip a del {ipv6_addr_OR_ipv4_addr} dev {interface}
Чтобы удалить 192.168.1.200/24 с интерфейса eth0, введите:
ip a del 192.168.1.200/24 dev eth0
Сбросить ряд IP адресов с интерфейса
Вы можете удалять IP адреса с интерфейса по одному, как показано выше. Однако команда flush может удалить набор адресов с интерфейса по указанному признаку. Например, вы можете удалить все адреса из частной сети 192.168.2.0/24 с помощью команды:
ip -s -s a f to 192.168.2.0/24
Пример вывода:
2: eth0 inet 192.168.2.201/24 scope global secondary eth0
2: eth0 inet 192.168.2.200/24 scope global eth0
*** Round 1, deleting 2 addresses ***
*** Flush is complete after 1 round ***
Вы можете выключить IP адрес на всех ppp (Point-to-Point) интерфейсах:
ip -4 addr flush label "ppp*"
Еще один пример для всех Ethernet интерфейсов:
ip -4 addr flush label "eth0"
Как изменить состояние интерфейса на UP или DOWN
Синтаксис:
ip link set dev {DEVICE} {up|down}
К примеру, чтобы положить интерфейс eth2, используйте:
ip link set dev eth2 down
А чтобы поднять этот же интерфейс:
ip link set dev eth2 up
Как изменить txqueuelen устройства
Вы можете установить длину очереди передачи устройства с помощью ifconfig или команды ip следующим образом:
ip link set txqueuelen {NUMBER} dev {DEVICE}
В этом примере изменим txqueuelen со значения по умолчанию, равного 1000, на 10000 для интерфейса 10000:
ip link set txqueuelen 10000 dev eth0 ip a list eth0
Как изменить MTU устройства
Для гигабиных сетей вы можете установить максимальный размер блоков передачи (MTU) для лучшей производительности сети. Синтаксис следующий:
ip link set mtu {NUMBER} dev {DEVICE}
Например, установим MTU устройства eth0 на 9000:
ip link set mtu 9000 dev eth0 ip a list eth0
Пример вывода:
2: eth0: mtu 9000 qdisc pfifo_fast state UP qlen 1000
link/ether 00:08:9b:c4:30:30 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.10/24 brd 192.168.1.255 scope global eth2
inet6 fe80::208:9bff:fec4:3030/64 scope link
Показать соседей (arp кэш)
Синтаксис:
ip n show ip neigh show
Пример вывода (часть информации скрыта):
74.xx.yy.zz dev eth2 lladdr 00:30:48:yy:zz:ww REACHABLE
10.10.29.66 dev eth0 lladdr 00:30:48:c6:0a:d8 REACHABLE
74.ww.yyy.xxx dev eth2 lladdr 00:1a:30:yy:zz:ww REACHABLE
10.10.29.68 dev eth0 lladdr 00:30:48:33:bc:32 REACHABLE
74.fff.uu.cc dev eth2 lladdr 00:30:48:yy:zz:ww STALE
74.rr.ww.fff dev eth2 lladdr 00:30:48:yy:zz:ww DELAY
10.10. 29.65 dev eth0 lladdr 00:1a:30:38:a8:00 REACHABLE
10.10.29.74 dev eth0 lladdr 00:30:48:8e:31:ac REACHABLE
Последнее поле показывает состояние системы «определения недоступности соседа»:
- STALE — сосед существует, но, скорее всего недоступен, поэтому ядро попробует проверить это при первой ближайшей передаче.
- DELAY — пакет был отправлен соседу в состоянии STALE и ядро ждет подтверждения.
- REACHABLE — сосед существует и определенно доступен.
Добавить новую ARP запись
Синтаксис:
ip neigh add {IP-HERE} lladdr {MAC/LLADDRESS} dev {DEVICE} nud {STATE}
Например, добавить постоянную ARP запись для соседа 192.168.1.5 на устройстве eth0:
ip neigh add 192.168.1.5 lladdr 00:1a:30:38:a8:00 dev eth0 nud perm
Где,
Состояние соседа | Значение |
---|---|
permanent | Состояние соседа занято навсегда и может быть удалено только администратором. |
noarp | Состояние соседа валидно. Попыток проверить состояние не будет, но может быть удалено, когда закончится время жизни. |
stale | Состояние соседа валидно, но подозрительно. Эта опция для ip neigh не меняет состояние соседа, если оно было валидно и адрес не был изменен этой командой. |
reachable | Состояние соседа валидно до окончания таймаута доступности. |
Удалить ARP запись
Синтаксис:
ip neigh del {IPAddress} dev {DEVICE}
Удалить запись для соседа 192.168.1.5 на интерфейсе eth2:
ip neigh del 192.168.1.5 dev eth2
Изменить состояние на reachable для соседа 192.168.1.100 на устройстве eth2:
ip neigh chg 192.168.1.100 dev eth2 nud reachable
Очистить ARP запись
Команда flush или f очищает таблицы соседей или arp таблицы. Синтаксис:
ip -s -s n f {IPAddress}
Например:
ip -s -s n f 192.168.1.5
или
ip -s -s n flush 192.168.1.5
ip route: команды управления таблицей маршрутизации
Используйте следующие команды для управления таблицей маршрутизации ядра.
Показать таблицу маршрутизации
Посмотреть таблицу маршрутизации:
ip r ip r list ip route
Пример вывода:
default via 192.168.1.254 dev eth2 192.168.1.0/24 dev eth2 proto kernel scope link src 192.168.1.10
Показать роутинг для 192.168.1.0/24:
ip r list 192.168.1.0/24
Пример вывода:
192.168.1.0/24 dev eth2 proto kernel scope link src 192.168.1.10
Добавить новый маршрут
Синтаксис:
ip route add {NETWORK/MASK} via {GATEWAYIP} ip route add {NETWORK/MASK} dev {DEVICE} ip route add default {NETWORK/MASK} dev {DEVICE} ip route add default {NETWORK/MASK} via {GATEWAYIP}
Добавить статический маршрут в сеть 192.168.1.0/24 через шлюз 192.168.1.254:
ip route add 192.168.1.0/24 via 192. 168.1.254
Чтобы маршрутизировать весь трафик через шлюз 192.168.1.254 подключенный через сетевой интерфейс eth0:
ip route add 192.168.1.0/24 dev eth0
Удалить маршрут
Команда чтобы удалить маршрут по умолчанию:
ip route del default
В этом примере удалим маршрут созданный в предыдущем блоке:
ip route del 192.168.1.0/24 dev eth0
Наверх
Опубликовано
12.04 — Как установить сетевой менеджер без доступа в интернет?
спросил
Изменено 7 лет назад
Просмотрено 27 тысяч раз
Я пытался установить какой-то индикатор сети, чтобы показать текущее использование полосы пропускания на панели в верхней части экрана, поэтому я решил установить https://launchpad. net/ubuntu/+source/indicator-network
Но сразу после того, как я поставил sudo apt-get install индикатор-сеть
Я удалил кучу жизненно важных приложений Ubuntu, например. сетевой менеджер — это была моя вина, потому что Ubuntu предупредил меня об этом, но эй! — почему он помечает эти приложения для удаления при установке только индикатора?
Теперь я не могу подключиться к Интернету на этой машине в Ubuntu. Как я могу установить сетевой менеджер обратно или установить его с загрузочного USB-накопителя с 12.04, который у меня есть?
- 12.04
- сеть
- индикатор
- сетевой менеджер
4
Вам не нужен NetworkManager для подключения к сети. Предполагая, что вы используете автоматическую настройку (вероятно, так и есть), вам просто нужно sudo dhclient eth0
, чтобы получить IP-адрес (в этом случае замените eth0 на ваше сетевое устройство).
4
sudo apt-get установить сетевой менеджер
Не получится. Обратите внимание, какие зависимости необходимы для установки пакета. Mine were-
Будут установлены следующие НОВЫЕ пакеты: iputils-arping libnl-route-3-200 modemmanager сетевой менеджер сетевой менеджер-gnome usb-modeswitch usb-modeswitch-data wpasupplicant
Очевидно, что загрузка завершится с ошибкой:
Не удалось получить http://us.archive.ubuntu.com/ubuntu/pool/main/libn/libnl3/libnl-route-3-200_3.2.3-2ubuntu2_amd64.deb Не удалось разрешить «us.archive.ubuntu.com».
Загрузите все такие ссылки, которые дают указанную выше ошибку, включая network-manager из какой-либо другой системы. Я скачал следующие ссылки:
http://us.archive.ubuntu.com/ubuntu/pool/main/libn/libnl3/libnl-route-3-200_3.2.3-2ubuntu2_amd64.deb http://us.archive.ubuntu.com/ubuntu/pool/main/w/wpasupplicant/wpasupplicant_0. 7.3-6ubuntu2.2_amd64.deb http://us.archive.ubuntu.com/ubuntu/pool/main/i/iputils/iputils-arping_20101006-1ubuntu1_amd64.deb http://us.archive.ubuntu.com/ubuntu/pool/main/u/usb-modeswitch-data/usb-modeswitch-data_20120120-0ubuntu1_all.deb http://us.archive.ubuntu.com/ubuntu/pool/main/u/usb-modeswitch/usb-modeswitch_1.2.3+repack0-1ubuntu2_amd64.deb http://us.archive.ubuntu.com/ubuntu/pool/main/m/modemmanager/modemmanager_0.5.2.0-0ubuntu2_amd64.deb http://us.archive.ubuntu.com/ubuntu/pool/main/n/network-manager-applet/network-manager-gnome_0.9.4.1-0ubuntu2.3_amd64.deb
Приведенные выше ссылки не содержат ссылку самого сетевого менеджера. Вы можете скачать его отсюда; с ближайшего к вам зеркала программного обеспечения. Позаботьтесь о том, чтобы выбрать подходящую архитектуру (amd64 для 64-разрядной версии, i386 для 32-разрядной версии) и версию установленной ОС.
Теперь скопируйте файлы deb в /var/cache/apt/archives/
Запустите sudo-apt-get install network-manager
в терминале. Теперь он будет забирать deb-файлы из кеша и не будет предлагать их загрузить.
Если все пойдет хорошо, сетевой менеджер будет установлен.
Наконец, перезагрузите систему.
У меня была такая же проблема. Мне удалось подключиться к беспроводной сети, как это для точек доступа WPA
wpa_passphrase имя сети пароль> foo.conf killall -9 wpa_supplicant sudo wpa_supplicant -Dwext -i wlan0 -c foo.conf
Если вы используете WEP, то вы можете сделать это с помощью сети essid
iwconfig wlan0 пароль ключа iwconfig wlan0
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя адрес электронной почты и пароль
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания, политикой конфиденциальности и политикой использования файлов cookie
.команда не найдена» Ошибка — это Linux FOSS
Команда ifconfig используется для настройки сетевого интерфейса в Linux. Эта команда помогает нам выделить уникальный адрес сетевому интерфейсу и получить сведения о текущей конфигурации сети. Разработчики обесценили эту команду из-за отсутствия обслуживания и модернизировали ее с помощью « ip » в пакете « iproute2 ».
В старых версиях команда ifconfig по-прежнему используется по умолчанию, но в новых версиях отображается ошибка «ifconfig: команда не найдена». Это руководство поможет вам устранить эту ошибку и включает следующие темы:
- Что такое команда ifconfig в Linux?
- Причина 1: пакет net-tools отсутствует
- Решение 1. Установите и настройте пакет сетевых инструментов
- Исправить ошибку после установки пакета сетевых инструментовa
- Причина 2: ifconfig заменен командой ip
- Решение 2. Используйте команду ip
Начнем!
Как исправить ошибку «ifconfig: команда не найдена»?Команда ifconfig (настройка интерфейсов) используется для проверки конфигурации сетевого интерфейса и ее изменения. Это помогает предоставить полезные данные о сетевом интерфейсе системы.
Как установить пакеты в Ubuntu
Пожалуйста, включите JavaScript
Команда ifconfig была встроенной утилитой в предыдущих версиях дистрибутивов Linux, но разработчики не обновляли и не поддерживали ее регулярно, поэтому эта команда устарела. В последних версиях при запуске команды « ifconfig » отображается эта ошибка:
Ошибка: Команда «ifconfig» не найдена»
Давайте обсудим возможные решения этой ошибки.
Причина 1: пакет net-tools отсутствуетКоманда ifconfig существует в пакете net-tools в Linux. Для выполнения команды ifconfig мы должны установить отсутствующий пакет « net-tools », который по умолчанию не устанавливается при установке операционной системы.
Решение 1. Установка и настройка пакета сетевых инструментов$ sudo apt install net-tools #для Ubuntu. $ sudo dnf install net-tools #для Fedora и CentOS. $ sudo pacman -S net-tools # для Arch Linux
Для установки пакета net-tools в разные дистрибутивы выполните следующие команды:
Пакет net-tools установлен в системе. Давайте сейчас запустим команду ifconfig!
Если по-прежнему отображается та же ошибка « ifconfig: команда не найдена », мы должны установить ее вручную. Давай сделаем это!
Исправить ошибку после установки пакета net-toolsЧтобы устранить ошибку после установки пакета net-tools, выполните следующие шаги
- Проверить путь ifconfig
- Устранение проблем с путем ifconfig
- Перезапустите систему
Шаг 1: Проверка пути ifconfig
Мы можем проверить наличие двоичного файла пути ifconfig в системе с помощью каталога « /sbin/ifconfig », который содержит системные переменные для выполнения желаемых задач. Чтобы проверить в Linux, используйте любую из следующих команд:
Примечание: Вывод должен включать «usr/sbin/», если существует двоичный путь.
Для дистрибутивов на основе Debian:$, где ifconfig #должен отображать путь $ [[ -f /sbin/ifconfig ]] && echo "ifconfig Exists" #должен отображать ifconfig существует $ [ -e /sbin/ifconfig ] && echo «ifconfig Exists» # должно отображаться, если ifconfig существуетДля Fedora:
$ sudo yum whatprovides ifconfigДля дистрибутивов на основе RPM:
$ sudo rpm -qf /usr/sbin/ifconfig
Если двоичный файл не существует, мы должны переустановить пакет net-tools. В противном случае вывод показывает, что двоичный файл существует, и мы можем перейти к следующему шагу.
Шаг 2. Устранение проблем с путем ifconfig
ifconfig находится в каталоге « /sbin » или «/ usr/sbin ». Несколько дистрибутивов не включают это в переменную PATH. Чтобы включить переменную PATH, сначала используйте следующую команду для проверки переменной пути:
$ эхо $ПУТЬ
Выходные данные должны включать путь « /sbin », и вы можете использовать команду ifconfig.
Если вывод показывает путь « /sbin », вы должны экспортировать/вручную добавить отсутствующую переменную PATH в этот каталог. Для этого используйте эту команду:
$ export PATH="/sbin:/usr/sbin:${PATH}"
Шаг 3: Перезапустите систему
Перезапустите систему с помощью следующей команды и используйте команду ifconfig без ошибок:
$ перезагрузить судо
Давайте работать над следующим решением.
Причина 2: ifconfig заменен командой ipКоманда ifconfig присутствует в утилите пакета net-tools и заменена пакетом утилиты iproute2 из Ubuntu 18. 04. Для других пакет net-tools недоступен по умолчанию в последних дистрибутивах. Современной альтернативой команде ifconfig является командная утилита « ip » в утилите пакета iproute2.
Решение 2. Используйте команду ipКоманда ifconfig предоставляет сведения о сетевом интерфейсе, доступ к которому можно получить с помощью команды ip в системе по умолчанию. Команда « ip addr » предоставляет те же сведения о конфигурации сети, что и команда ifconfig. Запустите любую из приведенных ниже команд, чтобы проверить поведение команды ip (альтернатива ifconfig ):
$ ip a $ IP-адрес
Вывод показывает « IP-адрес 9Команда 0097» предоставляет:
- Сетевой интерфейс : Отображает сетевой интерфейс, например ens33.
- IP-адрес : IP-адрес локального сервера.
- mac Address : mac адрес машины.
Команда ip предлагает расширенные встроенные функции из « ifconfig ». Эта команда ip показывает статистику ( s ), удобочитаемый режим ( h ), детали ( d ), цвета конфигурации (c) и другие полезные сведения об IP-адресе и его конфигурации.
Опции команды « ip » включают:
-s | Показать статистику. ($ ip -s addr) |
-h | Для отображения в удобочитаемом режиме. |
-d | Для получения подробной информации по ip. |
-c | Для настройки выходных цветов. |
-r | Преобразовать IP-адрес в MAC-адрес. |
Это конец поста.
ЗаключениеОшибку ifconfig можно устранить, установив и настроив пакет « net-tools ». Используйте команды «sudo apt install net-tools», «sudo dnf install net-tools» и «sudo pacman -S net-tools» для дистрибутивов Debian, Fedora/CentOS и Linux на базе Arch соответственно.