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.
Если у вас есть вопросы, оставьте комментарий ниже.