ryg

Команда ifconfig в терминале в Mac OS X.

Синтаксис:

     ifconfig [-L] [-m] [-r] interface [create] [address_family] [address [dest_address]] [parameters]
     ifconfig interface destroy
     ifconfig -a [-L] [-d] [-m] [-r] [-u] [-v] [address_family]
     ifconfig -l [-d] [-u] [address_family]
     ifconfig [-L] [-d] [-m] [-r] [-u] [-v] [-C]
     ifconfig interface vlan vlan-tag vlandev iface
     ifconfig interface -vlandev iface
     ifconfig interface bonddev iface
     ifconfig interface -bonddev iface
     ifconfig interface bondmode lacp | static

Описание:

Утилита ifconfig предназначена для настройки параметров сетевого интерфейса и назначения сетевого адреса компьютера. Изменение конфигурации сетевого интерфейса доступно только супер-пользователям.

Параметры:

address 
Возможно описание адреса в "точечной" нотации. Также возможно написание адреса в CIDR (слэш нотации), для указания маски, например 192.168.0.1/16.
Для семейства "inet6" также можно указывать длину префикса в слэш нотации, например ::1/128. Данный вариант описан в параметре prefixlen.
Для задания MAC адреса ("link") он может быть описан как серия шестнадцатеричных чисел разделенных двоеточиями.
 
address_family
Указывает тип адреса (семейство), который влияет на все остальные параметры. Так как адрес (address) может быть описан различными способами, то желательно использование данного параметра.
В настоящее время поддерживаются следующие варианты адресов:
inet
inet6
link.
По умолчанию задан "inet". Значения "ether" и "lladr" являются синонимами "link".
dest_address
Указывает на существующий адрес для связи.
interface Имя сетевого устройства, например "en0". 

 

Следующие параметры настройки сети могут быть установлены с помощью ifconfig&
 
add  Синоним параметра alias. добавлен для совместимости с BSD/OS.
alias
Установить дополнительный сетевой адрес для указанного интерфейса. Это иногда полезно, когда изменяется номер сети и никто не хочет принимать пакеты адресованные на старый интерфейс. Если новый адрес находится в той же подсети, что и старый, то должна быть задана маска сети не вызывающая конфликтов. Обычно подходящей является 0xffffffff.
-alias Удалить сетевой адрес. В случае задания некорректного псевдонима (alias) или если он больше не нужен. Если вы неправильно зададите NS адрес, то снятие все NS адресов, позволит вам восстановить узел.
anycast  Только для inet6. Определяет, что адрес может быть произвольным. Основываясь на текущей спецификации, любой роутер может быть настроен с произвольными адресами. Произвольные адреса не будут использоваться как исходящие для любых отправляемых пакетов IPv6.
arp Разрешить использование протокола ARP (Address Resolution Protocol) в сопоставлении адресов сетевого уровня и адресов уровня связи  (link level). Используется для сопоставления интернет адресов (DARPA) и MAC адресов (IEEE 802 48-bit).
-arp Запрещает использование протокола ARP.
broadcast
 (Только Inet) Задает адрес для использования в качестве широковещательного. По умолчанию все биты в части адреса хоста имеют значение 1.  
 
debug Включить режим отладки. Зависит от драйвера и выводит на консоль дополнительные сообщения об ошибках
-debug Отключает режим отладки
delete Синоним параметра -alias
down Пометить данный интерфейс как "отключённый" (down). В этом режиме система не будет пытаться передавать сообщения через него. Если это возможно, то интерфейс будет отключен и на прием.
ether  Синоним параметра lladdr.
lladr addr Устанавливает адрес-ссылку уровня интерфейса. Может быть использован для установки нового MAC адреса, хотя механизм описан как не Ethernet. Адреса addr описываются последовательностью шестнадцатеричных чисел, разделенных двоеточиями. Если применить команду на работающий интерфейс, сначала он будет "опущен", а потом поднят снова. Данное действие необходимо, чтобы убедиться, что значение фильтра получено, и оборудование работает корректно и успешно перепрограммировано. 
media type
Задает сетевому устройству тип носителя или разъема. Установка типа возможна не для всех устройств, например, если сетевая карта имеет два коннектора "витая пара" или "коаксиальный кабель", то один из них может быть выбран.
 
 mediaopt opts
Если драйвер поддерживает выбор типа носителя (media type), то данный параметр утилиты ifconfig может задавать дополнительные параметры для устройства. Задаются через запятую.
 
