INTERFACES

НАЗВАНИЕ
ОПИСАНИЕ
ИНТЕРФЕЙСЫ VLAN И МОСТЫ
ОПЦИИ IFACE
СЕМЕЙСТВО АДРЕСОВ INET
СЕМЕЙСТВО АДРЕСОВ IPX
СЕМЕЙСТВО АДРЕСОВ INET6
СЕМЕЙСТВО АДРЕСОВ CAN
ИЗВЕСТНЫЕ НЕИСПРАВНОСТИ/ОГРАНИЧЕНИЯ
АВТОР
АВТОР ПЕРЕВОДА
СМОТРИ ТАКЖЕ

НАЗВАНИЕ

/etc/network/interfaces − конфигурация сетевого интерфейса для ifup и ifdown

ОПИСАНИЕ

/etc/network/interfaces содержит информацию по настройке сетевого интерфейса для команд ifup(8) и ifdown(8). Здесь вы указываете, каким образом ваша система подключена к сети.

Строки, которые начинаются с символа ’#’, игнорируются. Обратите внимание, что комментарии с явным указанием конца строки НЕ поддерживаются, комментарии должны занимать одну строку.

Строка может быть перенесена на новую строку для удобства чтения, для этого в конце строки необходим символ "\".

Файл состоит из нуля или более строф "iface", "mapping", "auto" и "allow−", "source" и "source−directory". Ниже приведён пример.

auto eth0 allow−hotplug eth1

source interfaces.d/machine−dependent

source−directory interfaces.d

mapping eth0
     script /usr/local/sbin/map−scheme
     map HOME eth0−home
     map WORK eth0−work

iface eth0−home inet static
     address 192.168.1.1
     netmask 255.255.255.0
     up flush−mail

iface eth0−work inet dhcp

iface eth1 inet dhcp

Строки, начинающиеся со слова "auto", используются для идентификации физических интерфейсов при их подъёме во время запуска ifup с опцией −a. (Эта опция используется сценариями загрузки системы.) Имена физических интерфейсов должны следовать за словом "auto" в той же строке. Может быть несколько строф "auto". ifup поднимет названные интерфейсы в порядке их перечисления.

Строки, начинающиеся с "allow−" используются для идентификации интерфейсов, которые должны быть подняты автоматически различными подсистемами. Это может быть сделано, например, с использованием команды "ifup −−allow=hotplug eth0 eth1", которая будет поднимать только eth0 или eth1, если они перечислены в строке "allow−hotplug". Учтите, что "allow−auto" и "auto" − синонимы.

Строки, начинающиеся с "source" используются для обозначения строф из других файлов, так что конфигурация может быть поделена на несколько файлов. После слова "source" следует путь к подключаемому файлу. Можно использовать символы шаблона оболочки. (За подробностями обращайтесь к wordexp(3).)

Ключевое слово "source−directory" используется для подключения нескольких файлов сразу, без их поимённого указания и без использования шаблонов оболочки. Дополнительно, при использовании "source−directory" имена файлов проверяются на соответствие регулярному выражению ^[a−zA−Z0−9_−]+$. Другими словами, имена могу состоять только из букв ASCII в верхнем и нижнем регистре, цифр ASCII, подчёркиваний и минусов−дефисов ASCII. В пути к каталогу можно указывать символы шаблонов оболочки.

Если подключаемый файл или каталог не начинается с косой черты, считается что путь задан относительно того каталога, в котором находится файл, содержащий ключевое слово. В примере выше, если файл располагается в /etc/network/interfaces, подразумевается что включаемые файлы располагаются внутри /etc/network.

В настоящее время "source−directory" не поддерживается программами network−manager и guessnet.

По умолчанию, на только что установленной системе Debian файл interfaces включает строки из файлов в каталоге /etc/network/interfaces.d.

Строфы, начинающиеся со слова "mapping", используются для определения, какой логический интерфейс соответствует физическому интерфейсу, который будет поднят. Первая строка строфы отображения (mapping) состоит из слова "mapping" с последующим шаблоном, соответствующим синтаксису глобальной оболочки. Каждая такая строфа отображения должна содержать определение сценария. Именованный сцеанрий запускается с именем физического интерфейса в качестве аргумента и с передачей на его стандартный вход всех следующих "map" строк (без ведущей "map") в строфе. Сценарий перед завершением должен вывести строку на стандартный вывод. Обратитесь к /usr/share/doc/ifupdown/examples за примерами того, что должен вывести сценарий.

