Semenalidery.com

IT Новости из мира ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Dhcp renew linux

Настройка DHCP-сервера в Linux

Протокол динамической конфигурации узлов (Dynamic Host Configuration Protocol, DHCP) — это сетевой протокол, используемый для автоматического получения узлами IP-адресов и сетевой конфигурации с сервера.

IP-адрес, выделенный DHCP-клиенту DHCP-сервером, находится в «аренде», время аренды может отличаться в зависимости от того, сколько времени клиенту требуется соединение или конфигурация DHCP.

Как работает DHCP?

  • После загрузки подключенный к сети клиент (на котором настроено использование DHCP) отправляет DHCP-серверу пакет DHCPDISCOVER.
  • Получив пакет запроса DHCPDISCOVER, DHCP-сервер отвечает пакетом DHCPOFFER.
  • Клиент принимает пакет DHCPOFFER и отправляет серверу пакет DHCPREQUEST, подтверждая готовность принять сетевую конфигурацию, предоставленную в пакете.
  • Получив от клиента пакет DHCPREQUEST, сервер отправляет пакет DHCPACK, который разрешает клиенту использование выделенного IP-адреса.

В данном руководстве мы рассмотрим настройку DHCP-сервера в Ubuntu/Debian Linux, но большенство настроек будет работать и в других дистрибутивах. Для получения административных привилегий все команды будут выполняться через sudo.

Шаг 1: Установка DHCP-сервера

1. Для установки пакета DCHP-сервера, ранее известного как dhcp3-server, нужно выполнить следующую команду:

2. После завершения установки отредактируйте файл /etc/default/isc-dhcp-server для определения интерфейсов, которые будет использовать DHCPD для обработки DHCP-запросов, при помощи опции INTERFACES.

Например, если вам нужно, чтобы демон DHCPD прослушивал eth0, задайте следующее значение:

Для этого сетевого интерфейса нужно настроить статический IP-адрес.

Шаг 2: Настройка DHCP-сервера

3. Основной файл конфигурации DHCP — /etc/dhcp/dhcpd.conf, в него нужно внести всю информацию, отправляемую клиентам.
В файле конфигурации DHCP есть два типа данных:

  • параметры – указывают, как выполнять задание (например, на какое время выделять адрес), выполнять ли его вообще (например, выделять ли адреса неизвестным клиентам) или какие параметры сетевой конфигурации отправлять DHCP-клиенту.
  • декларации – определяют топологию сети, описывают клиентов и предоставляемые им адреса, или применяют группу параметров к группе деклараций.

4. Для определения настроек DHCP-сервера откроем и отредактируем файл конфигурации:

Установите в начале файла следующие глобальные параметры, они будут действовать для всех указанных ниже деклараций (измените их в соответствии с вашими задачами). Это имя домена domain-name, имена DNS-серверов domain-name-servers, время аренды по умолчанию в секундах default-lease-time (если клиент не запросил его сам), максимальное время аренды в секундах max-lease-time и параметр authoritative, означающий «авторитетность» сервера в сегменте сети. Данный параметр нужен на тот случай, если клиент запросит неправильный IP-адрес — в этом случае сервер ответит ему отказом и предложит получить новый адрес.

Обратите внимание, что перед некоторыми параметрами указано слово option, а перед некоторыми — нет. Это слово задает параметры, которые передаются клиенту в сетевой конфигурации.

5. Теперь нужно указать подсеть, в нашем примере мы будем использовать DHCP в локальной сети 192.168.10.0/24.

Здесь мы использовали следующие параметры:

routers — IP-адрес маршрутизатора по умолчанию
subnet-mask — маска подсети
domain-search — имя домена
domain-name-servers — имена DNS-серверов
range — диапазон IP-адресов, выделяемый клиентам (можно указывать несколько диапазонов, но обязательно указать хотя бы один)

Шаг 3: Настройка статических IP-адресов для машин клиентов

6. Для выделения конкретным клиентам фиксированного (статического) IP-адреса нужно добавить в файл конфигурации секции следующего вида, где явно указаны MAC-адрес и статически выделяемый IP-адрес:

7. Запустим службу DHCP и установим ее автоматический запуск при загрузке:

8. Далее нужно создать правило для службы DHCP в брандмауэре (Демон DHCPD прослушивает UDP-порт 67):

Шаг 4: Настройка машин клиентов

9. Теперь можно настроить клиентские компьютеры в сети для автоматического получения IP-адресов от DHCP-сервера.

Отредактируйте файл конфигурации интерфейса Ethernet на клиентской машине (обратите внимание на имя/номер интерфейса):

Укажите следующие опции:

Сохраните и закройте файл, а затем перезапустите сетевые службы или перезагрузите систему:

Если все настроено правильно, клиентская машина должна автоматически получать IP-адреса от DHCP-сервера.

Настройка DHCP-сервера завершена. Более подробную информацию о dhcpd и dhcpd.conf с описанием всех возможных опций можно получить в соответствующих man-страницах:

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Блог о системном администрировании. Статьи о Linux, Windows, СХД NetApp и виртуализации.

