Команда ifconfig в Linux

ifconfig(настройка интерфейса) — это инструмент управления сетью. Он используется для настройки и просмотра состояния сетевых интерфейсов в операционных системах Linux. С его помощью ifconfig вы можете назначать IP-адреса, включать или отключать интерфейсы, управлять кешем ARP, маршрутами и т. д.

В этой статье мы рассмотрим, как использовать команду ifconfig.

Как установить ifconfig

Команда ifconfig устарела, заменена на ip в новых дистрибутивах Linux и может не входить в них.

Если вы получаете сообщение об ошибке «ifconfig: command not found», это означает, что пакет, содержащий команду, не установлен в вашей системе.

Установить ifconfig на Ubuntu/Debian

В дистрибутивах Linux на основе Ubuntu и Debian выполните следующую команду для установки ifconfig:

sudo apt install net-tools -y

Установить ifconfigна Centos

Чтобы установить ifconfig на CentOS и другие дистрибутивы Linux на основе RHEL, введите:

sudo dnf install net-tools -y

Как использовать команду ifconfig

Базовый синтаксис команды ifconfig показан ниже:

ifconfig [-a] [-v] [-s] <interface> [[<AF>] <address>]

Где:

    • interface — это имя сетевого интерфейса.
    • address — IP-адрес, который вы хотите назначить.

Конфигурации, установленные с помощью команды ifconfig, не являются постоянными. После перезапуска системы все изменения теряются. Чтобы сделать изменения постоянными, вам необходимо отредактировать файлы конфигурации конкретного дистрибутива или добавить команды в сценарий запуска.

Только root или пользователи с привилегиями sudo могут настраивать сетевые интерфейсы.

Отображение информации о сетевых интерфейсах

При вызове без каких-либо опций ifconfig отображает информацию о конфигурации всех сетевых интерфейсов и связанный IP-адрес:

ifconfig -a

Вывод включает информацию обо всех активных и неактивных сетевых интерфейсах:

docker0   Link encap:Ethernet  HWaddr 56:84:7a:fe:97:99  

          inet addr:172.17.42.1  Bcast:0.0.0.0  Mask:255.255.0.0

          UP BROADCAST MULTICAST  MTU:1500  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)



lo        Link encap:Local Loopback  

          inet addr:127.0.0.1  Mask:255.0.0.0

          inet6 addr: ::1/128 Scope:Host

          UP LOOPBACK RUNNING  MTU:65536  Metric:1

          RX packets:4198 errors:0 dropped:0 overruns:0 frame:0

          TX packets:4198 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1 

          RX bytes:498729 (498.7 KB)  TX bytes:498729 (498.7 KB)



eth0      Link encap:Ethernet  HWaddr 4c:bb:58:9c:f5:55  

          inet addr:172.20.10.3  Bcast:172.20.10.15  Mask:255.255.255.240

          inet6 addr: 2401:4900:1d65:40a1:4ebb:58ff:fe9c:f555/64 Scope:Global

          inet6 addr: 2401:4900:1d65:40a1:f1c9:6a90:2d99:924e/64 Scope:Global

          inet6 addr: fe80::4ebb:58ff:fe9c:f555/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:84110 errors:0 dropped:0 overruns:0 frame:0

          TX packets:59727 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:70667629 (70.6 MB)  TX bytes:20886290 (20.8 MB)

Чтобы отобразить информацию о конфигурации любого конкретного сетевого интерфейса, напишите имя интерфейса после команды:

ifconfig eth0

Результат будет выглядеть примерно так:

eth0      Link encap:Ethernet  HWaddr 4c:bb:58:9c:f5:55  

          inet addr:172.20.10.3  Bcast:172.20.10.15  Mask:255.255.255.240

          inet6 addr: 2401:4900:1d65:40a1:4ebb:58ff:fe9c:f555/64 Scope:Global

          inet6 addr: 2401:4900:1d65:40a1:f1c9:6a90:2d99:924e/64 Scope:Global

          inet6 addr: fe80::4ebb:58ff:fe9c:f555/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:84110 errors:0 dropped:0 overruns:0 frame:0

          TX packets:59727 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:70667629 (70.6 MB)  TX bytes:20886290 (20.8 MB)

Назначьте IP-адрес и маску сети сетевому интерфейсу

С помощью команды ifconfig вы можете назначить IP-адрес и сетевую маску сетевому интерфейсу.

Используйте следующий синтаксис для назначения IP-адреса и сетевой маски:

ifconfig [interface-name] [ip-address] netmask [subnet-mask]

Например, чтобы назначить IP-адресу 192.168.0.101 и сетевую маску 255.255.0.0 на интерфейсе eth0, вы должны запустить:

ifconfig eth0 192.168.0.101 netmask 255.255.0.0

Вы также можете назначить дополнительный IP-адрес сетевому интерфейсу, используя псевдоним интерфейса:

ifconfig eth0:0 192.168.0.102 netmask 255.255.0.0

Включение и отключение сетевого интерфейса

Иногда вам может потребоваться сбросить сетевой интерфейс. В этом случае команда ifconfig может использоваться для включения или отключения сетевого интерфейса.

Чтобы отключить активный сетевой интерфейс, введите имя устройства и установите downфлажок:

ifconfig eth0 down

Чтобы включить неактивный сетевой интерфейс, используйте флаг up:

ifconfig eth0 up

Включение и отключение беспорядочного режима

Беспорядочный позволяет сетевому интерфейсу получать доступ и просматривать все пакеты в сети. Вы можете использовать команду ifconfig для включения и отключения беспорядочной связи на определенном сетевом устройстве.

Чтобы включить неразборчивый режим в сетевом интерфейсе, введите promiscфлаг после имени устройства:

ifconfig eth0 promisc

Чтобы отключить беспорядочный режим, используйте флаг -promisc

ifconfig eth0 -promisc

Изменить MTU сетевого интерфейса

 

MTU «Максимальный блок передачи» позволяет ограничить размер пакетов, передаваемых через интерфейс.

Вы можете изменить значение MTU, используя синтаксис:

ifconfig [interface-name] mtu [mtu-value]

Например, установить значение MTU сетевого интерфейса eth0к 500, выполнить следующую команду:

ifconfig eth0 mtu 500

Изменить MAC-адрес сетевого интерфейса

MAC «Управление доступом к среде» — это физический адрес, который однозначно идентифицирует устройства в сети.

Чтобы изменить MAC-адрес сетевого интерфейса, используйте флаг hw ether для установки нового MAC-адреса:

ifconfig eth0 hw ether 00:00:2d:3a:2a:28

Заключение

Мы показали вам, как использовать команду ifconfig для настройки и отображения информации о сетевом интерфейсе. Для получения дополнительной информации по ifconfig, посетите страницу руководства по команде ifconfig.

Если у вас есть вопросы, оставьте комментарий ниже.