Отображение имени состоит из поиска необходимого шаблона отображения и запуска сценария, соответствующего первому совпадению; сценарий выводит имя, в которое будет отображено исходное имя.

ifup, в качестве его первого обязательного аргумента, обычно передается имя физического интерфейса. ifup так же использует это имя как начальное логическое имя интерфейса, если оно не сопровождается суффиксом вида =LOGICAL, в этом же случае ifup выбирает LOGICAL в качестве начального логического имени интерфейса. Затем это название отображения, возможно более одного раза в соответствии с последующими спецификациями отображения, до тех пор пока больше не останется доступных отображений. Если окончательное имя − это имя некого определенного логического интерфейса, тогда ifup попытается поднять физический интерфейс в качестве этого логического интерфейса. В противном случае ifup закончит работу с ошибкой.

Строфы, определяющие логические интерфейсы, начинаются со строки, содержащей слово "iface", которая сопровождается именем логического интерфейса. В простых конфигурациях, без строф отображения, это имя просто должно быть именем физического интерфейса, к которому будут применены настройки. (Сценарий отображения по умолчанию действует подобно команде echo.) За именем интерфейса следует название семейства адресов, которое использует интерфейс. Это может быть "inet" для сетей TCP/IP, но имеется так же поддержка сетей IPX ("ipx"), и сетей IPv6 ("inet6"). За ним следует название метода, используемого для настройки интерфейса.

Дополнительные опции могут быть заданы в последующих строках строфы. Доступность опций зависит от семейства и метода, как описано ниже. Дополнительные опции могут предоставляться другими пакетами Debian. Например, пакет wireless−tools предоставляет несколько опций, начинающихся с "wireless−", которые можно использовать для настройки интерфейса с помощью iwconfig(8). (Обратитесь к wireless(7) за подробностями.)

Опции обычно содержат отступ для ясности (как в примере выше) но это не обязательно.

ИНТЕРФЕЙСЫ VLAN И МОСТЫ

Для лёгкости настройки интерфейсов VLAN, интерфейсы, содержащие . в имени, настраиваются как тегированные интерфейсы 802.1q. Например, интерфейс eth0.1 − это виртуальный интерфейс с идентификатором VLAN 1 на физическом интерфейсе eth0.

В целях совместимости с пакетом bridge−utils настройка интерфейса VLAN не производится, если указана опция bridge_ports.

ОПЦИИ IFACE

Следующие "командные" опции доступны для любого семейства и метода. Каждая из этих опций может быть задана несколько раз в одной строфе, в этом случае команды исполняются в том порядке, в котором они появляются в строфе. (Чтобы результат выполнения команды всегда был успешным, можно добавить к команде "|| true". )
pre−up
команда

Запустить команду до поднятия интерфейса. Если команда завершается с ошибкой, тогда ifup не отмечает интерфейс как настроенный, выводит сообщение об ошибке и завершается со статусом 0. В будущем это поведение может измениться.

up команда
post−up
команда

Запустить команду после поднятия интерфейса. Если команда завершается с ошибкой, тогда ifup не отмечает интерфейс как настроенный (даже если он в действительности настроен), выводит сообщение об ошибке и завершается со статусом 0. В будущем это поведение может измениться.

down команда
pre−down
команда

Запустить команду перед отключением интерфейса. Если команда завершается с ошибкой, тогда ifdown помечает интерфейс как не настроенный (даже если на самом деле его настройки не были сброшены) и завершается со статусом 0. В будущем это поведение может измениться.

post−down команда

Запустить команду после отключения интерфейса. Если команда завершается с ошибкой, ifdown помечает интерфейс как не настроенный и завершается со статусом 0. В будущем это поведение может измениться.

Для каждой из вышеперечисленных опций существует каталог /etc/network/if−<опция>.d/, сценарии в котором запускаются (без аргументов) с помощью run−parts(8) после обработки самих опций. Отметим, что post−up и pre−down − псевдонимы, поэтому файлы из соответствующих каталогов не обрабатываются. Вместо них используйте каталоги if−up.d и if−down.d.

Все эти команды имеют доступ к следующим переменным окружения.

IFACE

Физическое имя обрабатываемого интерфейса.

LOGICAL