Доброго времени, уважаемые! Сегодня на блоге выкладываю мини-HOWTO настройки DHCP-сервера на Linux. В статье хочу рассказать, как работает протокол DHCP? Как работает клиент DHCP? А так же как собственно, настроить сервер DHCP?

Чем же данный сервер может быть полезен в сети? Основная функция — это автоматическая выдача клиентским машинам информации о конфигурации сети (такой как IP-адрес, маска, шлюз и др.).

Протокол DHCP

Протокол DHCP (Dynamic Host Configuration Protocol — протокол динамического конфигурирования хостов) является протоколом клиент-серверной модели. То есть, есть сервер DHCP (демон dhcpd) отвечающий на запросы клиентов и есть клиент DHCP (dhclient) посылающий запросы и принимающий ответы от сервера. Передача данных производится при помощи протокола UDP, при этом сервер принимает сообщения от клиентов на порт 67 и отправляет сообщения клиентам на порт 68.

В общем случае, не размусоливая о структуре посылаемых пакетов, схему работы протокола можно представить следующим рисунком:

Градиентными овалами и стрелками на схеме обозначены широковещательные сообщения и направление сообщения соответственно. Линиями обозначены не широковещательные сообщения. Пунктиром обозначены, возможные сообщения (необязательные). На основании рисунка, рассмотрим пример процесса получения IP-адреса клиентом от параллельно работающих серверов DHCP. Предположим, клиент ещё не имеет собственного IP-адреса. Процесс состоит из следующих этапов:

1. Обнаружение DHCP (DHCPDISCOVER)

На первом этапе, клиент выполняет широковещательный запрос по всей физической сети с целью обнаружить доступные DHCP-серверы. Он отправляет сообщение типа DHCPDISCOVER, при этом в качестве IP-адреса источника указывается 0.0.0.0 (так как компьютер ещё не имеет собственного IP-адреса), а в качестве адреса назначения — широковещательный адрес 255.255.255.255. Кроме IP источника и назначения, клиент в данном сообщении посылает: уникальный идентификатор запроса, свой MAC, и, возможно, прошлый присвоенный IP.

2. Ответ DHCP — сервера (DHCPOFFER)

Получив сообщение от клиента, сервера определяют требуемую конфигурацию клиента в соответствии со своими указанными в конфигурационном файле настройками. Все сервера, получившие запрос, формируют ответ (DHCPOFFER), содержащий конфигурацию клиента, и отправляют его клиенту на MAC-адрес. В ответе содержится следующая информация: IP, назначенный хосту, и прочие параметры (такие, как адреса маршрутизаторов и DNS-серверов). Клиент получает ответы от всех серверов DHCP, функционирующих в сети, из них он должен выбрать тот, который его «устраивает» (а устраивает его скорее всего тот, который пришел первым).

3. Запрос DHCP-сервера (DHCPREQUEST)

Выбрав одну из конфигураций, предложенных DHCP-серверами, клиент отправляет запрос DHCP (DHCPREQUEST). Он рассылается широковещательно. В сообщении содержится информация из сообщения DHCPDISCOVER + специальная опция — идентификатор сервера — указывающая адрес DHCP-сервера. При этом, сервер, который не выбран в качестве «устраивающего» тоже видит, что он не выбран.

4. Подтверждение от DHCP-сервера (DHCPACK)

Наконец, сервер подтверждает запрос и направляет это подтверждение (DHCPACK) клиенту. После этого клиент должен настроить свой сетевой интерфейс, используя предоставленные опции.

При этом, кроме указанных сообщений, возможны и другие (на схеме указаны пунктиром):

Отказ от настроек, предоставленных DHCP-сервером (DHCPDECLINE)

Если после получения подтверждения (DHCPACK) от сервера клиент обнаруживает, что указанный сервером адрес уже используется в сети, он рассылает широковещательное сообщение отказа DHCP (DHCPDECLINE), после чего процедура получения IP-адреса повторяется.

Отмена от DHCP-сервера (DHCPNAK)

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

Освобождение адреса DHCP (DHCPRELEASE)

Клиент может явным образом прекратить аренду IP-адреса. Для этого он отправляет сообщение освобождения DHCP (DHCPRELEASE) тому серверу, который предоставил ему адрес в аренду.

Информация DHCP (DHCPINFORM)

Сообщение информации DHCP (DHCPINFORM) предназначено для определения дополнительных параметров TCP/IP (например, адреса маршрутизатора по умолчанию, DNS-серверов и т. п.) теми клиентами, которым не нужен динамический IP-адрес (то есть адрес которых настроен вручную). Серверы отвечают на такой запрос сообщением подтверждения (DHCPACK) без выделения IP-адреса.

Клиент DHCP (dhclient) Linux