-mediaopt opts Отключает параметры носителя (media type).
rxcsum, txcsum Используется в случае, если драйвер поддерживает настраиваемую пользователем выгрузку полученных (отправленных) контрольных сумм. Некоторые драйверы не могут управлять данными флагами по отдельности.
-rxcsum, -txcsum Данные параметры отключают выгрузку полученных (rxcsum) или отправленных (txcsum) контрольных сумм. Не все драйверы позволяют данное действие, некоторые драйверы не позволяют отключение или включение этих флагов по отдельности. 
tso Если драйвер поддерживает в tcp(4), то включить интерфейс TSO. Некоторые драйверы не могут одновременно поддерживать TSO для ip и ip6.
-tso Отключить TSO в интерфейсе. Отключается одновременно и для ip и для ip6.
lro
Включить LRO если это поддерживает драйвер.
-lro Выключить LRO если это поддерживает драйвер.
av
Если это поддерживает драйвер, то включить 802.1 AVB.
-av Если это поддерживает драйвер, то отключить 802.1 AVB.
vlanmtu, vlanhwtag В случае если драйвер поддерживает настройку пользователем VLAN, включить прием расширенных фреймов (vlanmtu) или аппаратную обработку тегов (vlanhwtag). Необходимо правильно указать на физический интерфейс, а не на vlan.
-vlanmtu,
 -vlanhwtag
В случае если драйвер поддерживает настройку пользователем VLAN, отключить прием расширенных фреймов (vlanmtu) или аппаратную обработку тегов (vlanhwtag).
create
Создать сетевое псевдо-устройство. Если задать интерфейс без номера, то будет создано новое устройство с любым свободным номером. Если создание прошло успешно, то новое имя будет показано в стандартном выводе.
destroy Удалить заданное сетевое псевдо-устройство.
plumb Синоним create. Добавлено для совместимости с ОС Solaris.
unplumb Синоним destroy. Добавлено для совместимости с ОС Solaris. 
metric n Задает уровень маршрутизации для интерфейса в значение n (по умолчанию 0). Высокий уровень делает маршрут менее удобным. Понятие уровень маршрутизации используется протоколом маршрутизации (routed(8)) и считается по количеству узлов на пути к целевому серверу.
mtu n Установить MTU (maximum transmission unit) для заданного интерфейса в n. MTU используется для ограничения максимального размера пакетов. Не все интерфейсы поддерживают MTU и некоторые интерфейсы поддерживают диапазоны.
netmask mask
Определяет, какая часть адреса используется для разделения сетей на подсети. Маска включает в себя часть локального адреса и часть адреса получаемого от сервера. Она может быть задана  шестнадцатеричным числом с начальными символами 0x, в виде интернет адреса с разделителями точками, псевдонима сети, указанного в таблице сетей networks(5). В 32 битном адресе маска содержит 1 для битов, которые используются для сети или подсети и 0 для части адреса, которую использует хост. Маска сети может быть задана в формате CDIR. Пример:
netmask 255.255.255.0
prefixlen len Задает len бит зарезервированных для разделения сетей на подсети. len целое число и может быть от 0 до 128. По текущим правилам для ip6 bcgjkmpetncz 64. Также len может быть задана с после косой черты в написании адреса.
remove
Синоним -alias. Добавлен для совместимости BSD/OS.
link[0-2]
Включить специальный режим обработки ссылок на уровне интерфейса. Эти три уровня имеет специальные режимы обработки. Например, включение сжатия SLIP или для некоторых сетевых карт выбор типа разъема. Необходимо смотреть документацию по драйверу и сетевой карте.
-link[0-2]
Отключает обработку.
up Поднять интерфейс. Может использоваться после команды "down".
bonddev iface Устанавливает связь одного устройства с другим
tunnel src_addr dest_addr Устанавливает туннель между источником   src_addr и получателем dest_addr .
-tunnel Отключает туннель
deletetunnel Аналог -tunnel
   

Следующие параметры предназначены для интерфейсов моста.