Логическое имя обрабатываемого интерфейса.

ADDRFAM

Семейство адресов интерфейса.

METHOD

Метод интерфейса (например, static).

MODE

start − если команда запущена из ifup, stop − если команда запущена из ifdown.

PHASE

Как и MODE, но с большей точностью, при которой различаются фазы pre−up, post−up, pre−down и post−down.

VERBOSITY

Указывает, что используется опция −−verbose; установлена в 1 если это так, или 0 − если нет.

PATH

Путь поиска команды: /usr/local/sbin:/usr/local/bin:/usr/sbin:- /usr/bin:/sbin:/bin

Дополнительно, все опции, заданные в строфе определения интерфейса, экспортируются в переменные окружения. Имя переменной состоит из символов в верхнем регистре, дополненное символами "IF_" слева, с дефисами, преобразованными в знаки подчеркивания и с отброшенными не алфавитно−цифровыми символами.

При вызове ifupdown с опцией −−all перед обработкой интерфейсов вызываются все скрипты−обработчики (pre−up или down) с IFACE равным "−−all", LOGICAL равным значению параметра −−allow (или "auto", если не указан), ADDRFAM="meta" и METHOD="none". После того, как все обработанные интерфейсы активированы или деактивированы, выполняются соответствующие скрипты (up или post−down).

СЕМЕЙСТВО АДРЕСОВ INET

Этот раздел описывает методы, доступные для семейства адресов inet.

Метод loopback
Этот метод может использоваться для описания интерфейса обратной петли IPv4.

Опции

(Нет опций)

Метод static
Этот метод может использоваться для описания Ethernet−интерфейсов со статически выделенными IPv4 адресами.

Опции

address адрес

Адрес (четыре числа, разделённых точками с косой чертой и маской). Требуется.

netmask маска_сети

Маска сети (четыре числа, разделённых точками или CIDR). Требуется.

broadcast широковещательный_адрес

Широковещательный адрес (четыре числа, разделённых точками, + или −). Значение по умолчанию: "+".

metric метрика

Метрика маршрутизации для шлюза по умолчанию (целое число).

gateway адрес

Шлюз по умолчанию (четыре числа, разделённых точками).

pointopoint адрес

Адрес удалённой точки (четыре числа, разделённых точками). Обратите внимание на написание "point−to".

hwaddress адрес

Адрес link local.

mtu размер

Размер MTU.

scope

Области действительных адресов. Возможные значения: global, link, host.

Метод manual
Этот метод может использоваться для описания интерфейсов, для которых нет настроек применяемых по умолчанию. Такие интерфейсы могут настраиваться вручную, подразумеваемыми командами up и down, или сценариями из каталогов /etc/network/if−*.d.

Опции

(Нет опций)

Метод dhcp
Этот метод может использоваться для получения адреса через DHCP любым из перечисленных инструментов: dhclient, pump, udhcpc, dhcpcd. (Они были перечислены в порядке их приоритета.) Если у вас сложная конфигурация DHCP, вам следует знать, что некоторые из клиентов используют собственные настроечные файлы и не получают настроечную информацию посредством ifup.

Опции

hostname имя_узла

Запрашиваемое имя узла (pump, dhcpcd, udhcpc).

metric метрика

Метрика для добавляемых маршрутов (dhclient)

leasehours часы_аренды

Предпочитаемое время аренды в часах (pump).

leasetime время_аренды

Предпочитаемое время аренды в секундах (dhcpcd).

vendor производитель

Идентификатор класса производителя (dhcpcd).

client клиент

Идентификатор клиента (dhcpcd).

hwaddress адрес

Аппаратный адрес.

Метод bootp
Метод может использоваться для получения адреса через bootp.

Опции

bootfile файл

Сообщает серверу какой файл использовать в качестве загрузочного.

server адрес

Использовать указанный IP−адрес адрес для связи с сервером.

hwaddr адрес

Использовать указанный аппаратный адрес вместо реального.

Метод tunnel
Этот метод используется для создания туннелей GRE или IPIP. Нужен выполняемый файл ip из пакета iproute. Для туннелей GRE может понадобиться загрузить модуль ip_gre, а для туннелей IPIP − модуль ipip.

Опции

address адрес

Локальный адрес (четыре числа, разделённых точками). Требуется.

mode тип

Тип туннеля (GRE или IPIP). Требуется.

endpoint адрес