Для работы Linux в качестве DHCP-клиента необходимо установить пакет dhclient (в RedHat, возможно — dhcpcd). Данный клиент запрашивает у сервера параметры и применяет их к локальному хосту. dhclient использует конфигурационный файл /etc/dhclient.conf (иногда /etc/dhcp/dhclient.conf или /etc/dhcp3/dhclient.conf). А так же, хранит информацию об арендованных параметрах в файле /var/lib/dhcp/dhclient.leases. В общем случае, клиент DHCP устанавливается вместе с дистрибутивом ОС и создает файл конфигурации по умолчанию, который вполне работоспособен и не требует вмешательств. Для работы dhclient, необходимо в конфигурационных файлах сетевых интерфейсов вашего дистрибутива (на которых необходимо получение сетевых параметров по DHCP), указать параметр BOOTPROTO=dhcp (для RedHat) и iface eth_№_ dhcp (для Deb).

Сервер DHCP (dhcp-server / dhcpd) на Linux

Думаю функции сервера, из вышеописанного, вполне ясны — выдавать клиентам (хостам) параметры сетевого подключения. Для работы сервера необходимо установить пакет dhcp-server (в более старых версиях — dhcpd, иногда пакет имеет имя dhcp3-server). После установки, в системе появиться привидение демон — dhcpd. Данный демон должен быть разрешен для запуска на необходимых уровнях выполнения ОС (команда в RedHat — /sbin/chkconfig dhcpd on, в Debian — /usr/sbin/update-rc.d dhcpd defaults). Так же, необходимо, чтобы один из интерфейсов был настроен на статический адрес из той подсети, которую будет раздавать клиентам, иначе демон не будет работать корректно. После установки демон попытается запуститься, но у него ничего не получиться, потому что конфиг неверен.

Читать еще:  Ошибка при открытии

Далее приведу пример типичного конфига для DHCP-server‘a:

По данному конфигу клиентам распределяются IP-адреса из диапазона 192.168.1.10-192.168.1.100 и 192.168.1.150-192.168.1.200. Если клиент не запрашивает временных рамок, сервер выдает адрес на 600 секунд (default-lease-time 600). В противном случае, максимально возможное время будет установлено в 7200 секунд (max-lease-time 7200). Сервер будет также «советовать» клиенту использовать 255.255.255.0 в качестве маски подсети (option subnet-mask 255.255.255.0), 192.168.1.255 для широкого вещания (broadcast) (option broadcast-address 192.168.1.255), 192.168.1.254 в качестве маршрутизатора/шлюза и 192.168.1.1 и 192.168.1.2 для DNS-сервера (option routers 192.168.1.254 и option domain-name-servers 192.168.1.1, 192.168.1.1 соответственно ). О чем нам как бы говорит клиент, получивший адрес:

Так же, в конфиге есть такой параметр как host hostname, который говорит, что хост с именем hostname у которого сетевая карта имеет MAC 08:00:00:00:00:23 должен иметь постоянный адрес 192.168.1.222 (в Windows данная настройка называется резервирование). Поля options для данного раздела конфигурации так же приемлемы.

Кроме того, возможно «вкладывать» параметр host в параметр subnet для формирования более понятного конфигурационного файла:

Балансировка и резервный DHCP-server

Ознакомившись с настройкой DHCP-сервера, можно настроить резервировный (он же балансирующий нагрузку на основной) сервер DHCP. Резервный DHCP-server настраивается как и основной. Отличие резервного от основного в том, что основным сервером выдаются 80% адресов, а резервным — 20%. То есть параметр range в конфиге задается таким образом, чтобы поделить сеть в соотношении 80/20.

Что еще почитать:

Резюме

Итого, прочитав статью мы поняли, что такое DHCP протокол, как установить и настроить DHCP клиента на Linux, а так же, как настроить сервер DHCP на Linux. В общем, данная тема проста и понятна до безобразия и если кому-то не понятно, буду ждать Ваших комментариев!

Настройка DHCP в Debian 5 (Lenny)

DHCP реализован в Debian в виде двух частей: серверной (dhcp3-server) и клиентской (dhcp3-client). Серверная часть отвечает за назначение и отзыв IP-адресов клиентам, при входе и выходе из сети. Клиентская часть запускается на стороне клиента и отвечает за получение IP-адреса по этому протоколу.

Проверить какие пакеты DHCP установлены можно с помощью команды dpkg:

$ dpkg l ‘*dhcp*’ или dpkg l | grepdhcp

Как видим из примера, у нас установлены два пакета dhcp3-client и dhcp3-common. Устанавливаем пакет dhcp3-server:

# aptitudeinstalldhcp3-server

Во время установки появится предупреждение о том, что сервер не является официальным и нужно сделать его таковым, изменив параметр authoritative. Настраивается сервер с помощью конфигурационного файла /etc/dhcp3/dhcpd.conf. При запуске DHCP – сервера происходит выделение IP – адресов согласно содержащемся установкам в данном файле. Выделенные адреса регистрируются в /var/lib/dhcp3/dhcpd.leases. После внесения изменений в файл конфигурации, требуется перезапустить dhcp3-server. Делается это следующим образом:

# /etc/init.d/dhcp3-server restart. Можно дать две команды: сначала

# /etc/init.d/dhcp3-server stop, а затем

# /etc/init.d/dhcp3-server start.

