Команда ifconfig позволяет устанавливать или определять значения настройки сетевых интерфейсов. Независимо от разработчика и версии Unix, команда ifconfig устанавливает IP-адрес, маску подсети и широковещательный адрес для каждого интерфейса. Самой существенной функцией является назначение IP-адреса.

Вот команда ifconfig, выполняющая настройку интерфейса Ethernet в системе Solaris:

  • ifconfig dneto 172.16.12.2 netmask 255.255.255.0 broadcast 172.16.12.255

Команда ifconfig может иметь и другие аргументы; некоторые из них мы обсудим позже. Основная же информация, необходимая для функционирования TCP/IP, одинакова для всех сетевых интерфейсов:

интерфейс - Имя сетевого интерфейса, подлежащего настройке для работы с TCP/IP. В приведенном примере это интерфейс Ethernet по имени dnet0.

адрес - IP-адрес, назначенный интерфейсу. Адрес может указываться в десятичной записи через точку или в виде имени узла. В последнем случае следует создать в файле /etc/hosts запись для имени узла и соответствующего адреса. Система должна иметь возможность найти имя узла в /etc/hosts, поскольку ifconfig обычно выполняется до запуска службы DNS. В примере использован численный IP-адрес 172.16.12.2.

netmask-маска - Адресная маска для интерфейса. Обойтись без этого аргумента можно только в том случае, если используется маска по умолчанию, получаемая из обычной классовой структуры адресов. Адресная маска для нашей воображаемой сети - 255.255.255.0, именно это значение и назначается интерфейсу dnetO. Адресные маски описаны в главах 2 и 4.

broadcast-адрес - Широковещательный адрес сети. В большинстве систем применяется стандартный широковещательный адрес, то есть IP-адрес, все биты раздела узла которого установлены в значение 1. В приведенном примере мы указываем широковещательный адрес явным образом (172.16.12.255), чтобы избежать путаницы, несмотря на то, что система Solaris 8 по умолчанию установит корректный широковещательный адрес. Все системы одной подсети должны пользоваться одним и тем же широковещательным адресом.

В приведенном примере мы воспользовались парами параметр/значение, чтобы упростить объяснение и сделать более прозрачным синтаксис. Однако Solaris не требует применения такого синтаксиса. Следующая (гораздо более краткая) команда делает то же самое, что и предыдущая:

  • ifconfig dnetO 172.16.12.2/24

В этой команде маска сети определена при помощи адресного префикса, а широковещательный адрес определяется значением по умолчанию. Длина префикса 24 соответствует маске 255.255.255.0. Умолчание для широковещательного адреса при такой длине префикса - 172.16.12.255.

Значения адреса, маски подсети и широковещательного адреса поступают от администратора сети. Значения нашего примера взяты прямо из планов, разработанных в главе 4. Но имя интерфейса, выступающее в роли первого аргумента любой команды ifconfig, определяется системой во время загрузки.