addm interface Добавить указанный интерфейс interface как участника моста. Интерфейc будет работать в режиме прослушивания и сможет получать все пакеты, отправляемые в сеть.
deletem interface Отключить интерфейс
maxaddr size Установить размер кэша для адресов мостового соединения. По умолчанию 100 записей.
timeout seconds Установить тайм-аут хранения записей адресов в кэше. По умолчанию 240 секунд. 
addr Показать адреса используемые в построении моста
static interface-name address Добавить статическую запись в кэш адресов с именем интерфейса. Статические записи никогда не устаревают и заменяются.
deladdr address Удалить адрес из кэша
flush Удалить все динамические адреса из кэша адресов
flushall Полностью очистить кэш адресов, включая статические.
discover interface Пометить интерфейс как "discovering''. Когда мост не имеет записей адресов в кэше (обоих типов), то мост будет переадресовывать пакеты интерфейсам помеченным как "discovering''. По умолчанию все добавляемые интерфейсы имеют такой признак.
-discover interface Снять признак "discovering'' с указанного интерфейса.
learn interface Установить признак обучения  "learning'' для интерфейса. Когда пакет данных поступает на такой интерфейс, то кэш записывается адрес получателя. По умолчанию для всех добавляемых к мосту интерфейсов.
-learn interface Отключить признак обучения  "learning'' для интерфейса.
sticky interface Установить для интерфейса признак "sticky". Динамически получаемые адреса записываются кэше как статические. 
-sticky interface Отключить для интерфейса признак "sticky".
private interface Поставить метку "private" для интерфейса. В этом случае интерфейс не будет перенаправлять трафик на какой-либо порт.
-private interface Снять метку "private" для интерфейса.
span interface Добавить интерфейс как диапазон портов (span-port) к мосту. Span ports передают копию каждого фрейма полученного по мосту. Это удобно для пассивного просмотра мостового соединения с другим хостом.
-span interface Удалить указанный интерфейс из списка span портов моста.
stp interface Включить протокол Spanning Tree для интерфейса, в том случае если драйвер поддерживает IEEE 802.1D Spanning Tree protocol (STP). Данный протокол используется для обнаружения и удаления циклов (петель) в топологии сети.
-stp interface Отключить STP протокол. По умолчанию для всех добавляемых протоколов к мосту.
edge interface Установить интерфейс как "пограничный порт". Подключается на конечных станциях и не позволяет создавать петли (loop) в сети.
-edge interface Отключить протокол
autoedge interface Разрешить автоматически включать edge. Этот параметр автоматически устанавливается для всех добавляемых интерфейсов.
-autoedge interface Запретить автоматическое включение edge
ptp interface Установить интерфейс как связь точа-точка.
-ptp interface Отключить режим point-to-point
autoptp interface Автоматически определять связи "точка-точка" для интерфейса, проверяя статус соединения как полнодуплексные. Устанавливается по умолчанию для всех интерфейсов, которые добавляются к мосту.
-autoptp interface Выключить autoptp
maxage seconds Установить время жизни протокола STP. Допустимый диапазон от 6 до 40 секунд. По умолчанию 20 секунд.
fwddelay seconds Установить время ожидания перед пересылкой пакетов, если включен STP протокол По умолчанию 15 секунд, значение может колебаться от 4 до 30 секунд
hellotime seconds Установить интервал между вещанием STP и сообщением настройки. Может быть изменено в диапазоне 1-2 секунды.
priority value Установить приоритет моста для STP. По умолчанию 32768, могут принимать значения от 0 до 61440.
proto value Установить тип STP. Value может иметь значения stp или rstp (по умолчанию).
holdcnt value Установить ограничение количества пакетов для Spanning Tree перед ограничением скорости. Может быть от 1 до 10 (по умолчанию 6).
ifpriority interface value Установить приоритет Spanning Tree для интерфейса. По умолчанию 128 (может быть от 0 до 240).
ifpathcost interface value Установить значение стоимости маршрута Spanning Tree для интерфейса. Рассчитывается в зависимости от скорости соединения. Чтобы изменить ранее выбранный путь, необходимо автоматически, нужно установить значение 0. Минимальное значение 1, максимальное 200000000.
ifmaxaddr interface size Установить максимальное количество разрешенных узлов для интерфейса. Чтобы отключить необходимо указать 0.

 

Следующие параметры предназначены для настройки vlan

vlan vlan_tag Установить значение метки VLAN. Это 16-битное число, используемое при создании заголовков отправляемых пакетов.  Vlan и vlandev должны устанавливаться одновременно.
vlandev iface Связать физический интерфейс iface с vlan интерфейсом. Пакеты, передаваемые через VLAN, будут переадресовываться на указанный интерфейс инкапсуляцией VLAN  802.1Q. 
-vlandev [iface] Отвязать vlan псевдоустройство от физического интерфейса iface. 

В случае если не передаются никакие параметры, то утилита ifconfig показывает текущую конфигурацию сетевого интерфейса. Если указано семейство протоколов, то будет выведена информация, связанная с ними.

Если перед именем интерфейса указан флаг -m, то ifconfig выведет список возможностей и данные media по указанному интерфейсу.
Если использован параметр -L, то показывается время жизни адреса IPv6 и строка смещения времени.
Необязательный параметр -a заставляет показать информацию обо всех доступных системе интерфейсах. Параметр -d даст информацию об отключенных интерфейсах, а -u о включенных.
 

параметр -l выводит на экран список доступных интерфейсов, без какой-либо дополнительной информации. Этот ключ не может работать с другими параметрами, кроме -d и -u.

Параметр -v используется для вывода максимально полной информации об интерфейсе.
Параметр -C используется для получения списка всех клонированных интерфейсов. Не работает с остальными параметрами.

Параметр -r выводит дополнительную информацию о связанной с маршрутизацией сетевого интерфейса.

Примеры:

Назначить IPv4 адрес 192.168.2.15 с сетевой маской 255.255.255.0 для интерфейса (устройства) en0:

sudo ifconfig en0 inet 192.168.2.15 netmask 255.255.255.0

Добавить сетевой адрес 192.168.2.45 с CDIR префиксом /28 для интерфейса en0:

sudo ifconfig en0 inet 192.168.2.45/28 add
Удалить 192.168.2.45 для интерфейса en0:
sudo ifconfig en0 inet 192.168.2.45 -alias

Связанные команды:

ipconfig - настрить сетевые параметры на время сеанса.
scutil - Управление параметрами системы и сети.
netstat -Показать маршруты и состояние сетевых соединений.
hostname - показать имя хоста
ping  -проверить сетевое соединение и отклик удаленного сервера
traceroute - проверить маршрут к удаленному серверу

 

Алфавитный список команд terminal в Mac OS X