В файле dhcpd.confможет присутствовать несколько конструкций subnet. Если сервер обслуживает несколько сетей и содержит несколько сетевых карт, для каждой из карт должна быть указана подобная конструкция. То же самое необходимо сделать, если на компьютере установлена всего одна сетевая карта, которая связана с несколькими логическими подсетями. Длительность аренды по умолчанию defaultleasetimeсоставляет 259200 секунд, или трое суток. Если клиент запросит более длительную аренду, сервер будет исходить из параметра maxleasetime. В данном случае оно равно 518400 секунд, или шести суткам. Можно увеличивать или уменьшать приведённые здесь значения в зависимости от собственных потребностей. Малая длительность аренды снижает работоспособность сети при выходе сервера DHCP из строя и увеличивает нагрузку на сеть за счёт различных DHCP запросов. Слишком большая длительность аренды опасна тем, что имеющиеся в наличии IP – адреса будут исчерпаны. Такая ситуация возможна, если компьютеры будут включаться на короткое время при этом DHCP – сервер будет хранить информацию об аренде адресов, которые на самом деле на используются. Чтобы связать MAC – адрес с IP – адресом, используется следующая конструкция:

hardware ethernet 00:00:86:5E:D0:73;

fixed-address 192.168.123.22;

Эта конструкция начинается с ключевого слова host, затем следует дополнительная опция knop – имя компьютера (клиента), для которого создаётся резервирование. Многострочные директивы в файле dhcpd.conf заключаются в фигурные скобки. В фигурных скобках указаны два параметра. Первый из них (hardware) задаёт тип сетевого интерфейса и MAC – адрес. В нашем примере содержится запись для Ethernet – карты, а при работе в сети другого типа, задаётся другой тип сетевого устройства. Например, для сети Token Ring следует указать ключевое слово token-ring. Второй параметр (fixedaddress) определяет IP – адрес, выделяемый клиенту. Этот адрес должен принадлежать сети, которую обслуживает DHCP сервер, и должен лежать за пределами диапазона, определённого с помощью параметра range. Эти строки вставляются в ту конструкцию подсети subnet, которой принадлежит назначаемый IP – адрес. Для корректной работы с клиентами под управлением Windows следует включить поддержку WINS. Следует добавить к глобальным опциям следующие строки:

option netbios-name-servers 192.168.123.2;

option netbios-dd-server 192.168.123.2;

optionnetbiosnodetype 8;

Параметр netbiosnodetype сообщает клиенту, должен ли тот реализовывать широковещательный принцип преобразования адресов или обращаться к серверу WINS. Число 8 означает, что клиент в первую очередь должен обратиться к серверу WINS, а лишь затем (в случае неудачи) использовать широковещательное преобразование. В большинстве сетей содержащих сервер WINS указывается значение 8, поскольку при этом снижается трафик сети и обеспечивается достаточная надёжность. Некоторые дополнительные параметры:

Параметр optionipforwarding включает IP – форвардинг. Можно добавить глобальный параметр server identifier, который идентифицирует наш сервер. Следующая строка сообщает об отключении поддержки DDNS. В нашем случае она не нужна: ddns-update-style none;.

Параметр журнала сообщений: log-facility local7;. По умолчанию, сообщения DHCP – сервера находятся в системном журнале /var/log/syslog. Эти сообщения можно перенаправить в отдельный журнал. Делается это следующим образом: создаём отдельный файл журнала

# touch /var/log/dhcpd.log, а затем в файл /etc/syslog.conf добавляем строку local7.* /var/log/dhcpd.conf и сохраняем его.

Ниже приведён листинг нашего конфигурационного файла dhcpd.conf

# Глобальные опции, применяемые для всех подсетей

# Указывает, что сервер является официальным. Он сможет отправлять сообщение # DHCPNACK. Например, если компьютер перемещён из другой подсети.

# Установка домена по умолчанию, если таковой используется

option domain-name «aitishnik.local»;

# Адреса DNS серверов (через запятую)

option domain-name-servers 213.177.97.1, 213.177.97.201;

# Время аренды IP – адреса по умолчанию (в секундах)

# Максимальное время аренды IP – адреса по умолчанию (в секундах)

# Адрес NetBIOS сервера

option netbios-name-servers 192.168.123.2;

# Адрес сервера NBDD

option netbios-dd-server 192.168.123.2;

# Тип преобразования адресов

option netbios-node-type 8;

# Включение IP — форвардинга

option ip-forwarding on;

# Настройки для нашей сети

# Указываем сетевой адрес и маску подсети.

subnet 192.168.123.0 netmask 255.255.255.0 <

# Шлюз по умолчанию

option routers 192.168.123.1;

option broadcast-address 192.168.123.255;

# Резервирование для компьютера knop

hardware ethernet 00:00:86:5E:D0:73;

# Диапазон из которого будут назначаться IP – адреса клиентов

range 192.168.123.10 192.168.123.20;

# Если DHCP сервер обслуживает несколько подсетей и для каждой требуется свои

# настройки как то: время аренды, имя домена, сервер DNS, то их можно указать

# в секции для своей подсети.

# option domain-name-servers 213.177.96.1,213.177.97.1;

# option domain-name «aitishnik.local»;

