
ifconfig (конфигурация интерфейсов) — это инструмент управления сетью. Он используется для настройки и просмотра состояния сетевых интерфейсов в операционных системах Linux. С помощью ifconfig можно назначать IP-адреса, включать и отключать интерфейсы, управлять ARP-кешем, маршрутами и т. д.
В этой статье мы рассмотрим, как использовать команду ifconfig .
Как установить ifconfig
Команда ifconfig устарела и заменена на ip , а также может быть не включена в новые дистрибутивы Linux.
Если вы получили сообщение об ошибке «ifconfig: команда не найдена», это означает, что пакет, содержащий команду, не установлен в вашей системе.
Установка 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— имя сетевого интерфейса. -
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 на сетевом интерфейсе, введите флаг 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 («Media Access Control») — это физический адрес, который однозначно идентифицирует устройства в сети.
Чтобы изменить MAC-адрес сетевого интерфейса, используйте флаг hw ether для установки нового MAC-адреса:
ifconfig eth0 hw ether 00:00:2d:3a:2a:28
Заключение
Мы показали вам, как использовать команду ifconfig для настройки и отображения информации о сетевом интерфейсе. Подробнее об ifconfig можно узнать на странице руководства по команде ifconfig .
Если у вас есть вопросы, пожалуйста, оставьте комментарий ниже.
Связанные руководства