Использование клиента DHCP
🕛 18.06.2009, 16:34
Если в вашей локальной сети присутствует сервер DHCP, вы можете сконфигурировать систему Linux так, что компьютер будет автоматически получать у сервера IP-адрес, используя для этого клиентскую программу DHCP. Клиент DHCP ищет сервер DHCP, посылая в широковещательном режиме запрос, который принимают все компьютеры локальной сети. Если сервер отвечает на запрос и последующие переговоры заканчиваются успешно, то система получает IP-адрес, кроме того, выполняются настройки, необходимые для осуществления сетевого обмена.Если вы хотите, чтобы ваш компьютер действовал как сервер DHCP, т. е. ставлял IP-адреса другим системам, cерверу DHCP должен быть присвоен статический IP-адрес.
Большинство дистрибутивных пакетов Linux позволяет включать поддержку DHCP в процессе инсталляции системы, в частности, при настройке сетевых средств. Если соответствующая опция отсутствует или если вы хотите изменить конфигурацию системы после ее инсталляции, проще всего сделать это, используя специальный инструмент с графическим пользовательским интерфейсом. К таким инструментальным средствам относятся Linuxconf (Red Hat или Mandrake), COAS (Caldera), YaST и YaST2 (SuSE). На рис. 2.1 показано окно YaST2 с установленной опцией Automatic address setup (via DHCP). В результате установки данной опции система настраивается для получения IP-адресов посредством DHCP.
К сожалению, при настройке средств DHCP иногда возникают проблемы; некоторые из них описаны ниже.
- Несовместимый клиент DHCP. В системе Linux применяются четыре клиента DHCP: pump, dhclient, dhcpxd и dhcpcd (обратите внимание на различия между именами последних двух клиентов и именем сервера DHCP dhcpd). В большинстве случаев все четыре клиентские программы работают корректно, но в некоторых сетях могут использоваться серверы DHCP, несовместимые с некоторыми клиентами DHCP, применяемыми в системе Linux. Если возникнет подобная ситуация, вам придется заменить клиент-программу DHCP на другую.
- Несовместимые опции DHCP. В некоторых случаях причиной возникновения проблем могут быть опции, передаваемые клиенту DHCP. Несовместимые опции проявляют себя так же, как и несовместимые клиент-программы, но для устранения неисправности в этом случае требуются менее радикальные меры. Вам достаточно отредактировать сценарий, используемый для запуска DHCP, и изменить опции. Чтобы понять, какие опции следует изменять, необходимо тщательно изучить документацию на конкретную клиент-программу DHCP. В этом вам поможет справочная информация о системе.
- Использование- нескольких сетевых карт. Если в вашем компьютере установлены две или больше сетевых карт (NIC - network interface card), может возникнуть необходимость использовать клиент DHCP для получения IP-адресов лишь для некоторых из этих карт. Возможно, вы захотите, чтобы для каких-либо карт часть информации (например, адрес шлюза) не принималась во внимание. В этом случае вам также придется отредактировать сценарий запуска DHCP, либо написать собственный сценарий, который изменял бы автоматически выбранную конфигурацию.
В табл. 2.1 для наиболее популярных дистрибутивных пакетов Linux представлены клиент DHCP, используемый по умолчанию, альтернативный клиент DHCP, расположение сценария запуска, а также расположение основных конфигурационных файлов DHCP. (Инструмент ifup для Debian, в отличие от одноименных файлов, используемых другими системами, представляет собой программу, в которой реализованы средства настройки клиента DHCP. Управлять работой программы ifup можно, изменяя содержимое конфигурационного файла /etc/network/interfaces.) Если клиент DHCP, с которым вы предпочитаете работать, отсутствует в дистрибутивном пакете, вы все равно можете установить и использовать его. Возможно, вам придется внести некоторые изменения в сценарий запуска, расположение которого приведено в табл. 2.1, или самостоятельно реализовать процедуру запуска клиента DHCP.
Если вы считаете, что источником проблем являются опции клиента DHCP, несовместимые с присутствующим в сети сервером DHCP, то для решения этих проблем вам надо отредактировать сценарий запуска. Найдите строку, отвечающую за запуск клиент-программы, и проанализируйте передаваемые ей опции. В этом вам помогут страницы справочной информации, посвященные клиенту DHCP. Удаляя или добавляя опции, постарайтесь добиться желаемого поведения программы. Например, некоторые серверы DHCP требуют, чтобы клиент передавал имя узла; если вы используете программу dhcpcd, вам придется добавить опцию -h имя_узла. Часто в сценариях используются данные из конфигурационного файла (их расположение также приведено в табл. 2.1), однако чаще всего эти файлы сообщают системе, следует ли использовать статические IP-адреса или надо воспользоваться DHCP.