Помните, что у нас вы можете не только купить готовый сайт или заказать его разработку, но и подобрать подходящий тариф поддержки сайта, заказать продвижение сайта в поисковых системах, а так же зарегистрировать домен в одной из двухсот доменных зон и выбрать недорогой тариф хостинга! Айтишник РУ

Настройка клиента

На данный момент есть три различных клиентских DHCP программы для Linux, dhcpcd , pump и dhclient . Этот mini-HOWTO рассматривает главным образом dhcpcd .

Получение клиентского демона ( dhcpcd )

В зависимости от вашего дистрибутива, возможно, вам придется загрузить клиентский DHCP демон. Если вы хотите скомпилировать его из исходных кодов, необходимый вам пакет называется dhcpcd , его текущая версия 1.3.18. Он поддерживается Sergei Viznyuk и, на сегодняшний день, поставляется в большинстве дистрибутивов в виде бинарного пакета.

Исходный код dhcpcd может быть загружен со следующих мест:

Затем следуйте ниже приведенным инструкциям. Они должны быть таковы.

Slackware

Вы можете загрузить последнюю версию DHCPcd с любого зеркала Metalab или отсюда:

Загрузите последнюю версию dhcpcd.tar.gz .

Будет создан каталог /etc/dhcpc , где DHCPcd будет размещать DHCP информацию, а также будет скопирован в /usr/sbin файл dhcpcd .

Для инициализации системы во время загрузки с помощью DHCP наберите:

Старый скрипт инициализации сети будет перемещен в rc.inet1.OLD . Вам следует создать новый скрипт rc.inet1 , в котором следует поместить следующий код:

Читать еще:  Ошибка 492 при скачивании с маркета

Сохраните его и перезагрузите компьютер.

Когда закончите, переходите к следующему шагу.

RedHat 6.x и Mandrake 6.x

Настройка DHCPcd под RedHat 6.0+ достаточно проста. Все что от вас требуется — запустить панель управления, набрав control-panel .

  • Выбрать Network Configuration
  • Щелкнуть на Interfaces
  • Щелкнуть на Add
  • Выбрать Ethernet
  • В Edit Ethernet/Bus Interface выбрать Activate interface at boot time, а также выбрать DHCP как Interface configuration protocol

Заметьте, что в RedHat 6.x, вместо вышеупомянутого dhcpcd , Redhat по умолчанию включила DHCP клиент называемый pump . Установочный CD-ROM также содержит и dhcpcd RPM, так что если вы не удовлетворены pump , попробуйте вместо него dhcpcd . После установки dhcpcd (т.е. rpm -i dhcpcd-1.3.17pl2-1.i386.rpm ) вам следует сделать несколько изменений.

Дополнительные заметки от Alexander Stevenson :

Я не доволен DHCPcd. Что привело меня к работе с pump , который поставляется с Linux Mandrake 6.0 (и, я полагаю, он также включен в RedHat). Я использую команду:

Не имеет значение, какой был указан hostname , но без него сервер не отвечал бы.

Затем, для отражения изменений я меняю строку в моем скрипте /sbin/ifup ; версия по умолчанию не содержит ключ -h , и поэтому она у меня не работала.

По существу, если вы используете linuxconf , и после настройки адаптера на использование DHCP он все еще не работает, попробуйте добавить -h hostname в строку с pump в скрипте /sbin/ifup . Теперь мой скрипт выглядит так:

Другой, более элегантный путь добавления поля hostname предоставлен Aad van der Klaauw:

Сейчас дома я настраиваю шлюзовую систему, требуется установить MAC адрес и использовать -h hostname . Поэтому я решил не изменять скрипт, а использовать конфигурационный файл. В моем /etc/sysconfig/network-scripts/ifcfg-eth0 я добавил следующее:

Эти строки пережили обновления системы, и, по моему мнению, это более правильный способ.

Перезагрузите вашу машину или наберите в командной строке /sbin/ifup eth0 .

RedHat 5.x

Настройка DHCPcd под RedHat 5.0+ достаточно проста. Все что вам нужно — запустить панель управления, набрав control-panel :

  • Выбрать Network Configuration
  • Щелкнуть на Interfaces
  • Щелкнуть на Add
  • Выбрать Ethernet
  • В Edit Ethernet/Bus Interface выбрать Activate interface at boot time, а также выбрать DHCP как Interface configuration protocol

Когда закончите, переходите к следующему шагу.

RedHat 4.x и Caldera OpenLinux 1.1/1.2

DHCPcd включен в дистрибутив RedHat в виде RPM, и вы можете его найти на CD-ROM в каталоге RPMS или скачать его с:

Установите его с помощью rpm -i dhcpcd-0.6-2.i386.rpm .

Или же вы можете скомпилировать вашу собственную версию следуя шагам описанным в Slackware.

Следующая информация поступила ко мне от nothing .

Я удалил мой статический ip и имя из /etc/resolv.conf . Однако я оставил строку search и две моих nameserver строки (по некоторой причине мой dhcpcd никогда не создает /etc/dhcpc/resolv.conf , так что я использую статический файл /etc/resolv.conf ).

В /etc/sysconfig/network я удалил элементы HOSTNAME и GATEWAY . Я оставил другие элементы, такие как NETWORKING , DOMAINNAME , GATEWAYDEV .

