dhcp.client

Утилита конфигурирования хоста TCP/IP

Синтаксис:

dhcp.client [-abdmnr] [-h имя_хоста] [-I число] [-i интерфейс] [-P порт] [-p порт] [-s хост] [-T секуны] [-t число] [-u] &

Опции:

-a
Применить назначенный IP-адрес как псевдоним вместо перезаписи текущей конфигурации.
-A число
Количество последовательно неудачных тестов ARP с назначенным адресом до отказа. По умолчанию 5. Значение 0 отключает зондирование ARP.
-b
Запросить у DHCP-сервера передачу ответных пакетов только в адрес соответствующего клиента (по умолчанию запрашивается широковещательная передача).
-D идентификатор
Укажите идентификатор клиента. Идентификатор по умолчанию - MAC-адрес.
-h имя_хоста
Имя хоста клиента (по умолчанию подставляется сервером (при условии наличия имени хоста)).
-H
Не применяйте имя хоста (опция 12) к локальной системе, если предоставляется сервером или указывается параметром -h. Затем параметр -h по-прежнему отправляется на сервер через опцию 12. Отладочная информация записывается в системный журнал.
-i интерфейс
Имя конфигурируемого интерфейса (например, en0, en1). Значение по умолчанию – первый из обнаруженных интерфейсов.
-I число
Количество опросов, ожидающих доступности интерфейса. (по умолчанию 5)
-m
Записать данные resolv.conf как строки конфигурации в памяти (Только в нейтрино, по умолчанию выключено)
-n
Не применять серверы имен, предоставляемые DHCP.
-P порт
Порт сервера DHCP (по умолчанию порт согласно значению dhcp или порт 67).
-p
Порт клиента DHCP (по умолчанию порт согласно значению dhcpc или порт 68).
-R
Не применять маршрут по умолчанию, предоставленный DHCP.
-r
Добавить номер_узла в resolv.conf (по умолчанию выключено)
-S хост
Предпочитаемый сервер. Принимать пакеты только с этого сервера.
-t число
Попытаться связаться с сервером число раз. Каждая попытка длится 1 минуту. (по умолчанию пробовать постоянно)
-T сек
Указать в секундах время ожидания завершения работы клиента (ACK сервера), его согласование с сервером. Применяется каждый раз, когда клиент возвращается к инициализации. dhcp.client завершает работу по таймауту с кодом выхода 3.
-u
Не переходить в фоновый режим, пока интерфейс не настроен
-k
Не устанавливать строку конфигурации CS_DOMAIN (доменное имя) при использовании опции -m.

Платформы:

ЗОСРВ «Нейтрино»

Целевые архитектуры:

aarch64, arm, armv7, e2k, mips, ppc, x86

Описание:


Caution: Эту утилиту может выполнить только пользователь root.

Утилита dhcp.client получает параметры конфигурации TCP/IP от сервера DHCP (Dynamic Host Configuration Protocol, протокол динамического конфигурирования хоста) в динамическом режиме и выполняет автоматическое конфигурирование хоста TCP/IP. Благодаря этому не требуется указывать IP-адрес и другие параметры конфигурации, а также запускать утилиты конфигурирования.


Note: Для этой утилиты в правах доступа пользователя необходимо установить бит setuid ("set user ID", установить идентификатор пользователя). В случае использования утилит mkefs, mketfs или mkifs на хосте Windows для включения этой утилиты в образ необходимо задать атрибут perms для явного определения полномочий, а также атрибуты uid и gid для корректной настройки принадлежности.

При прекращении работы утилита dhcp.client возвращает серверу адрес DHCP, предоставленный этим сервером. Если работа клиента прекращается по сигналу SIGPWR, то возврат адреса не производится; аренда этого адреса завершается по таймауту или продолжается после перезапуска клиента (в зависимости от политик сервера).


Note: Перед запуском утилиты dhcp.client необходимо запустить процесс io-pkt-*.

Минимальный набор команд для выполнения в ЗОСРВ «Нейтрино»:

io-pkt-v4 -dne2000 -ptcpip if_up -p enx dhcp.client & if_up enx

или:

io-pkt-v4 -dne2000 -ptcpip dhcp.client -Ix -u

Если утилита dhcp.client должна назначать IP-адрес в качестве псевдонима (а не заменять текущий назначенный IP-адрес), необходимо указать опцию -a. Эта опция удобна для присвоения одному интерфейсу нескольких IP-адресов. В частности, опцию -a следует указать в том случае, если на одном и том же интерфейсе необходимо использовать утилиту dhcp.client и утилиту AutoIP.