Адрес удалённой точки туннеля. Требуется.

dstaddr адрес

Удалённый адрес (удалённый адрес внутри туннеля).

local адрес

Адрес локальной конца туннеля.

gateway адрес

Шлюз по умолчанию.

ttl время

Настройка TTL.

mtu размер

Размер MTU.

Метод ppp
Этот метод использует pon/poff для настройки интерфейса PPP. Обратитесь к этим командам за подробностями.

Опции

provider имя

Использовать имя в качестве провайдера (из /etc/ppp/peers).

unit число

Использовать число как номер интерфейса ppp.

options строка

Передать pon дополнительные опции из строки.

Метод wvdial
Этот метод использует wvdial для настройки интерфейса PPP. Обратитесь к этой команде за подробностями.

Опции

provider имя

Использовать имя в качестве провайдера (из /etc/wvdial.conf).

Метод ipv4ll
В этом методе для настройки интерфейса используется avahi−autoipd, который назначает адрес IPv4 Link−Layer (семейство 169.254.0.0/16). Этот метод также называют APIPA и IPAC, а разговорной речи называется "адрес Zeroconf".

Опции

(Нет опций)

СЕМЕЙСТВО АДРЕСОВ IPX

Этот раздел описывает методы, доступные для семейства адресов ipx.

Метод static
Этот метод может использоваться для настройки интерфейса IPX. Он требует команду ipx_interface.

Опции

frame тип

Тип используемых кадров Ethernet (например, 802.2).

netnum идентификатор

Номер сети.

Метод dynamic
Этот метод может использоваться для динамической настройки интерфейса IPX.

Опции

frame тип

Тип используемых кадров Ethernet (например, 802.2).

СЕМЕЙСТВО АДРЕСОВ INET6

Этот раздел описывает методы, доступные для семейства адресов inet6.

Метод auto
Этот метод используется для автоматического назначения интерфейсам адресов IPv6. При самостоятельном использовании этой опции опции RDNSS применяться не будут. Чтобы воспользоваться этими опциями, нужно установить, настроить и запустить демона rdnssd. Если включена поддержка DHCPv6 без учёта состояния, от DHCP сервера будут получены дополнительные настройки сети, такие как серверы DNS и NTP. Отметим, что ifdown не освобождает арендованный адрес (это известная недоработка).

Опции

privext целое_число

Расширения для секретности (RFC4941) (0=выключено, 1=назначено, 2=предпочитается)

accept_ra целое_число

Принимать анонсы маршрутизатора (0=отключено, 1=включено, 2=включено+маршрутизация). Значение по умолчанию − "2"

dhcp целое_число

Использовать DHCPv6 без учёта состояния (0=отключено, 1=включено)

Метод loopback
Этот метод может использоваться для описания интерфейса обратной петли IPv6.

Опции

(Нет опций)

Метод static
Этот метод может использоваться для определения интерфейсов со статически назначенными IPv6 адресами. По умолчанию для этого интерфейса отключена автонастройка без учёта состояния.

Опции

address адрес

Адрес (разделенный двоеточиями с маской после косой черты). Требуется.

netmask маска_сети

Маска сети (количество бит, например 64).

gateway адрес

Шлюз по умолчанию (разделенный двоеточиями).

media тип

Тип носителя, зависящий от драйвера.

hwaddress адрес

Аппаратный адрес.

mtu размер

Размер MTU.

accept_ra целое_число

Принимать анонсы маршрутизатора (0=отключено, 1=включено, 2=включено+маршрутизация)

autoconf целое_число

Предпочитать автонастройку без учёта состояния (0=отключено, 1=включено). Значение по умолчанию − "0"

privext целое_число

Расширения для секретности (RFC3041) (0=выключено, 1=назначено, 2=предпочитается)

scope

Область допустимых адресов. Возможные значения: global, site, link, host

preferred−lifetime целое_число

Время, в течение которого адрес остаётся предпочитаемым.

dad−attempts

Количество попыток устранить конфликт адресов (0 − отключено). Значение по умолчанию − "60".

dad−interval

Интервал в секундах между попытками устранить конфликт адресов. Значение по умолчанию − "0.1"

Метод manual
Этот метод может использоваться для описания интерфейсов, для которых нет настроек применяемых по умолчанию. Такие интерфейсы могут настраиваться вручную, подразумеваемыми командами up и down, или сценариями из каталогов /etc/network/if−*.d.