В /etc/sysconfig/network-scripts/ifcfg-eth0 я удалил элементы IPADDR , NETMASK , NETWORK , и BROADCAST . Я оставил в исходном виде DEVICE и ONBOOT . Я изменил строку BOOTPROTO на BOOTPROTO=dhcp .

Сохраняем файл. Перезагружаем ваш компьютер.

Если вы закончили, переходите к следующему шагу.

Debian

Существует deb пакет DHCPcd (проверьте, чтобы он начинался с dhcpcd ) на:

Либо, следуйте инструкциям по установке Slackware.

Для распаковки deb пакета наберите dpkg -i /where/ever/your/debian/packages/are/dhcpcd*deb .

Кажется, что больше не требуется никаких настроек для DHCPcd, потому как:

Пакет dhcpcd устанавливает свой стартовый скрипт как обычно для debian пакетов в /etc/init.d/package_name , то есть /etc/init.d/dhcpcd , и создает ссылки на него из различных /etc/rc?.d/ каталогов.

—From: Heiko Schlittermann

Содержимое каталогов /etc/rc?.d/ в дальнейшем исполняется при загрузке.

Если вы не перегружались после установки, вы можете запустить демон вручную: /etc/init.d/dhcpcd start .

Когда вы закончили переходите к следующему шагу.

LinuxPPC и MkLinux

Следующая секция была написана R. Shapiro

С выпуска «1999» (R5) release, Linuxppc почти полностью совместим с Redhat 6, с одной оговоркой (смотрите ниже). В общем, инструкции точно такие же, как и для текущего выпуска RedHat 6.x и Mandrake 6.x.

Остается та проблема, что Redhat 6 по умолчанию использует pump клиент для dhcp , а pump не надежно работает на Linuxppc. Чтобы это обойти, вам следует установить последнюю версию dhcpcd от Sergei Viznyuk, и отредактировать /sbin/ifup для использования dhcpcd вместо pump .

и внесите соответствующие изменения для ifdown . Измените

Работающий ppc rpm для dhcpcd включен в Linuxppc 1999 cd; немного позже rpm стал доступен в каталоге contrib на ftp://ftp.linuxppc.org/. Исходный код, из которого скомпилирован пакет для Linuxppc 1999, доступен по ftp://ftp.phystech.com/pub/dhcpcd-1.3.17-pl9.tar.gz

Пытаемся все совместить

После перезагрузки вашей машины ваш сетевой интерфейс должен быть настроен. Наберите: ifconfig .

Вы должны получить нечто подобное:

Если у вас разумные числа в поле inet addr , вы уже настроились. Если вы видите 0.0.0.0 — не отчаивайтесь, это временные настройки, перед тем как dhcpcd получит IP адрес. Если через несколько минут, вы все равно видите 0.0.0.0 , то загляните в Поиск неисправностей. DHCPcd — демон, и должен быть запущен все время, пока работает ваша машина. Каждые три часа он связывается с DHCP сервером и пытается продлить аренду используемого IP адреса. Он регистрирует все сообщения в syslog (в Slackware /var/adm/syslog , в RedHat/OpenLinux /var/log/syslog ).

Еще одно заключение. Вам следует указать ваш сервер имен. Есть два способа это сделать, вы можете либо попросить вашего провайдера дать вам адреса ваших серверов имен и затем поместить их в /etc/resolv.conf , либо DHCPcd будет получать список с DHCP сервера и будет создавать файл resolv.conf в /etc/dhcpc .

Я решаю использовать DHCPcd resolv.conf и выполняю следующее:

Сохраните ваш старый /etc/resolv.conf :

Если каталог /etc/dhcpc не существует — создайте его:

Создайте ссылку с /etc/dhcpc/resolv.conf на /etc/resolv.conf :

Если это не помогает, попробуйте это (решение предоставлено с небольшими поправками от Henrik Stoerner):

Этот последний шаг я выполнил только из-за того, что мой dhcpcd не создает /etc/dhcpc/resolv.conf . Я сделал следующие изменения в /etc/sysconfig/network-scripts/ifup (это очень грубый взлом, но так у меня все работает):

Обратите внимание на ! (восклицательный знак) в if [ ! -f /var/run/dhcp-wait-$.pid ];

Теперь откиньтесь на спинку и наслаждайтесь :-).

Различные заметки

Следующие шаги не необходимы, но могут быть полезны некоторым людям:

  1. Если сеть вам нужна только время от времени, вы можете запускать dhcpcd из командной строки (для этого вам нужно быть root ) командой: /usr/sbin/dhcpcd .
  2. Когда вам нужно отключить сеть наберите /usr/sbin/dhcpcd -k .

Поиск неисправностей

Если вы следовали вышеприведенным шагам и не можете получить доступ к вашей сети, этому есть еще несколько возможных объяснений:

Не правильно настроена Ваша сетевая карта

В процессе загрузки ваш Linux будет определять вашу сетевую карту и должен сказать что-то подобное:

