OpenXS Russian Man Pages |
![]() |
![]() |
![]() |
Команды сопровождения |
ifconfig(1M) |
ifconfig - конфигурирование параметров сетевого интерфейса
/sbin/ifconfig интерфейс [семейство_адресов] [адрес [/длина_префикса] [целевой_адрес]] [addif адрес [/длина_префикса]] [removeif адрес [/длина_префикса]] [arp | -arp] [auth_algs алгоритм_аутентификации] [encr_algs алгоритм_шифрования] [encr_auth_algs алгоритм_аутентификации] [auto-revarp] [broadcast адрес] [deprecated | -deprecated] [destination целевой_адрес] [[failover] | [-failover]] [group [[имя] | ""]] [index {if_index}] [metric n] [modlist] [modinsert имя_модуля@позиция] [modremove имя_модуля@позиция] [mtu n] [netmask маска] [plumb] [unplumb] [private | -private] [nud | -nud] [set [адрес] [/маска_сети]] [[standby] | [-standby]] [subnet адрес_подсети] [tdst целевой_адрес_тоннеля] [tsrc исходный_адрес_тоннеля] [trailers | -trailers] [up] [down] [xmit | -xmit] /usr/sbin/ifconfig интерфейс [семейство_адресов] [адрес [/длина_префикса] [целевой_адрес]] [addif адрес [/длина_префикса]] [removeif адрес [/длина_префикса]] [arp | -arp] [auth_algs алгоритм_аутентификации] [encr_algs алгоритм_шифрования] [encr_auth_algs алгоритм_аутентификации] [auto-revarp] [broadcast адрес] [deprecated | -deprecated] [destination целевой_адрес] [[failover] | [-failover]] [group [[имя] | ""]] [index {if_index}] [metric n] [modlist] [modinsert имя_модуля@позиция] [modremove имя_модуля@позиция] [mtu n] [netmask маска] [plumb] [unplumb] [private | -private] [nud | -nud] [set [адрес] [/маска_сети]] [[standby] | [-standby]] [subnet адрес_подсети] [tdst целевой_адрес_тоннеля] [tsrc исходный_адрес_тоннеля] [trailers | -trailers] [up] [down] [xmit | -xmit] /sbin/ifconfig интерфейс {auto-dhcp | dhcp} [primary] [wait секунд] drop | extend | inform | ping | release | start | status /usr/sbin/ifconfig интерфейс {auto-dhcp | dhcp} [primary] [wait секунд] drop | extend | inform | ping | release | start | status
Команда ifconfig используется для присвоения адреса сетевому интерфейсу и для конфигурирования параметров сетевого интерфейса. Команду ifconfig необходимо использовать при загрузке для задания сетевого адреса каждого из имеющихся на машине интерфейсов; ее можно также использовать в дальнейшем для переопределения адреса или других параметров работы интерфейса. Если опции не указаны, команда ifconfig выдает текущую конфигурацию сетевого интерфейса. Если семейство адресов задано, команда ifconfig выдает только информацию, связанную с соответствующим семейством адресов. Только суперпользователь может изменять конфигурацию сетевого интерфейса. Если опции указаны в фигурных скобках ({}), одну из них надо обязательно указать.
Две версии команды ifconfig, /sbin/ifconfig и /usr/sbin/ifconfig, работают по разному со службами имен. Порядок разрешения имен утилитой /sbin/ifconfig при загрузке системы фиксирован и не может быть изменен. Напротив, изменение файла конфигурации /etc/nsswitch.conf может повлиять на работу программы /usr/sbin/ifconfig. Системный администратор может сконфигурировать источники информации и порядок их просмотра за счет переключения службы имен. Подробнее об этом см. на странице справочного руководства nsswitch.conf(4).
Третья и четвертая форма этой команды используются для конфигурирования интерфейса по протоколу Dynamic Host Configuration Protocol (DHCP). Конфигурирование по DHCP возможно только для интерфейсов, для которых заданы адреса семейства inet. В этом режиме команда ifconfig используется для управления работой dhcpagent(1M), клиентского демона DHCP. После того, как интерфейс передан под управление DHCP с помощью опции start, команда ifconfig, при обычной работе, не должна использоваться для изменения адреса или характеристик интерфейса. Если адрес интерфейса, работающего под управлением DHCP, изменен, программа dhcpagent перестанет управлять им.
Поддерживаются следующие опции:
могут привести к установке различных широковещательных адресов для интерфейсов.
При вызове для логического интерфейса с идентификатором ноль, среди информации о статусе выдается имя группы.
Позиция 0 означает вставку в самом начале потока.
Продолжая пример, представленный в описании опции modlist, следующая команда позволит вставить модуль ipqos после модуля ip и перед модулем firewall:
example% ifconfig hme0 modinsert ipqos@2
После этого список модулей в потоке устройства будет таким:
example% ifconfig hme0 modlist 0 arp 1 ip 2 ipqos 3 firewall 4 hme
В следующем примере выдаются все модули в потоке устройства:
example% ifconfig hme0 modlist 0 arp 1 ip 2 firewall 4 hme
Продоложая пример, представленный в описании опции modinsert, с помощью следующей команды можно удалить модуль firewall из потока после уставки модуля ipqos:
example% ifconfig hme0 modremove firewall@3
После этого список модулей в потоке устройства будет иметь следующий вид:
example% ifconfig hme0 modlist 0 arp 1 ip 2 ipqos 3 hme
Учтите, что базовые модули IP-стека, например, модули ip и tun, удалить нельзя.
Если в качестве значения маски сети указан знак "+" (плюс), маска ищется в базе данных netmasks(4). При этом поиске находится самая длинная соответствующая маска сети в базе данных, начиная с IPv4-адреса интерфейса и последовательно маскируя в нем младшие биты. Этот итеративный поиск гарантирует, что можно будет использовать базу данных netmasks(4), когда в пределах сети используются маски подсетей переменной длины.
Если в качестве значения netmask передан псевдоним хоста или сети, данные netmask ищутся в базе данных хостов или сетей. Имена ищутся сначала с помощью функции gethostbyname(3NSL). Если так имя найти не удалось, оно ищется с помощью функции getnetbyname(3SOCKET). Эти функции, в свою очередь, могут использовать файл nsswitch.conf(4) для определения того, их каких источников получать соответствующее значение.
Для обоих семейств протоколов, inet и inet6, информацию, задаваемую маской, можно также указывать как параметр длина_префикса, добавляемый через косую после параметра адрес.
Пока к интерфейсу не будет применена опция plumb, он не выдается в результатах команды ifconfig -a.
Состояние интерфейса выдается как "STANDBY, INACTIVE", т.е. интерфейс находится в режиме ожидания и не активен. Флаг IFF_INACTIVE будет сброшен, если в следствие сбоя на одном из интерфейсов той же многопоточной группы доступ пойдет через этот ждущий интерфейс. Когда работа исходного интерфейса будет восстановлена, состояние интерфейса снова станет INACTIVE.
Операнд интерфейс, а также параметры адреса для него, описаны далее.
Если имя интерфейса начинается с дефиса (-), оно интерпретируется как набор опций, задающий набор интерфейсов. В этом случае среди опций должна быть опция -a, а остальные представленные ниже опции могут указываться в любом порядке. Если указано одно из таких имен интерфейса, указанные опции применяются ко всем соответствующим интерфейсам.
Для семейства IPv6 (inet6), адрес задается либо как имя хоста, указанное в базе данных имен хостов (см. ipnodes(4)) или в карте ipnode сетевой информационной службы (Network Information Service - NIS), либо как адрес IPv6 в стандартном для Internet шестнадцатеричном виде через двоеточия, x:x:x:x:x:x:x:x, где x - шестнадцатеричное число от 0 до FFFF.
Для обоих семейств адресов можно указывать Ethernet-адрес в виде x:x:x:x:x:x, где x - шестнадцатеричное число от 0 до FF.
Многие, хотя и не все, сетевые карты Ethernet имеют собственные адреса. Использование карт, не имеющих собственных адресов, описано в разделе 3.2.3(4) спецификации IEEE 802.3, где дается определение локально администрируемого адресного пространства. Группы интерфейсов должны организовываться только на картах, имеющих собственные адреса (см. раздел ГРУППЫ ИНТЕРФЕЙСОВ).
Стек протоколов Solaris TCP/IP позволяет связывать с одним физическим сетевым интерфейсом несколько логических интерфейсов. Это дает возможность задать несколько IP-адресов для одной машины, даже если она имеет всего один сетевой интерфейс. Физические сетевые интерфейсы имеют имена в виде <имя драйвера><номер физического устройства>, а логические - в виде <имя драйвера><номер физического устройства>:<номер логического устройства>. Физический интерфейс конфигурируется в системе с помощью команды plumb. Например:
example% ifconfig le0 plumb
После инициализации физического интерфейса с помощью plumb, можно конфигурировать связанные с ним логические интерфейсы с помощью отдельных вызовов команды ifconfig с опциями plumb или addif. Например, команда:
example% ifconfig le0:1 plumb
выделяет указанный логический интерфейс, связанный с физическим интерфейсом le0. Команда:
example% ifconfig le0 addif 192.9.200.1/24 up
выделяет следующий доступный логический номер экземпляра (logical unit number) на физическом интерфейсе le0 и назначает ему указанный адрес с соответствующей длиной_префикса.
Для логического интерфейса можно сконфигурировать параметры (адрес, длину_префикса и т.д.), отличающиеся от параметров физического интерфейса, с которым он связан. Логические интерфейсы, связанные с одним и тем же физическим интерфейсом, тоже могут иметь разные параметры. Каждый логический интерфейс должен быть связан с существующим и работающим (up) физическим интерфейсом. Так, например, логический интерфейс le0:1 можно конфигурировать после инициализации физического интерфейса le0.
Для удаления логического интерфейса используются опции unplumb или removeif. Например, команда:
example% ifconfig le0:1 down unplumb
удалит логический интерфейс le0:1.
Если интерфейс (логический или физический) имеет IP-префикс, совпадающий с префиксом другого интерфейса, эти интерфейсы собираются в группу интерфейсов. IP-протокол использует группу интерфейсов для циклического выбора исходного адреса когда он не задан, и, при наличии в группе нескольких физических адресов, для распределения передаваемой на один целевой адрес (per-IP-destination) информации по различным IP-адресам. Подробнее о передаваемой на один целевой адрес информации см. на странице справочного руководства netstat(1M).
Группировку можно включить с помощью команды ndd(1M).
Ключевое слово group можно также использовать для формирования многопоточной (multipathing) группы. При использовании многопоточных групп возможности обычной группы интерфейсов тоже реализуются. Многопоточная группа обеспечивает также выявление сбоев и восстановления интерфейсов в группе. См. in.mpathd(1M) и System Administration Guide, Volume 3.
Группы интерфейсов, сформированные с помощью ndd(1M), в дальнейшем перестанут поддерживаться. Поэтому рекомендуется формировать многопоточные группы с помощью ключевого слова group.
Когда физический интерфейс IPv6 инициализируется (plumb) и конфигурируется как работающий (up) с помощью ifconfig, ему автоматически присваивается локальный адрес связи (link-local address) IPv6, в котором последние 64 бита вычисляются на основе MAC-адреса интерфейса.
ifconfig le0 inet6 plumb up
Следующий пример показывает, что локальный адрес связи имеет префикс fe80::/10.
example% ifconfig le0 inet6 le0: flags=2000841<UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2 inet6 fe80::a00:20ff:fe8e:f3ad/10
Если в локальной сети существует "рекламирующий" (advertising) маршрутизатор IPv6, информирующий о префиксах, для вновь проинициализированного интерфейс IPv6 будут автоматически конфигурироваться логические интерфейсы для полученных префиксов. Например, если получена информация о префиксах fec0:0:0:55::/64 и 3ff0:0:0:55::/64, автоматически будут сконфигурированы следующие интерфейсы:
le0:1: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2 inet6 fec0::55:a00:20ff:fe8e:f3ad/64 le0:2: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2 inet6 3ff0::55:a00:20ff:fe8e:f3ad/64
Даже если информация о префиксах из сети не поступает, можно присвоить локальные и глобальные адреса вручную, например:
example% ifconfig le0 inet6 addif fec0::55:a00:20ff:fe8e:f3ad/64 up example% ifconfig le0 inet6 addif 3ff0::55:a00:20ff:fe8e:f3ad/64 up
Чтобы задать стандартные значения для интерфейса le0 во время загрузки, поместите следующие записи в файл /etc/hostname6.le0:
addif fec0::55:a00:20ff:fe8e:f3ad/64 up addif 3ff0::55:a00:20ff:fe8e:f3ad/64 up
Локальные адреса связи используются только для взаимодействия в локальной сети и в других подсетях не видны.
Тоннельный интерфейс IPv6 поверх IPv4 позволяет посылать и получать пакеты IPv6, инкапсулированные в пакеты IPv4. Создайте тоннели на обеих сторонах соединения, указывающие друг на друга. Тоннели IPv6 поверх IPv4 требуют указания для тоннеля исходных и целевых адресов IPv4 и IPv6. ОС Solaris 8 поддерживает как автоматическое, так и ручное конфигурирование тоннелей. Для автоматически конфигурируемых тоннелей используется IPv4-совместимый адрес IPv6. Ниже продемонстрировано автоматическое конфигурирование тоннеля:
example% ifconfig ip.atun0 inet6 plumb example% ifconfig ip.atun0 inet6 tsrc <IPv4-address> \ ::<IPv4 address>/96 up
где первый IPv4-address - это IPv4-адрес интерфейса, через который будет передаваться информация тоннеля, а второй IPv4-адрес, ::<IPv4-address>, - соответствующий IPv4-совместимый адрес IPv6.
Вот пример создания сконфигурированного тоннеля:
example% ifconfig ip.tun0 inet6 plumb tsrc <my-ipv4-address> \ tdst <peer-ipv4-address> up
Эта команда создает сконфигурированный тоннель между локальным my-ipv4-address и удаленным peer-ipv4-address адресами с соответствующими локальными адресами связи. Для тоннелей с глобальными адресами или локальными адресами сайта (site-local addresses), логические интерфейсы тоннеля должны конфигурироваться в следующем виде:
ifconfig ip.tun0 inet6 addif <my-v6-address> <peer-v6-address> up
Например:
example% ifconfig ip.tun0 inet6 plumb tsrc 109.146.85.57 \ tdst 109.146.85.212 up example% ifconfig ip.tun0 inet6 addif 2::45 2::46 up
Чтобы получить информиацию о всех работающих и сконфигурированных интерфейсах IPv6, выполните следующую команду:
example% ifconfig -au6 ip.tun0: flags=2200851<UP,POINTOPOINT,RUNNING,MULTICAST,NONUD,IPv6> mtu 1480 index 3 inet tunnel src 109.146.85.57 tunnel dst 109.146.85.212 inet6 fe80::6d92:5539/10 --> fe80::6d92:55d4 ip.tun0:1: flags=2200851<UP,POINTOPOINT,RUNNING,MULTICAST,NONUD,IPv6> mtu 1480 index 3 inet6 2::45/128 --> 2::46
Если работчая станция не подключена к сети Ethernet, интерфейс le0 следует пометить как отключенный следующим образом:
example% ifconfig le0 down
Для получения информации об адресах всех интерфейсов используется следующая команда:
example% ifconfig -a
Для переустановки широковещательных адресов всех интерфейсов после правильной установки масок сетей, используется следующая команда:
example% ifconfig -a broadcast +
Для изменения Ethernet-адреса интерфейса le0 используется следующая команда:
example% ifconfig le0 ether aa:1:2:3:4:5
Для конфигурирования тоннеля IP-in-IP, сначала проинициализируйте его с помощью следующей команды:
example% ifconfig ip.tun0 plumb
Затем сконфигурируйте его как двухточечный (point-to-point) интерфейс, пердав исходный и целеворй адреса тоннеля:
example% ifconfig ip.tun0 myaddr mydestaddr tsrc another_myaddr \ tdst a_dest_addr up
Все средства защиты тоннеля необходимо конфигурировать одним вызовом ifconfig:
example% ifconfig ip.tun0 encr_auth_algs md5 encr_algs 3des
Чтобы запросить защиту, не указывая конкртеных алгоритмов, задайте значения any:
example% ifconfig ip.tun0 encr_auth_algs any encr_algs any
Чтобы отключить всю защиту, укажите имя защищенного тоннеля и none в качестве алгоритма:
example% ifconfig ip.tun0 auth_algs noneили
example% ifconfig ip.tun0 encr_algs none
Описание следующих атрибутов см. на странице справочного руководства attributes(5):
ТИП АТРИБУТА | ЗНАЧЕНИЕ АТРИБУТА |
Доступен в пакете | SUNWcsu |
Уровень стабильности опций modlist, modinsert и modremove | Развиваются |
ТИП АТРИБУТА | ЗНАЧЕНИЕ АТРИБУТА |
Доступен в пакете | SUNWcsr |
Уровень стабильности опций modlist, modinsert и modremove | Развиваются |
Команда ifconfig выдает соответствующие сообщения в случаях, когда:
Рекомендуется не использовать в качестве имен хостов имена broadcast, down, private, trailers, up и другие, совпадающие с именами опций. Выбор любой опции ifconfig в качестве имени хоста может привести к странным и трудно выявляемым проблемам.
Последнее изменение: 25 октября 2000 года
Copyleft (no c) - Fuck copyright!, 2003 В. Кравчук, OpenXS Initiative, перевод на русский язык
![]() |
![]() |
![]() |
![]() |
||||
![]() |