Опции

(Нет опций)

Метод dhcp
Метод может использоваться для получения настроек сетевого интерфейса через DHCPv6 без учёта состояний при помощи программы dhclient. В DHCPv6 с учётом состояний за назначение адресов клиентам отвечает DHCP−сервер.

Опции

hwaddress адрес

Аппаратный адрес.

accept_ra целое_число

Принимать анонсы маршрутизатора (0=отключено, 1=включено, 2=включено+маршрутизация). Значение по умолчанию − "1"

autoconf целое_число

Предпочитать автонастройку без учёта состояния (0=отключено, 1=включено).

Метод v4tunnel
Этот метод может использоваться для настройки туннеля IPv6−over−IPv4. Для него необходима команда ip из пакета iproute.

Опции

address адрес

Необходимый адрес (разделенный двоеточиями).

netmask маска_сети

Маска сети (количество бит, например 64).

endpoint адрес

Необходимый адрес удалённой точки туннеля (IPv4 − четвёрка чисел, разделённых точками).

local адрес

Адрес локальной точки (IPv4 − четвёрка чисел, разделённых точками).

gateway адрес

Шлюз по умолчанию (разделенный двоеточиями).

ttl время

Настройка TTL.

mtu размер

Размер MTU.

preferred−lifetime целое_число

Время, в течение которого адрес остаётся предпочитаемым.

Метод 6to4
Этот метод может использоваться для настройки туннеля 6to4. Для него необходима команда ip из пакета iproute.

Опции

local адрес

Адрес локального конца туннеля (IPv4 − четвёрка чисел, разделённых точками). Требуется.

ttl время

Настройка TTL.

mtu размер

Размер MTU.

preferred−lifetime целое_число

Время, в течение которого адрес остаётся предпочитаемым.

СЕМЕЙСТВО АДРЕСОВ CAN

Этот раздел описывает методы, доступные для семейства адресов can.

Метод static
Этот метод может использоваться для настройки интерфейса CAN (Controller Area Network − сеть контроллеров). Для него необходима команда ip из пакета iproute.

Опции

bitrate битовая_скорость

Битовая скорость (1..1000000 бит/с). Требуется.

samplepoint точка_образец

Точка−образец (0.000..0.999).

loopback петлевой_интерфейс

Принимать отправленные сообщения CAN (on − включить|off − выключить)

listenonly только_приём

Режим только приёма (on − включить|off − выключить)

triple триплет

Режим тройного сэмплирования (on − включить|off − выключить)

oneshot однократный_режим

Однократный режим (on − включить|off − выключить)

berr berr

Включить отчёт berr (on − включить|off − выключить)

ИЗВЕСТНЫЕ НЕИСПРАВНОСТИ/ОГРАНИЧЕНИЯ

ifup и ifdown работают с так называемыми "физическими" именами интерфейсов. Эти имена обозначены оборудованию ядром. К несчастью может случиться так, что ядро каждый раз будет назначать разные имена физических интерфейсов одному и тому же оборудованию; например, тот что называется "eth0" после перезагрузки может называться "eth1" или наоборот. Это создаёт проблему, если вы хотите настроить интерфейсы соответствующим образом. Для избежания подобного следует использовать сцеанрии отображения, которые выбирают логические имена интерфейсов в соответствии со свойствами аппаратного интерфейса. Смотри сценарий get−mac−address.sh из каталога примеров, который является примером такого сценария отображения. Смотри также Debian bug #101728.

АВТОР

Комплекс программ ifupdown был написан Энтони Таунсом (Anthony Towns) <aj@azure.humbug.org.au>. Это руководство предоставлено Джо Хессом (Joey Hess) <joey@kitenet.net>.

АВТОР ПЕРЕВОДА

Перевод на русский язык выполнил Владимир Ступин <vladimir@stupin.su>.

СМОТРИ ТАКЖЕ

ifup(8), ip(8), ifconfig(8), run−parts(8), resolvconf(8).

Для получения консультаций по настройке этого пакета читайте главу Настройка сети из Справочного руководства Debian, которое доступно по адресу http://www.debian.org/doc/manuals/debian−reference/ch05.en.html или в пакете debian−reference−en.

Примеры настройки интерфейсов можно найти в /usr/share/doc/ifupdown/examples/network−interfaces.gz.