Если подобное этому сообщение не появляется, ваша сетевая карта, возможно, не распознается Linux системой. Если у вас обобщенная сетевая карта (клон NE2000), вы должны получить диск с DOS утилитами, которыми вы сможете настроить вашу карту. Попробуйте поиграть с IRQ, пока Linux не распознает вашу карту (обычно подходят IRQ 9,10,12).

Ваш DHCP сервер поддерживает RFC 1541/Мой DHCP сервер ‐ Windows NT

Попробуйте запустить dhcpcd , набрав dhcpcd -r .

Для проверки настроек вашего сетевого интерфейса используйте ifconfig (подождите несколько секунд для завершения процесса настройки, сначала она выдаст Inet.addr=0.0.0.0 )

Если это решит вашу проблему, добавьте ключ -r в загрузочный скрипт, т.е: вместо /sbin/dhcpcd вы получите /sbin/dhcpcd -r .

Например, под RedHat отредактируйте /etc/sysconfig/network-scripts/ifup и вставьте следующее:

В процессе загрузки я получаю сообщение Using DHCP for eth0 . failed , но моя система работает нормально

Скорее всего вы используете RedHat и вы не аккуратно следовали инструкциям :-). Вы пропустили ! (восклицательный знак) в одном из выражений if . Сходите сюда и посмотрите как это исправить.

Моя сеть работает несколько минут, а затем прекращает отвечать

Некоторые люди сообщают, что gated (демон маршрутизации) искривляет маршрутизацию на Linux машинах, что приводит к описанной выше проблеме. Проверьте, запущен ли он у вас, запустив:

Если запущен, попробуйте удалить его с помощью RedHat RPM менеджера пакетов или удалить элемент в каталоге /etc/rc.d/ .

Моя сетевая ката распознается в процессе загрузки, но в моих регистрационных записях я получаю сообщение NO DHCPOFFER . Моя сетевая карта — PCMCIA

Вы должны проверить, что на вашей сетевой карте активирован 10BaseT порт (телефонный разъем). Лучше всего это узнать, проверив какой тип соединителя вашей сетевой карты настроен в процессе загрузки, т.е.

Мне сообщали, что проблема такого рода встречается у пользователей ноутбуков из-за PCMCIA утилит (особенно ifport), которые хотят установить тип соединителя на 10Base2 (тонкий коаксиальный кабель). Вы должны проверить, что для вашего соединения вы используете 10BaseT. Если это не так, перенастройте карту и перезапустите компьютер.

Мой DHCP клиент посылает широковещательные запросы, но никто не отвечает (Предоставлено Peter Amstutz)

На некоторых системах, вам следует включить имя вашего компьютера как часть запроса. У dhcpcd , это делается с помощью dhcpcd -h foohost . Возможно, что требуемое имя компьютера — ваше имя пользователя в сети.

Читать еще:  Linux passwd user

Я следовал всем шагам, но моя машина все еще не способна соединиться

Кабельные модемы обычно запоминают ethernet адрес вашей сетевой карты, так что если вы подключаете новый компьютер или переключаете сетевые карты, вы должны как-то научить ваш кабельный модем распознавать новый компьютер/карту. Обычно вы можете выключить и снова включить ваш модем при включенном компьютере или позвонить в службу технической поддержки и сказать им, что вы заменили сетевую карту в компьютере.

У вас есть правила firewall (правила ipfwadm), которые запрещают трафик по портам 67/68 , которые используются DHCP для распространения информации о настройках. Тщательно проверьте правила вашего firewall.

У меня есть служба MediaOne Express и я все еще не могу соединиться

Кажется, что MediaOne использует некоторые дополнения к DHCP, которых не должно быть. Вероятно, это не должно быть проблемой, но если ваш опыт говорит об обратном, проверьте это. Если вы (не)счастливый обладатель Windows NT, и если, входя в Просмотр Событий(Event Viewer) вы видите такого рода предостережение:

В этом случае сходите на ftp://vanbuer.ddns.org/pub/ и, либо загрузите бинарный файл, либо возьмите исходный код для замены.

Альтернативный DHCP клиент (ISC dhclient)

Если у вас не получилось успешно запустить dhcpcd на вашей Linux системе, попробуйте ISC dhclient . dhclient поставляется с DHCP дистрибутивом от ISC, который включает как DHCP клиента, так и DHCP сервер. Инструкции по получению и установке дистрибутива DHCP могут быть найдены здесь. Когда вы закончите, пожалуйста, вернитесь к этой секции для настройки клиента.

Следующая информация была предоставлена одним из авторов dhclient — Ted Lemon .

What is DHCP and how to configure DHCP server in Linux

Anyone with a basic knowledge of computer networking knows that for two hosts to communicate on the same network using TCP/IP model, both hosts need to have a unique IP address. There are two ways on how any given host on your network can obtain an IP address.

One way is to manually configure the network interface and assign an IP address by hand. The manual network configuration is called static configuration, which means that host’s IP address does not change its IP address unless changed manually by the user or system administrator. If your company network includes more than 1000 hosts, the job of configuring each host with a static IP address becomes tiresome and more importantly extremely inefficient.

