Введение

Утилита для сетевого администрирования ifconfig (сокращение от interface config) — это системная утилита в Unix-подобных операционных системах, предназначенная для настройки сетевых интерфейсов. Утилита представляет собой инструмент командной строки и также используется в скриптах запуска системы многих операционных систем. Она позволяет настраивать, управлять и запрашивать параметры сетевых интерфейсов TCP/IP. Ifconfig впервые появилась в 4.2BSD как часть пакета BSD TCP/IP. Многие дистрибутивы Linux отказались от использования ifconfig в пользу инструментов из iproute2.

Статус выпуска

Операционные системы Berkeley Software Distribution UNIX (например, NetBSD, OpenBSD и FreeBSD) продолжают активную разработку ifconfig и расширение его функциональности для настройки беспроводных сетевых интерфейсов, транкинга VLAN, управления аппаратными функциями, такими как TSO или аппаратная контрольная сумма, а также настройки мостовых и туннельных интерфейсов. Исторически Solaris использовал ifconfig для настройки всех сетевых интерфейсов, но начиная с Solaris 10, dladm был представлен для выполнения настройки канального уровня (2-й уровень модели OSI), что ограничило область применения ifconfig настройкой IP. В более ранних дистрибутивах Linux ifconfig в сочетании с утилитой route использовался для подключения компьютера к сети и определения маршрутов между сетями. ifconfig для Linux входит в состав пакета net-tools, последняя версия 2.10 которого была выпущена 7 января 2021 года. Многие дистрибутивы Linux отказались от использования ifconfig и route в пользу программного пакета iproute2, например ArchLinux или RHEL начиная с версии 7, который доступен для Linux 2.2 с 1999 года. iproute2 включает поддержку всех распространенных функций ifconfig(8), route(8), arp(8) и netstat(1). Он также включает поддержку многоадресной рассылки, управление туннелями и виртуальными соединениями, управление трафиком и низкоуровневую настройку IPsec, среди прочих функций.

Связанные инструменты

Другим инструментом командной строки Linux более высокого уровня является ifup (включая ifdown и ifquery). Помимо управления интерфейсами, он также обеспечивает контроль над другими аспектами сети, такими как указание используемых DNS-серверов. Команда настраивается с помощью файла /etc/network/interfaces, который содержит "блоки" (или "секцию") для каждого интерфейса. NetworkManager — это демон Linux, который автоматически перенастраивает сеть в динамических средах, например, при перемещении между точками доступа Wi-Fi. Обычно используется совместно с графическим интерфейсом, таким как GNOME Shell. Версии Microsoft Windows от Windows 95 до Windows Me использовали winipcfg для графического отображения текущей IP-информации. ipconfig, команда, аналогичная ifconfig, поставляется с операционными системами Microsoft, основанными на ядре Windows NT. ipconfig также управляет клиентом Windows DHCP. В macOS команда ifconfig функционирует как оболочка для агента IPConfiguration и позволяет управлять клиентами BootP и DHCP из командной строки. Использование ifconfig для изменения сетевых настроек в Mac OS X не рекомендуется, поскольку ifconfig работает на уровне ниже системных фреймворков, которые помогают управлять конфигурацией сети. iwconfig, компонент Wireless tools для Linux, который получил свое название от ifconfig, управляет беспроводными сетевыми интерфейсами, выходя за рамки первоначального назначения ifconfig в Linux. iwconfig устанавливает такие специализированные настройки, как SSID и WEP-ключи беспроводной сети, и работает в связке с iwlist. В Linux также есть iwspy для чтения уровня сигнала, шума и качества беспроводного соединения. Другие связанные инструменты для настройки Ethernet-адаптеров: ethtool, mii tool и mii diag в Linux и команда dladm show link в Solaris. Набор инструментов ip (ip suite) имеет аналогичное назначение и предназначен для замены устаревшего ifconfig.