По умолчанию утилита dhcp.client выполняет поиск не сконфигурированного интерфейса для применения соответствующей службы. В случае применения AutoIP все интерфейсы будут заведомо сконфигурированными, поэтому работа утилиты dhcp.client завершится. В случае, если утилита dhcp.client применяется к интерфейсу, уже имеющему IP-адрес, следует указать опцию -i (в сочетании с опцией -a); тогда этому интерфейсу одновременно будут присвоены IP-адреса DHCP и AutoIP.

Данная утилита получает от сервера DHCP и применяет следующую информацию:

/etc/dhcp/dhcp-up

Если этот файл существует, он запускается после установления соединения с сервером DHCP и применения вышеописанных конфигурационных опций. Этот файл может представлять собой двоичную программу или сценарий, и должен быть исполняемым (см. chmod). Если файл является сценарием, то в его первой строке должен быть указан интерпретатор команд. Пример.

#!/bin/sh

Переменные окружения, содержащие полученную от сервера конфигурацию, передаются этому файлу. При запуске этого файла им наследуется не вся среда. Например, переменная среды PATH оказывается недоступной. Для определения доступных переменных можно создать сценарий dhcp-up, например, следующего вида:

#!/bin/sh env > /tmp/config

Переменные окружения:

INTERFACE
Сконфигурированный интерфейс (например, INTERFACE=en0).
IPADDRESS
IP-адрес клиента, полученный от сервера (например, IPADDRESS=10.0.0.1).
NETMASK
Сетевая маска клиента, полученная от сервера (например, NETMASK=255.0.0.0).
HOSTNAME
Имя хоста клиента (например, HOSTNAME=node1).
BROADCAST
Широковещательный адрес клиента, полученный от сервера (например, BROADCAST=10.255.255.255).
GATEWAY
Шлюз, который должен использовать клиент (например, GATEWAY=10.0.0.2).
SERVER
Идентификатор (IP-адрес) сервера DHCP (например, SERVER=10.0.0.3).
NAMESERVER1
NAMESERVER2
Сервер имен, который должен использовать клиент (например, NAMESERVER1=10.0.0.4).
LEASEOBTAINED
Время начала аренды (например, LEASEOBTAINED="Mon Oct 30 16:46:10 2000").
LEASEEXPIRES
Время окончания аренды (например, LEASEEXPIRES="Mon Oct 31 16:46:10 2000").
RELAYAGENT
Агент ретрансляции DHCP обеспечивает пересылку пакетов между утилитой dhcp.client и сервером DHCP, если они находятся в разных сетях. Переменная представляет собой IP-адрес агента ретрансляции, если он существует.
SERVERNAME
Имя хоста сервера DHCP.
DOMAIN
Домен, предоставленный сервером DHCP, для добавления в файл /etc/resolv.conf или в CS_DOMAIN (конфигурационная строка).
SIADDR
Следующий сервер для использования при начальной настройке. Если было указано имя файла (FILENAME), это значение будет получено от сервера.

Ниже перечислены опции, которые доступны для использования, но не применяются процессом dhcp.client:

FILENAME
Имя файла в ответе сервера (например, FILENAME=/bootimg).

Любые другие опции определяются как переменные окружения OPTIONx, где x – номер параметра. Если опция известна, утилита dhcp.client пытается привести ее в читабельный вид. Если опция неизвестна, утилита dhcp.client отображает ее по октетам в шестнадцатеричном виде (например, OPTION200= F1 AA 56 42).

В настоящее время утилите dhcp.client известны опции от 1 до 61.

/etc/dhcp/dhcp-options

В этом файле определяются опции DHCP, которые требуется получать от сервера DHCP. Этот файл необходим только в том случае, если в файл /etc/dhcp/dhcp-up добавляется пользовательская опция DHCP. Если в сценарий dhcp-up добавляется код обработки какой-либо опции, этот параметр необходимо также добавить в файл /etc/dhcp/dhcp-options. Опции, перечисленные в файле dhcp-options, передаются серверу в дополнение к следующим:

которые включает в себя сам процесс dhcp.client.

Пример файла dhcp-options:

200 150 # Комментарий 90

Каждая опция указывается в отдельной строке в порядке приоритета. Комментарии также должны располагаться в отдельных строках; максимальная длина комментария равна 80 символам.

Файлы:

Для работы утилиты dhcp.client требуется разделяемая библиотека libsocket.so.

Возвращаемое значение:

0
Успешно.
1
Возникла ошибка.
2
Интерфейс не найден.
3
Сервер не отвечает.

Ошибки:

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

Классификация:

Базовые подсистемы ЗОСРВ «Нейтрино»

Тематические ссылки:

dhcp.client, dhcpd, dhcpd.leases, /etc/dhcpd.conf, io-pkt-*, lsm-autoip.so, netmanager, phlip, syslogd

Основано на RFC 2131




Предыдущий раздел: Утилиты