Another way to assign your network hosts with a proper IP address regardless of the actual network size is to assign an IP address to each host automatically. To perform an automatic host’s IP configuration is where DHCP ( Dynamic Host Configuration Protocol ) comes handy.

The DHCP protocol lets a DHCP client, that is your network host to lease network configuration parameters such as an IP address. In fact, lease parameters are not limited to IP address only as they may also include the following configuration settings:

  • IP addresses and network masks
  • Domain Names servers ( DNS )
  • Default Gateways
  • WINS servers
  • Syslog hosts
  • Proxy servers
  • NTP servers
  • X Font servers
  • Syslog hosts

Each network host configured to obtain an IP address dynamically via DHCP will upon boot send a DHCP request over the network ( by definition this is a broadcast of all 1’s ) to discover whether there is a DHCP server available somewhere on the network and consequently ask for a network configuration. DHCP client is then obligated to maintain communication with DHCP server and renew its IP address regularly as dictated by IP address’s lease time expiry. In case that DHCP client fails to renew its IP address ( disconnection, a host is turned off, etc. ) its IP address expires and DHCP server is free to lease this IP address to another DHCP client.

DHCP server keeps a record of all leased IP addresses and stores them in a file called dhcpd.leases within /var/lib/dhcp directory ( location of this file may vary depending on Linux system in use ). Having such a file allows DHCP server to keep track of all IP address leases even after the reboot or power failure.

Here are some advantages of having a DHCP server connected to network:

  • No IP address conflicts. DHCP can guarantee that all hosts on the network have a unique IP address. DHCP server keeps a record of all IP addresses assigned and cross reference them with host’s MAC addresses.
  • Based on the MAC address, DHCP allows for a fixed parameter configuration for a specific host
  • minimum local client network configuration, hence Increased efficiency

DHCP Server Installation

Standard DHCP server implementation available in various Linux distributions is an Open source version maintained by ISC ( Internet System Consortium ).

Use the following linux commands to install DHCP on your Linux server:

Debian and Ubuntu:

Basic DHCP Configuration

By default, DHCP server configuration does not include any subnets on which DHCP server should lease IP addresses. Therefore, depends on your Linux system you may get the following error message when you attempt to start DHCP with default dhcpd.conf configuration file.

Examining log files such as /var/log/syslog reveals more details:

Your server may be connected to multiple network subnets. To start DHCP server, at least one subnet must be defined within the DHCP configuration file /etc/dhcp/dhcpd.conf.

NOTE: if your server has access to more than one subnet, DHCP requires all subnets to be defined even though there isn’t immediate intention to enable DHCP service on that subnet.

Below is the simplest example of DHCP configuration file:

This configuration file instructs DHCP server to listen for DHCP client requests on subnet 10.1.1.0 with netmask 255.255.255.0. Furthermore, it will assign IP addresses in range 10.1.1.3 — 10.1.1.254. It also defines an empty definition for subnet with network ID 192.168.0.0.

Alter the above code with your subnet and insert it into /etc/dhcp/dhcpd.conf. When ready, restart your DHCP server with ( restart command may vary ) :

DHCP default and max lease time

At this point we can add feww aditional settings to our DHCP configuration, namely the default and max lease time expiry.

  • default-lease-time is a value in seconds in which a leased IP address expiry will be set to if DHCP client does not ask for any other specific expiry lease time
  • max-lease-time is a value in seconds which defines a maximum expiry time for an IP address leased by DHCP server

Define DNS server

Another configuration parameter possible to be set by DHCP server to its client is a definition of DNS server. If you want your clients to use DNS server with an IP address 8.8.8.8 and 10.1.1.1 you can do it by including an option «domain-name-servers» to DHCP’s configuration file.

Set default gateway

DHCP also allows for client’s gateway configuration.To set any client on the local network to use default gateway 10.1.1.1, add line «option routers 10.1.1.1» into dhcpd.conf file as demonstrated below:

DHCP will now set DHCP client with gateway 10.1.1.1.

Host specific configuration

There maybe a need to set static IP address to a particular host on the network such as printer, web server and etc. In this case it is posible to amend DHCP server configuration to lease a choosen IP address to a specific host defined by its MAC address.

The above DHCP configuration file will permanently assign the IP address 10.1.1.100 to a host «printer» with a MAC address 00:16:d3:b7:8f:86 and IP address 10.1.1.200 to host «web-server» with MAC address 00:17:a4:c2:44:22.

Appendix

Ubuntu client network settings to use DHCP

To configure your client to use a DHCP on a network interface eth0 on Ubuntu or Debian linux systems enter a following lines in your /etc/network/interfaces file:

Configuring DHCP relay agent

If your DHCP server does not have an access to some particular subnet it does not mean that it cannot provide its services there. To make this work a DHCP relay agent needs to be configured on a remote subnet which forwards all request to a specified DHCP server and distant subnet. First install DHCP relay agent:

Then create a configuration file /etc/default/isc-dhcp-relay with two lines:

The above config file will instruct DHCP relay agent to listen on eth0 interface for a DHCP client requests and forward them to a DHCP server on an IP address 192.168.5.5.

Ссылка на основную публикацию
Adblock
detector