Ifconfig

ifconfig (сокращение от interface configuration) — команда для UNIX и UNIX‐подобных операционных систем, используемая для настройки и управления сетевыми интерфейсами. Является инструментом для назначения IP-адресов, изменения параметров адаптера и диагностики состояния сетевых интерфейсов. Первый вариант появился в 1983 году вместе с BSD.

Общие сведения
ifconfig
Тип консольная утилита для сетевого администрирования
Разработчики сообщества BSD, Linux, UNIX
Интерфейс командная строка
Операционные системы Unix, Linux, BSD, macOS
Лицензия различная (BSD, GNU и др.)

Синтаксис

ifconfig [interface]
ifconfig interface [aftype] options | address ...

Описание

Команда ifconfig служит аналогом IPconfig в Windows, однако имеет иной набор опций и предоставляет более широкий функционал. Используется для назначения сетевого адреса, изменения параметров сетевого адаптера и протокола IP. В большинстве *nix-систем она применяется на этапе загрузки для первоначальной настройки сетевых интерфейсов; далее — обычно только при отладке, изменении конфигурации сети или восстановлении системы.

Подробное описание опций и примеров доступно в руководстве по команде («man ifconfig», например, в FreeBSD).

Если команда запускается без аргументов, ifconfig выводит сведения о состоянии активных интерфейсов. Если задан только один аргумент-интерфейс, отображается информация лишь о нём; если указан параметр -a, выводятся сведения обо всех интерфейсах, включая неактивные. В остальных случаях команда конфигурирует указанный интерфейс.

В современных дистрибутивах Linux утилита ifconfig считается устаревшей и заменена на инструменты из пакета iproute2, а основные функции перешли к утилите ip. Тем не менее, в UNIX-системах ifconfig по-прежнему широко используется.

Семейство протоколов

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

  • inet (TCP/IP) — по умолчанию,
  • inet6 (IPv6),
  • ax25 (AMPR Packet Radio),
  • ddp (Appletalk Phase 2),
  • ipx (Novell IPX),
  • netrom (AMPR Packet Radio).

Опции

Опция Описание
interface Имя сетевого интерфейса. Обычно состоит из имени драйвера и номера устройства, например: eth0 (первый Ethernet-интерфейс).
up Включает интерфейс. Применяется также после ifconfig down. Эта операция происходит автоматически при установке первого адреса; при повторном включении аппаратное обеспечение может быть инициализировано заново.
down Отключает интерфейс. Система перестаёт использовать его для передачи и приёма пакетов, отключает маршруты, связанные с этим интерфейсом.
arp Включает использование протокола ARP, позволяющего сопоставлять сетевые адреса и физические адреса на уровне передачи данных.
-arp Отключает использование протокола ARP.
promisc Включает режим перехвата всех пакетов (promiscuous mode). Интерфейс принимает все пакеты в сегменте, даже адресованные другим устройствам; используется для диагностики сети, перехвата и анализа трафика (например, с помощью tcpdump), но также применяется злоумышленниками для перехвата данных.
-promisc Запрещает promiscuous mode.
allmulti Включает режим all-multicast — интерфейс принимает все многоадресные (multicast) пакеты.
-allmulti Отключает all-multicast режим.
metric N Задаёт стоимость маршрутизации (routing metric) для интерфейса, вместо значения по умолчанию (0). Большая стоимость уменьшает приоритет маршрута.
mtu N Устанавливает максимальный размер пакета (maximum transmission unit, MTU) для интерфейса. Может быть полезно при нестабильной связи или необходимости ручной настройки туннелей.
dstaddr addr Устанавливает адрес удалённой стороны для интерфейсов точка-точка (point-to-point, например, PPP). Аргумент устарел, предпочтительно использовать pointopoint.
netmask addr Устанавливает сетевую маску интерфейса. По умолчанию определяется классом IP-адреса, но может быть задана вручную.
add addr/prefixlen Добавляет IPv6-адрес для интерфейса.
del addr/prefixlen Удаляет IPv6-адрес с интерфейса.
tunnel aa.bb.cc.dd Создаёт устройство-туннель SIT (IPv6-в-IPv4) к заданному адресу.
irq Устанавливает аппаратный номер прерывания (IRQ) для устройства (не поддерживается всеми драйверами).
io_addr addr Устанавливает базовый адрес области ввода-вывода устройства.
mem_start addr Устанавливает адрес начала области разделяемой памяти, используемой устройством (актуально для ограниченного числа устройств).
media type Задаёт физический порт или тип носителя (например, 10base2, 10baseT, AUI, auto); поддержка опции зависит от драйвера.
bootproto [[static][dhcp]] Указывает способ получения IP-адреса — статический (описан явно пользователем) или динамический (через DHCP).
broadcast [addr] Устанавливает широковещательный (broadcast) адрес интерфейса.
pointopoint [addr] Включает или настраивает режим точка-точка (point-to-point), при необходимости с указанием адреса другой стороны.
-pointopoint [addr] Отключает режим point-to-point.
hw class address Устанавливает аппаратный адрес устройства. После ключевого слова указывается класс (например, ether, ax25) и физический адрес.
multicast Устанавливает флаг поддержки передачи данных на группу (multicast).
address IP-адрес, присвоенный интерфейсу.
txqueuelen length Устанавливает длину очереди передачи — полезно для медленных каналов или подключения с высокими задержками (например, modems, ISDN).

Примеры

# ifconfig eth0 inet 192.168.10.15 netmask 255.255.255.0
# ifconfig eth0 up
# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:18:F3:BE:18:1E
          inet addr:192.168.10.15  Bcast:192.168.10.255  Mask:255.255.255.0
          inet6 addr: fe80::218:f3ff:febe:181e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:39456 errors:0 dropped:0 overruns:0 frame:0
          TX packets:45730 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:25457904 (24.2 Mb)  TX bytes:6540945 (6.2 Mb)
          Interrupt:20
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:16436  Metric:1
          RX packets:182 errors:0 dropped:0 overruns:0 frame:0
          TX packets:182 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:12812 (12.5 Kb)  TX bytes:12812 (12.5 Kb)
#

Ссылки