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