Содержание
Справка по настройке /etc/network/interfaces
Источник - http://zenon.sytes.net/spravka-po-nastroyke-etcnetworkinterfaces/
- man interfaces(5) – настройка сетевого интерфейса для ifup и ifdown
Название
/etc/network/interfaces – настройка сетевого интерфейса для ifup и ifdown.
Описание
/etc/network/interfaces содержит информацию по настройке сетевого интерфейса для команд ifup(8) и ifdown(8).
Здесь вы указываете, каким образом ваша система подключена к сети.
Строки, которые начинаются с символа «#» игнорируются. Обратите внимание, что комментарии с явным указанием конца строки не поддерживаются, комментарии должны занимать одну строку.
Строка может быть перенесена на новую строку для удобства чтения, для этого в конце строки необходим символ «\».
Файл состоит из нуля или более строф «iface», «mapping», «auto» и «allow-». Ниже указаны примеры.
auto lo eth0
allow-hotplug eth1
iface lo inet loopback
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» – синонимы.
Строфы, начинающиеся со слова «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) за подробностями.) Опции обычно содержат отступ для ясности (как в примере выше) но это не обязательно.
Опции 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) после обработки самих опций.
Все эти команды имеют доступ к следующим переменным окружения.
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_» слева, с дефисами, преобразованными в знаки подчеркивания и с отброшенными не алфавитно-цифровыми символами.
INET ADDRESS FAMILY
Этот раздел описывает методы, доступные для семейства адресов inet.
Метод loopback
Этот метод может использоваться для описания интерфейса обратной петли IPv4.
Метод static
Этот метод может использоваться для описания Ethernet-интерфейсов со статически выделенными IPv4 адресами.
Опции:
address адрес – Необходимый адрес (четыре числа, разделённых точками).
netmask маска_сети – Необходимая маска сети (четыре числа, разделённых точками).
broadcast широковещательный_адрес – Широковещательный адрес (четыре числа, разделённых точками).
network адрес_сети – Необходимый адрес сети (четыре числа, разделённых точками) для ядер 2.0.x.
metric метрика – Метрика маршрутизации для шлюза по умолчанию (целое число).
gateway адрес – Шлюз по умолчанию (четыре числа, разделённых точками).
pointopoint адрес – Адрес удалённой точки (четыре числа, разделённых точками). Обратите внимание на написание «point-to».
media тип – Тип носителя, зависящий от драйвера.
hwaddress класс адрес – Аппаратный (mac) адрес. Класс – это одно из следующих значений: ether, ax25, ARCnet или netrom. Адрес зависит от выбранного класса.
mtu размер – Размер MTU.
Метод manual
Этот метод может использоваться для описания интерфейсов, для которых нет настроек применяемых по умолчанию. Такие интерфейсы могут настраиваться вручную, подразумеваемыми командами up и down, или сценариями из каталогов /etc/network/if-*.d.
Метод dhcp
Этот метод может использоваться для получения адреса через DHCP любым из перечисленных инструментов: dhclient, pump, udhcpc, dhcpcd. (Они были перечислены в порядке их приоритета.) Если у вас сложная конфигурация DHCP, вам следует знать, что некоторые из клиентов используют собственные настроечные файлы и не получают настроечную информацию посредством ifup.
Опции:
hostname имя_узла – Запрашиваемое имя узла (pump, dhcpcd, udhcpc).
leasehours часы_аренды – Предпочитаемое время аренды в часах (pump).
leasetime время_аренды – Предпочитаемое время аренды в секундах (dhcpcd).
vendor производитель – Идентификатор класса производителя (dhcpcd).
client клиент – Индетификатор клиента (dhcpcd, udhcpc).
hwaddress класс адрес – Аппаратный адрес. Класс – это одно из следующих значений: ether, ax25, ARCnet или netrom. Адрес зависит от выбранного класса.
Метод bootp
Метод может использоваться для получения адреса через bootp.
Опции:
bootfile файл – Сообщает серверу какой файл использовать в качестве загрузочного.
server адрес – Использовать указанный IP адрес для связи с сервером.
hwaddr addr – Использовать аппаратный адрес addr вместо реального.
Метод ppp
Этот метод использует pon/poff для настройки интерфейса PPP. Обратитесь к этим командам за подробностями.
Опции – provider имя – Использовать имя в качестве провайдера (из /etc/ppp/peers).
Метод wvdial
Этот метод использует wvdial для настройки интерфейса PPP. Обратитесь к этой команде за подробностями.
Опции:
provider имя – Использовать имя в качестве провайдера (из /etc/ppp/peers).
Семейство адресов IPX
Этот раздел описывает методы, доступные для семейства адресов ipx.
Метод static
Этот метод может использоваться для настройки интерфейса IPX. Он требует команду ipx_interface.
Опции:
frame тип – Тип используемых кадров Ethernet (например 802.2).
netnum идентификатор – Номер сети.
Метод dynamic
Этот метод может использоваться для динамической настройки интерфейса IPX.
Опции:
frame тип – Тип используемых кадров Ethernet (например 802.2).
Семейство адресов INET6
Этот раздел описывает методы, доступные для семейства адресов inet6.
Метод loopback
Этот метод может использоваться для описания интерфейса обратной петли IPv6.
Метод static
Этот метод может использоваться для описания интерфейсов со статически назначенными IPv6 адресами.
Опции:
address адрес – Необходимый адрес (разделенный двоеточиями).
netmask маска_сети – Необходимая сетевая маска (количество бит, например 64).
gateway адрес – Шлюз по умолчанию (разделенный двоеточиями).
media тип – Тип носителя, зависящий от драйвера.
hwaddress класс адрес – Аппаратный адрес. Класс – это одно из следующих значений: ether, ax25, ARCnet или netrom. Адрес зависит от выбранного класса.
mtu размер – Размер MTU.
Метод manual
Этот метод может использоваться для описания интерфейсов, для которых нет настроек применяемых по умолчанию. Такие интерфейсы могут настраиваться вручную, подразумеваемыми командами up и down, или сценариями из каталогов /etc/network/if-*.d.
Метод v4tunnel
Этот метод может использоваться для настройки туннеля IPv6-over-IPv4. Для него необходима команда ip из пакета iproute.
Опции:
address адрес – Адрес (разделенный двоеточиями).
netmask маска_сети – Маска сети (количество бит, например 64).
endpoint адрес – Необходимый адрес удалённой точки туннеля (IPv4 – четвёрка чисел, разделённых точками).
local адрес – Адрес локальной точки (IPv4 – четвёрка чисел, разделённых точками).
gateway адрес – Шлюз по умолчанию (разделенный двоеточиями).
ttl время – Настройка TTL.
Известные ошибки/ограничения
ifup и ifdown работают с так называемыми «физическими» именами интерфейсов. Эти имена обозначены оборудованию ядром. К несчастью может случиться так, что ядро каждый раз будет назначать разные имена физических интерфейсов одному и тому же оборудованию; например, тот что называется «eth0″ после перезагрузки может называться «eth1″ или наоборот. Это создаёт проблему, если вы хотите настроить интерфейсы соответствующим образом. Для избежания подобного следует использовать сцеанрии отображения, которые выбирают логические имена интерфейсов в соответствии со свойствами аппаратного интерфейса. Смотри сценарий get-mac-address.sh из каталога примеров, который является примером такого сценария отображения. Смотри также Debian bug #101728.
В настоящее время невозможно разделить /etc/network/interfaces на различные файлы. Возможность, которая сделает это возможным, это некая разновидность директивы включения. В текущей программе ifupdown это не возможно. За более подробной информацией обратитесь Debian bug #159884.
Автор
Комплекс программ ifupdown был написан Энтони Таунсом (Anthony Towns) . Это руководство предоставлено Джо Хессом (Joey Hess) .
Смотри также
ifup(8), iwconfig(8), run-parts(8)
Для получения консультаций по настройке этого пакета читайте главу Сетевая Настройка из справочного руководства Debian, который доступен по адресу http://www.debian.org/doc/manuals/reference/ch-gateway.en.html или в пакете debian-reference-en.
Примеры настройки interfaces вы можете найти в /usr/share/doc/ifupdown/examples/network-interfaces.
Обсуждение