В Linux команда ifconfig
используется для настройки, управления параметрами сетевого интерфейса из командной строки и в сценариях конфигурации системы.
Утилита используется для отображения текущей информации о конфигурации сети, настройки IP-адреса, сетевой маски или широковещательного адреса для сетевого интерфейса, создания псевдонима для сетевого интерфейса, настройки аппаратного адреса и включения или отключения сетевых интерфейсов.
Содержание
Установка
В более новых версиях дистрибутивов Linux команда ifconfig
не предустановлена. Итак, в случае возникновения ошибки «ifconfig: команда не найдена», установите пакет net-tools. Сейчас в ряде дистрибутивов команда ifconfig
включена именно в этот пакет.
Установка в Ubuntu
Обновляем систему:
$ sudo apt update
$ sudo apt upgrade
Устанавливаем пакет net-tools:
$ sudo apt install net-tools
Установка в Arch Linux
Обновляем систему:
$ yay -Syu
Устанавливаем пакет net-tools:
$ yay -S net-tools
Синтаксис
ifconfig [опции] [интерфейс]
Опции
- -a
- Отображение всех доступных интерфейсов, в том числе и неработающих
- -s
- Краткий список вместо деталей
- -v
- Подробный режим с занесением в журнал дополнительных сведений о выполнении
- up
- Активация драйвера для данного интерфейса
- down
- Деактивация драйвера для данного интерфейса
- add addr/prefixlen
- Добавление IPv6-адреса к интерфейсу
- del addr/prefixlen
- Удаление IPv6-адреса интерфейса
- [-]arp
- Включение/отключение использования протокола ARP на интерфейсе
- [-]promisc
- Включение/отключение беспорядочного режима на интерфейсе (при включении все пакеты в сети будут приниматься интерфейсом)
- [-]allmulti
- Включение/отключение режима all-multicast для интерфейса (при включении все многоадресные пакеты будут получены интерфейсом)
- mtu N
- Установка максимальной единицы передачи (MTU)
- --help
- Справка, связанная с командой
ifconfig
Использование команды ifconfig в Linux
Отображение доступных интерфейсов
При запуске с опцией -a
будут отображены все доступные интерфейсы:
oleg@mobile:~:$ ifconfig -a
enp2s0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether e8:03:9a:0c:0b:c7 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 88 bytes 6872 (6.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 88 bytes 6872 (6.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.16 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::d3e4:e051:c06b:ffe4 prefixlen 64 scopeid 0x20<link>
ether b8:03:05:ab:0f:04 txqueuelen 1000 (Ethernet)
RX packets 545 bytes 316983 (309.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 516 bytes 99122 (96.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
oleg@mobile:~:$
Здесь видно, что работает wlan0
. Также указаны его IP и маска подсети.
Краткий список доступных интерфейсов
Для получения кратного списка интерфейсов используется опция -s
:
oleg@mobile:~:$ ifconfig -s
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
enp2s0 1500 0 0 0 0 0 0 0 0 BMU
lo 65536 88 0 0 0 88 0 0 0 LRU
wlan0 1500 10901 0 0 0 7174 0 0 0 BMRU
oleg@mobile:~:$
Включение необходимого интерфейса
Подключение необходимого интерфейса выполняется с использованием параметра up
:
oleg@mobile:~:$ sudo ifconfig wlan0 up
Отключение работающего интерфейса
Для отключения работающего интерфейса используется параметр down
:
oleg@mobile:~:$ sudo ifconfig wlan0 down
Изменение MTU
Параметр mtu
позволяет внести изменения в установку максимальной единицы передачи (MTU):
oleg@mobile:~:$ ifconfig wlan0 mtu 3000
oleg@mobile:~:$
Заключение
В этой короткой статье были приведены основные приёмы работы в Linux с командой ifconfig
. Надеюсь, что они вам будут полезны.