ifup — активировать сетевой интерфейс
ifdown — деактивировать сетевой интерфейс
ifquery — анализировать конфигурацию интерфейса
СИНТАКСИС
ifup [-nv] [--no-act] [--verbose] [-i FILE|--interfaces=FILE] [--state-dir=DIR] [--allow CLASS]
-a|IFACE...
ifup -h|--help
ifup -V|--version
ifdown [-nv] [--no-act] [--verbose] [-i FILE|--interfaces=FILE] [--state-dir=DIR] [--allow CLASS]
-a|IFACE...
ifquery [-nv] [--verbose] [-i FILE|--interfaces=FILE] [--state-dir=DIR] [--allow CLASS] IFACE...
ifquery -l|--list [-nv] [--verbose] [-i FILE|--interfaces=FILE] [--state-dir=DIR] [--allow CLASS]
[-a|IFACE...]
ifquery --state [--state-dir=DIR] [--allow CLASS] [-a|IFACE...]
ОПИСАНИЕ
Команды ifup и ifdown могут использоваться для настройки (или, соответственно, отмены настройки) сетевых интерфейсов на основе определений интерфейсов в файле /etc/network/interfaces. Команда ifquery может использоваться для анализа конфигурации интерфейсов.
ОПЦИИ
Ниже приведено краткое описание опций.
-a, --all
Если указано для ifup, применяется ко всем интерфейсам, отмеченным как auto. Интерфейсы активируются в том порядке, в котором они определены в файле /etc/network/interfaces. В сочетании с --allow, применяется ко всем интерфейсам указанного класса. Если указано для ifdown, применяется ко всем определенным интерфейсам. Интерфейсы деактивируются в порядке, в котором они в настоящее время перечислены в файле состояния. Будут деактивированы только интерфейсы, определенные в файле /etc/network/interfaces.
-f, --force
Принудительно выполнить настройку или отмену настройки интерфейса.
--ignore-errors
Если какая-либо из команд или скриптов завершается с ошибкой, продолжить выполнение.
-h, --help
Отобразить сводку опций.
--allow=CLASS
Разрешить применение только к интерфейсам, перечисленным в строке allow-CLASS в файле /etc/network/interfaces.
-i FILE, --interfaces=FILE
Считывать определения интерфейсов из файла FILE вместо файла /etc/network/interfaces.
--state-dir=DIR
Хранить состояние интерфейса в каталоге DIR вместо каталога /run/network.
-X PATTERN, --exclude=PATTERN
Исключить интерфейсы из списка интерфейсов, к которым применяется команда, с помощью PATTERN. PATTERN использует обычный синтаксис оболочки. Если не используются символы подстановки оболочки, он должен точно соответствовать имени интерфейса. Эту опцию можно указать несколько раз, в результате чего исключается более одного шаблона.
-o OPTION=VALUE
Установить значение OPTION в VALUE, как если бы оно находилось в файле /etc/network/interfaces.
-n, --no-act
Не настраивать никакие интерфейсы и не выполнять какие-либо команды "up" или "down".
--no-mappings
Не выполнять сопоставления. Подробности о функции сопоставления см. в руководстве interfaces(5).
--no-scripts
Не выполнять скрипты в каталоге /etc/network/if-*.d/.
--no-loopback
Отключить специальную обработку интерфейса loopback. По умолчанию интерфейс loopback (lo в Linux) предварительно определен внутренне как интерфейс auto, поэтому он автоматически активируется при использовании ifup -a. Если устройство loopback переопределено пользователем, интерфейс все равно будет настроен только один раз. Однако, если другой интерфейс также определен как loopback, он настраивается как обычно. Указание этой опции отключает это поведение, поэтому интерфейс loopback не будет автоматически настроен.
-V, --version
Отображает информацию об авторских правах и версии.
-v, --verbose
Отображает команды по мере их выполнения.
-l, --list
Для команды ifquery, выводит список всех интерфейсов, соответствующих указанному классу. Если класс не указан, выводит список всех интерфейсов, указанных как auto.
--state
Для команды ifquery, выводит состояние интерфейсов. Если интерфейсы не указаны, выводит список всех интерфейсов, которые были активированы, вместе с логическими интерфейсами, назначенными им, и завершает работу со статусом, указывающим на успех. Если указан один или несколько интерфейсов, отображает состояние только этих интерфейсов; возвращается успешный код, если все указанные интерфейсы активны. В противном случае возвращается 0.
ПРИМЕРЫ
ifup -a
Активирует все интерфейсы, определенные с помощью ключевого слова auto в файле /etc/network/interfaces.
ifup eth0
Активирует интерфейс eth0.
ifup eth0=home
Активирует интерфейс eth0 как логический интерфейс home.
ifdown -a
Деактивирует все интерфейсы, которые в настоящее время активны.
ifquery -l
Выводит имена всех интерфейсов, указанных с помощью ключевого слова auto.
ifquery -l --allow=hotplug
Выводит имена всех интерфейсов, указанных с помощью ключевого слова allow-hotplug.
ifquery eth0
Отображает параметры интерфейса, указанные в конфигурации ifupdown. Каждая пара «ключ-значение» выводится на отдельной строке, используя «:» в качестве разделителя.
ЗАМЕЧАНИЯ
ifup, ifdown и ifquery на самом деле являются одной и той же программой, вызываемой под разными именами.
Программа не настраивает сетевые интерфейсы напрямую; она запускает низкоуровневые утилиты, такие как ip, для выполнения своей работы.
При вызове команда ifdown проверяет, запущена ли команда ifup. В этом случае в команду ifup отправляется сигнал SIGTERM.
Во время деактивации интерфейса команда ifdown игнорирует ошибки, как если бы была указана опция --ignore-errors.
ФАЙЛЫ
/etc/network/interfaces
определения сетевых интерфейсов. Подробная информация см. в разделе interfaces(5).
/run/network/ifstate
текущее состояние сетевых интерфейсов.
КОНКУРЕНЦИЯ
Ifupdown использует блокировку для каждого интерфейса, чтобы обеспечить последовательное выполнение команд ifup и ifdown для одного и того же интерфейса. Однако вызовы для разных интерфейсов могут выполняться параллельно.
КОД ВЫХОДА
Для команд ifup и ifdown код выхода будет равен 0, если все указанные интерфейсы были успешно (де)активированы, и 1, если произошла какая-либо ошибка. Результат этих команд идемпотентен; повторный вызов ifup для интерфейса, который уже активен, приведет к коду выхода 0, и аналогично повторный вызов ifdown для интерфейса, который не активен, также приведет к коду выхода 0.
Команда ifquery обычно возвращает код выхода 0, если найден интерфейс с соответствующей секцией iface, и 1, если соответствующая секция не найдена. Команда ifquery --state также возвращает код выхода 1, если указанный интерфейс известен, но не активен.
ИЗВЕСТНЫЕ ОШИБКИ/ОГРАНИЧЕНИЯ
Программа ведет учет состояния сетевых интерфейсов (активен или неактивен). В исключительных случаях эти данные могут расходиться с реальным состоянием интерфейсов. Например, интерфейс, который был активирован с помощью ifup, а затем деконфигурирован с помощью ifconfig, все равно будет отображаться как активный. Для исправления этой ситуации можно использовать опцию --force, чтобы принудительно выполнить команды конфигурации или деконфигурации ifup или ifdown, несмотря на то, какое состояние интерфейса программа считает текущим.
Файл /run/network/ifstate должен быть доступен для записи, чтобы ifup или ifdown работали правильно. Если это местоположение недоступно для записи (например, потому что корневая файловая система смонтирована в режиме только для чтения для восстановления системы), то /run/network/ifstate следует сделать символической ссылкой на местоположение, доступное для записи. Если это невозможно, можно использовать опцию --force, чтобы выполнить команды конфигурации или деконфигурации без обновления файла.
Обратите внимание, что программа не запускается автоматически: ifup не активирует интерфейсы, которые появляются в результате установки оборудования, и ifdown не деактивирует интерфейсы, которые исчезают в результате удаления оборудования. Для автоматизации конфигурации сетевых интерфейсов необходимо установить другие пакеты, такие как udev(7) или ifplugd(8).
АВТОРЫ
Пакет ifupdown был создан Энтони Таунзом <_>, в настоящее время поддерживается Сантьяго Руано Ринконом <_> и Хосуэ Ортегой <_>.
Многие другие люди помогали разрабатывать ifupdown с течением времени, полную историю можно найти в файле /usr/share/doc/ifupdown/changelog.Debian.gz.