Настройка dhcp сервера в cisco

Настройка DHCP сервера на маршрутизаторах Cisco ISR

Устранение неполадок

Используйте этот раздел для устранения неполадок своей конфигурации.

Средство интерпретации выходных данных (только для зарегистрированных заказчиков) поддерживает некоторые команды show.  Используйте Средство интерпретации выходных данных, чтобы просмотреть анализ выходных данных команды show.

Примечание.Перед использованием команд debug обратитесь к документу Важные сведения о командах отладки.

Введите команду debug dhcp message enable на WLC, чтобы просмотреть последовательность событий, которые происходят между сервером DHCP и клиентом. Например:

(Cisco Controller) >Thu Jun 28 17:07:53 2007: 00:0b:85:5b:fb:d0       dhcp option len,     including the magic cookie = 38Thu Jun 28 17:07:53 2007: 00:0b:85:5b:fb:d0 dhcp option: received DHCP DISCOVER msgThu Jun 28 17:07:53 2007: 00:0b:85:5b:fb:d0 dhcp option:       skipping option 57, len 2Thu Jun 28 17:07:53 2007: 00:0b:85:5b:fb:d0 dhcp option:       skipping option 55, len 6Thu Jun 28 17:07:53 2007: 00:0b:85:5b:fb:d0 dhcp option:     vendor class id = Airespace.AP1200 (len 16)Thu Jun 28 17:07:53 2007: 00:0b:85:5b:fb:d0 dhcpParseOptions: options end,     len 38, actual 64Thu Jun 28 17:07:53 2007: dhcpd: sending 300 bytes raw       0.0.0.0:68 -> 10.77.244.212:1067Thu Jun 28 17:07:53 2007: dhcpd: Received 300 byte dhcp packet     from 0xd4f44d0a 10.77.244.212:68Thu Jun 28 17:07:58 2007: 00:0b:85:5b:fb:d0 dhcp option len, including     the magic cookie = 50Thu Jun 28 17:07:58 2007: 00:0b:85:5b:fb:d0 dhcp option: received DHCP       REQUEST msgThu Jun 28 17:07:58 2007: 00:0b:85:5b:fb:d0 dhcp option: requested ip =       192.168.25.1Thu Jun 28 17:07:58 2007: 00:0b:85:5b:fb:d0 dhcp option: server id =       192.168.25.10Thu Jun 28 17:07:58 2007: 00:0b:85:5b:fb:d0 dhcp option: skipping option 57,       len 2Thu Jun 28 17:07:58 2007: 00:0b:85:5b:fb:d0 dhcp option: skipping option 55,       len 6

Ниже приведены выходные данные команды debug lwapp packet enable, полученные от контроллера WLAN, которые указывают, что параметр DHCP 43 используется в способе обнаружения для получения IP-адресов контроллеров WLAN:

Thu Jun 28 17:51:47 2007: Received LWAPP DISCOVERY REQUEST from AP       00:0b:85:5b:fb:d0     to 00:0b:85:33:84:a0 on port '1'Thu Jun 28 17:51:47 2007: Successful transmission of LWAPP Discovery-Response     to AP 00:0b:85:5b:fb:d0 on Port 1Thu Jun 28 19:22:39 2007: Start of PacketThu Jun 28 19:22:39 2007: Ethernet Source MAC (LRAD):      00:D0:58:AD:AE:CBThu Jun 28 19:22:39 2007: Msg Type       :Thu Jun 28 19:22:39 2007:    DISCOVERY_REQUESTThu Jun 28 19:22:39 2007: Msg Length     :   31Thu Jun 28 19:22:39 2007: Msg SeqNum     :   0Thu Jun 28 19:22:39 2007:     	IE            :   UNKNOWN IE 58Thu Jun 28 19:22:39 2007: 	IE Length     :   1Thu Jun 28 19:22:39 2007: 	Decode routine not available, Printing Hex DumpThu Jun 28 19:22:39 2007: 00000000: 03                                                .Thu Jun 28 19:22:39 2007: 

Значение параметра IE 58 указывает тип обнаружения. Для параметра DCHP 43 это 3.

При использовании сервера DHCP из Cisco IOS на маршрутизаторе можно ввести команду debug dhcp detail и команду debug ip dhcp server events, чтобы просмотреть действия клиента и сервера DHCP. Вот пример от команды debug ip dhcp server events:

*Jun 28 11:49:33.107: DHCPD: Sending notification of DISCOVER:*Jun 28 11:49:33.107:   DHCPD: htype 1 chaddr 000b.855b.fbd0*Jun 28 11:49:33.107:   DHCPD: remote id 020a0000c0a8190a01000000*Jun 28 11:49:33.107:   DHCPD: circuit id 00000000*Jun 28 11:49:33.107: DHCPD: Seeing if there is an internally specified       pool class:*Jun 28 11:49:33.107:   DHCPD: htype 1 chaddr 000b.855b.fbd0*Jun 28 11:49:33.107:   DHCPD: remote id 020a0000c0a8190a01000000*Jun 28 11:49:33.107:   DHCPD: circuit id 00000000*Jun 28 11:49:38.603: DHCPD: Sending notification of ASSIGNMENT:*Jun 28 11:49:38.603:  DHCPD: address 192.168.25.1 mask 255.255.255.0*Jun 28 11:49:38.603:   DHCPD: htype 1 chaddr 000b.855b.fbd0*Jun 28 11:49:38.603:   DHCPD: lease time remaining (secs) = 86400*Jun 28 11:49:38.607: DHCPD: Sending notification of ASSIGNMENT:*Jun 28 11:49:38.607:  DHCPD: address 192.168.25.1 mask 255.255.255.0*Jun 28 11:49:38.607:   DHCPD: htype 1 chaddr 000b.855b.fbd0*Jun 28 11:49:38.607:   DHCPD: lease time remaining (secs) = 86400

Введите команду show ip dhcp binding, чтобы просмотреть список адресов DHCP, назначенных клиентам DHCP.

2800-ISR-TSWEB#show ip dhcp bindingBindings from all pools not associated with VRF:IP address          Client-ID/              Lease expiration        Type                    Hardware address/                    User name192.168.25.1        000b.855b.fbd0          Jun 29 2007 11:49 AM    Automatic 

Устранение неполадок

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

Router#show ip dhcp server statistics
Memory usage        56637Address pools       1Database agents     0Automatic bindings  1Manual bindings     0Expired bindings    0Malformed messages  0Secure arp entries  0Message             ReceivedBOOTREQUEST         0DHCPDISCOVER        1DHCPREQUEST         1DHCPDECLINE         0DHCPRELEASE         0DHCPINFORM          0Message             SentBOOTREPLY           0DHCPOFFER           1DHCPACK             1DHCPNAK             0ASA# show dhcprelay stateContext Configured as DHCP RelayInterface inside, Configured for DHCP RELAY SERVERInterface outside, Configured for DHCP RELAY

Кроме того, можно использовать следующие команды отладки:

  • debug dhcprelay packet
  • debug dhcprelay event
  • Перехват
  • Системные журналы

Принцип работы DHCP

Как работает dhcp сервер, ответ на этот вопрос очень простой. Когда компьютер появляется в локальной сети, первым делом он отсылает в сеть широковещательный запрос, по всем кто в сети. Данный пакет называется DHCPDISCOVER, в котором он спрашивает ребята есть у вас тут DHCP, если да то дай как мне ip адрес. Если HDCP сервер в локальной сети есть, то он отвечает ему пакетом DHCPOFFER, в котором говорит вот я есть, вот тебе ip адрес, будешь брать? Компьютер получив пакет DHCPOFFER, отсылаем ему ответ в виде пакета DHCPREQUEST в котором говорит, отлично я беру это ip адрес запиши его за мной, на что DHCP получив этот пакет, отвечает пакетом DHCPACK в котором говорит что записал, что это ip адрес теперь твой. Вот весь принцип.

В своей практике я встречал еще вот такие пакеты от dhcp сервера:

  • DHCPDECLINE — это пакет в котором клиент определил, что ip адрес, от DHCP сервера в момент предложения, уже используется кем то, и тогда будет  сгенерирован новый запрос на другой ip адрес
  • DHCPRELEASE — данный пакет появляется когда клиент освобождает IP адрес
  • DHCPRENEW — Это пакет содержит в себе запрос на обновление и продление аренды ip адреса
  • DHCPINFORM — пакет, направленный клиентом к серверу DHCP, чтобы получить от него детальную информацию, пример, где находится запасной DHCP сервер в сети

Настройка DHCP для среднего офиса

С маленьким офисом мы разобрались, теперь рассмотрим схему среднего офиса. У нас тут уже есть сигментирование в  виде vlan (2,3,4). У нас в схеме есть роутер Cisco 2911, на котором будет маршрутизация локального трафика между vlan, коммутатор второго уровня Cisco 2960 на уровне доступа конечных устройств, сервер DHCP в vlan 4, с которого мы и будем получать ip адреса.

Настроим Cisco 2960

Первым делом на коммутаторе нужно создать vlan 2,3,4 и зададим им имена.

enable conf t vlan 2 name VLAN2 exit vlan 3 name VLAN3 exit vlan 4 name VLAN4 exit

Теперь настроим порты коммутатора и добавим их в нужный vlan.

VLAN2 у меня порты fa0/1 и fa0/2

int range fa0/1-2 switchport mode access switchport access vlan 2 exit

VLAN3 у меня порты fa0/3 и fa0/4

int range fa0/3-4 witchport mode access switchport access vlan 3 exit

VLAN4 у меня порт fa0/5

int fa 0/5 switchport mode access switchport access vlan 4 exit

Теперь настроим порт gi0/1 который подключается к роутеру Cisco 2911, и режим работы у него будет trunk. разрешим через trunk все 4 vlan.

int gi0/1 switchport mode trunk switchport trunk allowed vlan 2,3,4 exit

Сохраним настройки

do wr mem

Настроим Cisco 2911

Теперь приступим к настройке Cisco 2911, на нем будет маршрутизация трафика между vlan, значит для этого мы должны создать их на нем, задать им ip адреса, которые будут выступать в роли шлюзов.Вот общая схема.

первым делом мы поднимаем порт, так как на всех роутерах Cisco они в выключенном состоянии.

enable conf t int gi0/0 no shutdown

Создаем sub интерфейс vlan2 int gi0/0.2 encapsulation dot1Q 2 ip address 192.168.2.251 255.255.255.0 exit Создаем sub интерфейс vlan3 int gi0/0.3 encapsulation dot1Q 3 ip address 192.168.3.251 255.255.255.0 exit Создаем sub интерфейс vlan4 int gi0/0.4 encapsulation dot1Q 4 ip address 192.168.4.251 255.255.255.0 exit Включаем маршрутизацию ip routing do wr mem

Проверим теперь с компьютера где ip адрес 192.168.2.1 пропинговать шлюз и соседей по vlan 3,4. Видим, что все отлично работает, связь проверена. Осталось теперь настроить DHCP сервер.

DHCP настройка

Напомню, что службой DHCP, может быть компьютер с роль на Windows Server (тут это компьютер или виртуальная машина, где есть много сетевых интерфейсов, каждый из которых подключен к нужному vlan, в который DHCP и отдает свои ip адреса), само устройство cisco, либо сторонний продукт на базе linux, вариантов много, в своей тестовой среде у меня это будет сервер в cisco packet tracer, у него есть статический ip адрес 192.168.4.1. Я создаю новый пул для VLAN2, раздавать я буду с 192.168.2.50 до 192.168.2.250, задаю шлюз по умолчанию и dns сервер.

жмем Add и добавляем наш пул. Так же создаем пул для 3 VLAN.

Теперь вспомним, что у нас DHCP сервер в другом vlan, а это значит что широковещательные запросы DHCPDISCOVER из других vlan он не видит, решить эту проблему нам поможет dhcp relay.

[править] Задача

Протокол динамического конфигурирования DHCP очень удобен — настройка стека TCP/IP клиентских
машин не требует никакого внимания со стороны администратора, всё происходит само собой.
С другой стороны, в общем случае адреса назначаются случайным образом, и заранее неизвестно какой хост
получит какой адрес. Если нужно сохранить удобство использования DHCP, но при этом сделать так, чтобы адреса были
чётко закреплены за каждым компьютером, используется так называемая привязка к MAC-адресу: DHCP-сервер имеет таблицу соответствия MAC-адресов IP-адресам, и назначает IP-адреса в соответствии с этой таблицей.
Минус этого решения — необходимость отслеживания MAC-адресов и сопровождения таблицы соответствия.

В некоторых случаях может помочь компромиссное решение — поставить IP-адреса в соответствие не MAC-адресам,
а портам коммутатора, к которым подключен клиентский компьютер.
Другой вариант — выдавать IP-адреса в зависимости от того, с какого DHCP-ретранслятора пришел запрос.
В этом случае выдаются адреса из одной подсети, но с привязкой конкретных диапазонов адресов к различным коммутаторам,
работающим как DHCP-ретрансляторы. Это может помочь облегчить администрирование сети в том смысле, что по IP-адресу клиентского компьютера, будет понятно к какому коммутатору он подключен.

Решить эти задачи позволяет опция 82 протокола DHCP.

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

[править] Инсталляция и настройка DHCP сервера ISC-DHCP

Будем использовать dhcp-сервер ISC-DHCP (v3)

ISC DHCP Server — наиболее распространнённый DHCP-сервер, из использующихся в UNIX/Linux-системах.
Для нас сейчас важно и то, что это один из серверов, умеющих распознавать опцию 82

Будем предполагать, что инсталляция и настройка сервера
выполняется в Debian GNU/Linux. Пользователи других систем
должны учесть, что процедура инсталляции
и местоположение конфигурационных файлов могут несколько отличаться.

Установка DHCP-сервера с поддержкой опции 82

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

%# apt-get install dhcp3-server

и можно было бы считать, что на этом инсталляция сервера закончена,
и можно переходить к его настройке. Однако, в том случае, если предполагается использование
DHCP-ретранслятора (что обязательно, если будет использоваться опция 82),
может потребоваться сборка пакета с включённой директивой USE_SOCKETS.
Подробнее эта процедура описана ниже.

Сборка с включённой директивой USE_SOCKETS

По умолчанию DHCP-сервер ожидает услышать запросы клиентов на широковещательном адрес 255.255.255.255. Однако, когда запрос перенаправляет DHCP-ретранслятор, запрос приходит непосредственно на адрес DHCP-сервера.
Для того чтобы DHCP-сервер корректно обрабатывал информацию от DHCP-ретранслятора,
его необходимо скомпилировать с использованием директивы

   #define USE_SOCKETS 

и указать в конфигурационном файле local-address.

Скачиваем исходники DHCP-сервера:

%# apt-get source dhcp3-server

Перед началом сборки исходников необходимо установить все пакеты,
необходимые для успешной сборки пакета, для чего выполнить:

%# apt-get build-dep dhcp3-server

Теперь необходимо в файле site.h раскомментировать директиву #define USE_SOCKETS:

%# vi dhcp3-3.0.6.dfsg/includes/site.h

Перейти в каталог dhcp3-3.0.6.dfsg:

%# cd dhcp3-3.0.6.dfsg/

Для того чтобы собрать пакет необходимо выполнить:

%$ dpkg-buildpackage -rfakeroot -b

или, если сборка производится root’ом:

%# dpkg-buildpackage -b

После сборки пакеты должны быть установлены в системе
(инсталлируем только common и server, так как нам не нужен DHCP-ретранслятор и DHCP-клиент):

%# dpkg -i dhcp3-common_3.0.6.dfsg-1_i386.deb dhcp3-server_3.0.6.dfsg-1_i386.deb 

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

Сразу же после инсталляции пакета,
сервер не заработает — сначала необходимо
отредактировать его конфигурационный файл /etc/dhcp3/dhcpd.conf.

# Укажите адрес, на который DHCP-сервер ожидает получать запросы (адрес DHCP-сервера)

local-address 192.168.2.9;

# Укажите подсеть интерфейса, на котором запущен DHCP-сервер

subnet 192.168.2.0 netmask 255.255.255.0 {
}

# Если сервер получит запрос, содержащий опцию 82, он сгенерирует сообщение в системный журнал
# 

if exists agent.circuit-id
{
 log ( info, concat( " Lease for ", 
                     binary-to-ascii (10, 8, ".", leased-address),
                     " Switch port: ", 
                     binary-to-ascii (10, 8, ".", option agent.circuit-id), 
                     " Switch MAC: ",
                     binary-to-ascii(16, 8, ".", option agent.remote-id)));
}

# Запросы, пришедшие с 5го порта коммутатора: 
class "port-5"
{
 match if binary-to-ascii (10, 8, "", suffix( option agent.circuit-id, 1)) = "5";
}

# Адрес для 5го порта: 
pool {
  range 192.168.1.55;
  allow members of "port-5";
}

Интерфейс, на котором будет работать DHCP-сервер,
передается ему в качестве аргумента при вызове.

В Debian GNU/Linux аргументы и ключи вызова программ
принято указывать в соответствующих файлах в каталоге /etc/default,
в частности, конфигурационный файл, в котором находятся опции для нашего сервера,
называется /etc/default/dhcp3-server.

При условии, что сервер будет слушать запросы на интерфейсе eth0,
файл будет выглядеть так:

# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
# Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="eth0"

Можно указать несколько интерфейсов,
запросы с которых будет обрабатывать сервер.
Они должны быть разделены пробелом.

Теперь можно запускать сервер:

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

После сборки сервера с #define USE_SOCKETS:

udp     0   0 192.168.2.9:67    0.0.0.0:*   863/dhcpd3
udp     0   0 192.168.2.9:67    0.0.0.0:*   863/dhcpd3

Настройка ISC DHCP Server

Редактируем файл конфигурации:

ee /usr/local/etc/dhcpd.conf

В минимальной конфигурации необходимо задать параметры, выделенные жирным шрифтом, примеры удалить или закомментировать.

# DNS серверы
option domain-name-servers 192.168.0.1, 192.168.0.2;

# Время в секундах, по истечению которого клиент должен запросить продление аренды
default-lease-time 600;

# Время аренды IP адреса в секундах
# Клиент должен освободить IP-адрес, если в течение заданного времени аренду продлить не удалось
# Если аренда не продлена, сервер может выдать этот адрес другому клиенту
max-lease-time 7200;

# Выдавать клиенту новый адрес, если запрошенный клиентом адрес не входит в пул сервера

authoritative;

# Источник, который будет указан при отправке сообщений в Syslog
log-facility local7;

# Декларация подсети

subnet 192.168.0.0 netmask 255.255.255.0 {

  # Пул динамических адресов

range 192.168.0.129 192.168.0.189;

  # Шлюз

option routers 192.168.0.1

;
}

# Задать фиксированный IP-адрес для хоста
#host Name {
#  hardware ethernet 00:26:5e:66:6c:08;
#  fixed-address 192.168.0.190;
#}

Предварительные условия

Агент ретрансляции DHCP позволяет устройству безопасности переадресовывать запросы DHCP с клиентов на маршрутизатор или на другой сервер DHCP, подключенный к другому интерфейсу.Эти ограничения применимы только при использовании агента ретрансляции DHCP:

  • Если уже включена функция DHCP-сервера, нельзя включить агент ретрансляции.
  • Необходимо подключиться напрямую к устройству безопасности. При этом нельзя отправлять запросы через другой агент ретрансляции или маршрутизатор.
  • В многоконтекстном режиме нельзя включить ретрансляцию DHCP или настроить сервер ретрансляции DHCP в интерфейсе, если он используется несколькими контекстами.

Сервисы ретрансляции DHCP недоступны в прозрачном режиме межсетевого экрана. Устройство безопасности в прозрачном режиме межсетевого экрана разрешает прохождение только трафика ARP. Для всего остального трафика требуется список контроля доступа. Чтобы разрешить отправку запросов и отклика DHCP через устройство безопасности в прозрачном режиме, необходимо настроить два списка контроля доступа:

  • Один список контроля доступа, который разрешает отправку запросов DHCP из внутреннего интерфейса во внешний
  • Второй список контроля доступа разрешает отправку отклика с сервера в другом направлении

Используемые компоненты

Сведения, содержащиеся в данном документе, касаются следующих версий программного обеспечения и оборудования:

  • ASA 5500-x Series Security Appliance 9.x или более поздней версии
  • Маршрутизаторы Cisco серии 1800

Сведения, представленные в этом документе, были получены от устройств, работающих в специальной лабораторной среде. Все устройства, описанные в этом документе, были запущены с чистой (стандартной) конфигурацией. В рабочей сети необходимо изучить потенциальное воздействие всех команд до их использования.

Запуск ISC DHCP Server

Редактируем rc.conf:

ee /etc/rc.conf

Включаем запуск ISC DHCP Server, и задаем сетевые интерфейсы, обслуживаемые нашим сервером:

dhcpd_enable="YES"
dhcpd_ifaces="fxp0"

Запускаем dhcpd:

service isc-dhcpd start

В случае успешного запуска видим следующий текст:

Internet Systems Consortium DHCP Server 4.1-ESV-R3
Copyright 2004-2011 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Wrote 1 leases to leases file.
Listening on BPF/fxp0/08:00:27:a9:a8:7d/192.168.0.0/24
Sending on   BPF/fxp0/08:00:27:a9:a8:7d/192.168.0.0/24
Sending on   Socket/fallback/fallback-net

Если ошибок при запуске не возникло, проверяем, раздаются ли IP-адреса.

Для принудительного обновления IP-адреса в Windows, в командной строке используем команды:

ipconfig /release
ipconfig /renew

Проверяем лог-файл:

cat /var/log/dhcpd.log

В случае проблем, анализируем DHCP трафик:

tcpdump -vni

fxp0

 udp port 67

Проверка

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

Чтобы просмотреть статистическую информацию о службах ретрансляции DHCP, выполните команду show dhcprelay statistics в CLI ASA:

ASA# show dhcprelay statistics
DHCP UDP Unreachable Errors: 1DHCP Other UDP Errors: 0Packets RelayedBOOTREQUEST         0DHCPDISCOVER        1DHCPREQUEST         1DHCPDECLINE         0DHCPRELEASE         0DHCPINFORM          0BOOTREPLY           0DHCPOFFER           1DHCPACK             1DHCPNAK             0

Эти выходные данные содержат информацию о нескольких типах сообщений DHCP, таких как DHCPDISCOVER, DHCP REQUEST, DHCP OFER, DHCP RELEASE и DHCP ACK.

  • команда show dhcprelay state в CLI ASA
  • команда show ip dhcp server statistics в CLI маршрутизатора

четверг, марта 17, 2016

Егор

DHCP. Разные пулы для разных vlan на одном интерфейсе маршрутизатора.

Всем привет. После написания статьи «Конфигурация DHCP сервера на маршрутизаторах фирмы Cisco» уже двое людей поинтересовались о том, а как же быть если у нас на одном физическом интерфейсе маршрутизатора создано несколько субинтерфейсов, смотрящих в разные vlanы,  и нам требуется раздавать по DHCPразные пулы в разные vlanы. Сегодня мы разберем вместе с Вами именно этот вопрос.

Как всегда все очень и очень просто. Для начала соберем в Packet Tracer схему приведенную  в статье «Маршрутизациямежду vlan — маршрутизатор на привязи». Первоначальные настройки коммутатора и маршрутизатора, такие же как в этой статье. Единственное отличие будет заключаться  в конфигурации хостов, в их настройках мы ставим получать конфигурацию по DHCP.

Выставляем в настройках хоста получение конфигурации по DHCP
Выставляем в настройках хоста получение конфигурации по DHCP (Продолжение)

Естественно сразу после того как мы это сделали никаких IPадресов они не получат, так как мы еще не настраивали DHCPсервер на маршрутизаторе. Давайте этим и займемся. Для этого выполним на маршрутизаторе следующие команды:

  Router(config)#ip dhcp pool Pool_for_vlan_2

  Router(dhcp-config)#network 192.168.1.0 255.255.255.0

  Router(dhcp-config)#default-router 192.168.1.1

  Router(dhcp-config)#dns-server 8.8.8.8

  Router(dhcp-config)#exit

  Router(config)#ip dhcp pool Pool_for_vlan_3

  Router(dhcp-config)#network 10.0.0.0 255.0.0.0

  Router(dhcp-config)#default-router 10.10.10.1

  Router(dhcp-config)#dns-server 8.8.8.8

  Router(dhcp-config)#exit

Я думаю читавшим предыдущие статьи по настройки DHCPвсе уже стало понятно. Первыми пятью командами мы создаем первый DHCPпул для vlan 2. Вторыми пятью DHCPпул для vlan 3. Маршрутизатор, основываясь на данных указанных в командах network и default-router, будет определять принадлежность конкретного пула к конкретному субинтерфейсу, и, как следствие,  каждый из пулов будет раздаваться только в конкретный vlan. Давайте проверим данную конфигурацию. Перейдем на компьютер PC0 и выполним на нем команду ipconfig/renew, которая запросит у маршрутизатора новые настройки DHCP. Если все сделано верно он должен получить IP адрес 192.168.1.2.

Выполнение ipconfig /renew на PC0

Далее выполняем аналогичные действия на PC1, если все сделано верно он должен получить IPадрес 10.0.0.1.Теперь проверим работу маршрутизации. Как мы это делали видно из скриншотов.

Проверка работы муршрутизации с PC0
Проверка работы маршрутизации с PC1

Ну и на последок чтобы окончательно удостовериться в нашей правоте добавим в схему еще один хост PC2 и подключим его к интерфейсу fastEthernet 0/3 коммутатору. Выставим в его настройках чтобы он также как и остальные хосты получал настройки по DHCP. По умолчанию данный хост находится в vlan 1 и естественно не получает никаких настроек даже если мы на нем выполним ipconfigrenew. Чтобы это исправить, давайте для начала, закинем его в vlan 2. Для этого выполним команды:

  Switch(config)#interface fastEthernet 0/3

  Switch(config-if)#switchport mode access

  Switch(config-if)#switchport access vlan 2

После чего перейдем на хост  PC2 и выполним команду ipconfig/renew.

Компьютер PC2 получил IP адрес из пула для vlan 2

Как можно заметить компьютер получил следующий по порядку IPадрес из пула для vlan 2. Теперь давайте перекинем данный хост в vlan 3 и посмотрим что с ним станет, для этого выполним команды:

  Switch(config)#interface fastEthernet 0/3

  Switch(config-if)#switchport access vlan 3

После чего опять выполним на хосте PC2 ipconfig/renew.

Компьютер PC2 получил IP адрес из пула для vlan 3

Как можно заметить хост получил IPадрес из пула для vlan 3. Что нам и требовалось.

Надеюсь я ответил на Ваш вопрос =)

Хотелось бы выразить огромную благодарность мои друзьям, замечательной семье Гостюниных, которые заставили меня вновь писать статьи  в блог!

Опубликовано в: Маршрутизаторы, Cisco, DHCP, Packet Tracer

[править] Примеры конфигураций

Пример конфигурации маршрутизатора Cisco

!
version 12.4
!
hostname Router
!
!
ip dhcp excluded-address 192.168.20.1
ip dhcp excluded-address 192.168.30.1
ip dhcp excluded-address 192.168.40.1
ip dhcp excluded-address 192.168.50.1
ip dhcp excluded-address 192.168.90.1
!
ip dhcp pool guest
   network 192.168.20.0 255.255.255.0
   default-router 192.168.20.1 
!
ip dhcp pool marketing
   network 192.168.30.0 255.255.255.0
   default-router 192.168.30.1 
!
ip dhcp pool sales
   network 192.168.40.0 255.255.255.0
   default-router 192.168.40.1 
!
ip dhcp pool restricted
   network 192.168.50.0 255.255.255.0
   default-router 192.168.50.1 
!
ip dhcp pool unauthenticated
   network 192.168.90.0 255.255.255.0
   default-router 192.168.90.1 
!
!
!
interface FastEthernet0/0
 ip address 192.168.1.1 255.255.255.0
!
interface FastEthernet0/0.20
 encapsulation dot1Q 20
 ip address 192.168.20.1 255.255.255.0
!
interface FastEthernet0/0.30
 encapsulation dot1Q 30
 ip address 192.168.30.1 255.255.255.0
!
interface FastEthernet0/0.40
 encapsulation dot1Q 40
 ip address 192.168.40.1 255.255.255.0
!
interface FastEthernet0/0.50
 encapsulation dot1Q 50
 ip address 192.168.50.1 255.255.255.0
!
interface FastEthernet0/0.90
 encapsulation dot1Q 90
 ip address 192.168.90.1 255.255.255.0
!

Настройка логов ISC DHCP Server

Редактируем syslog.conf:

ee /etc/syslog.conf

Сохраняем сообщения о присвоении адресов в dhcpd.log, предупреждения и ошибки дублируем в messages.

Добавляем следующие строки:

!dhcpd
*.info                                          -/var/log/dhcpd.log
!*

Задаем параметры ротации.

Проверяем, поддерживается ли вашей системой newsyslog.conf.d

ls /etc/newsyslog.conf.d && echo ok

Если в вашей системе отсутствует папка newsyslog.conf.d, редактируем newsyslog.conf:

ee /etc/newsyslog.conf

Если папка newsyslog.conf.d имеется, создаем папку с тем же именем в /usr/local/etc:

mkdir /usr/local/etc/newsyslog.conf.d

Создаем файл c правилами ротации логов:

ee /usr/local/etc/newsyslog.conf.d/isc-dhcp-server

Ежедневная ротация в полночь с сохранением логов за неделю:

/var/log/dhcpd.log                      600  7     *    @T00  JC

Создаем лог-файл:

touch /var/log/dhcpd.log

Перезагружаем конфигурацию syslogd:

service syslogd reload

dhcp relay настройка

cisco dhcp relay в двух словах это ретранслятор, который отлавливает пакеты DHCPDISCOVER и перенаправляет их DHCP серверу, за счет этого можно уменьшить количество DHCP серверов. Приступим и настроим наш dhcp relay.

int gi0/0.2 ip helper-address 192.168.4.1 exit Router(config)#int gi0/0.3 ip helper-address 192.168.4.1 exit do wr mem

Теперь у нас в каждом vlan появился ретранслятор на наш dhcp сервер.  Так же в целях безопасности вы можете настроить, чтобы у вас доверенным был только определенный dhcp сервер с определенного порта, а все остальные будут игнорироваться. Возьмем за тест компьютер со статическим ip 192.168.2.1, посмотрим текущие настройки сети командой ipconfig, ставим автоматическое получение, и видим что получили 192.168.2.50. DHCP в vlan2 работает.

Configure VLANs

Perform these steps to configure VLANs on your router, beginning in global configuration mode:

 

Command

Purpose

Step 1 

vlan ?

Example:

Router# config t
Router(config)#vlan ?
WORD        ISL VLAN IDs 1-4094
accounting  VLAN accounting configuration
ifdescr     VLAN subinterface ifDescr
Router(config)#

Enters VLAN configuration mode.

Step 2 

ISL VLAN ID

Example:

Router(config)#2
Router(config-

Adds VLANs, with identifiers ranging from 1- 4094.

For details about this command and additional parameters that can be set, see the Cisco IOS Switching Services Command Reference.

Step 3 

exit

Example:

Router(config-exit
Router(config)#

Updates the VLAN database, propagates it throughout the administrative domain, and returns to global configuration mode.

Assign a Switch Port to a VLAN

Perform these steps to assign a switch port to a VLAN, beginning in global configuration mode:

 

Command

Purpose

Step 1 

interface switch port id

Example:

Router(config)# interface FastEthernet 2
Router(config-if)# 

Specifies the switch port that you want to assign to the VLAN.

Step 2 

switchportaccess vlan vlan-id

Example:

Router(config-if)# switchport access vlan 2
Router(config-if)#

Assigns a port to the VLAN.

Step 3 

end

Example:

Router(config-if)# end
Router# 

Exits interface mode and returns to privileged EXEC mode.

Verify Your VLAN Configuration

Use the following commands to view your VLAN configuration.

show—Entered from VLAN database mode. Displays summary configuration information for all configured VLANs.

•show vlan-switch—Entered from privileged EXEC mode. Displays detailed configuration information for all configured VLANs.

Router# vlan database
Router(vlan)# show
  VLAN ISL Id: 1
    Name: default
    Media Type: Ethernet
    VLAN 802.10 Id: 100001
    State: Operational
    MTU: 1500
    Translational Bridged VLAN: 1002
    Translational Bridged VLAN: 1003
  VLAN ISL Id: 2 
    Name: VLAN0002 
    Media Type: Ethernet 
    VLAN 802.10 Id: 100002 
    State: Operational 
    MTU: 1500
  VLAN ISL Id: 3 
    Name: red-vlan 
    Media Type: Ethernet 
    VLAN 802.10 Id: 100003 
    State: Operational 
    MTU: 1500
  VLAN ISL Id: 1002
    Name: fddi-default
    Media Type: FDDI
    VLAN 802.10 Id: 101002
    State: Operational
    MTU: 1500
    Bridge Type: SRB
    Translational Bridged VLAN: 1
    Translational Bridged VLAN: 1003
  VLAN ISL Id: 1003
    Name: token-ring-default
    Media Type: Token Ring
    VLAN 802.10 Id: 101003
    State: Operational
    MTU: 1500
    Bridge Type: SRB
    Ring Number: 0
    Bridge Number: 1
    Parent VLAN: 1005
    Maximum ARE Hop Count: 7
    Maximum STE Hop Count: 7
    Backup CRF Mode: Disabled
    Translational Bridged VLAN: 1
    Translational Bridged VLAN: 1002
  VLAN ISL Id: 1004
    Name: fddinet-default
    Media Type: FDDI Net
    VLAN 802.10 Id: 101004
    State: Operational
    MTU: 1500
    Bridge Type: SRB
    Bridge Number: 1
    STP Type: IBM
  VLAN ISL Id: 1005
    Name: trnet-default
    Media Type: Token Ring Net
    VLAN 802.10 Id: 101005
    State: Operational
    MTU: 1500
    Bridge Type: SRB
    Bridge Number: 1
    STP Type: IBM
Router# show vlan-switch
VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Fa0, Fa1, Fa3
2    VLAN0002                         active    Fa2
1002 fddi-default                     active
1003 token-ring-default               active
1004 fddinet-default                  active
1005 trnet-default                    active
VLAN Type  SAID       MTU   Parent RingNo BridgeNo Stp  BrdgMode Trans1 Trans2
---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
1    enet  100001     1500  -      -      -        -    -        1002   1003
2    enet  100002     1500  -      -      -        -    -        0      0
1002 fddi  101002     1500  -      -      -        -    -        1      1003
1003 tr    101003     1500  1005   0      -        -    srb      1      1002
1004 fdnet 101004     1500  -      -      1        ibm  -        0      0
1005 trnet 101005     1500  -      -      1        ibm  -        0      0

[править] Конфигурационные файлы

DHCP-сервер

Конфигурационный файл DHCP-сервера:

ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;

subnet 192.168.25.0 netmask 255.255.255.0 {
  range 192.168.25.200 192.168.25.220;
  option routers 192.168.25.254;
}

subnet 192.168.10.0 netmask 255.255.255.0 {
  range 192.168.10.10 192.168.10.15;
  option routers 192.168.10.1;
}

subnet 192.168.30.0 netmask 255.255.255.0 {
  range 192.168.30.10 192.168.30.15;
  option routers 192.168.30.1;
}

Коммутаторы ProCurve

Конфигурация sw1:

; J4906A Configuration Editor; Created on release #M.10.41

hostname "sw1"
vlan 1 
   name "DEFAULT_VLAN" 
   untagged 2-6,8-48 
   ip address dhcp-bootp 
   no untagged 1,7 
   exit 
vlan 10 
   name "VLAN10" 
   untagged 1 
   tagged 24 
   exit 
vlan 30 
   name "VLAN30" 
   untagged 7 
   tagged 24 
   exit 

# Включение DHCP snooping
dhcp-snooping

# Включение DHCP snooping в VLAN'ах 1, 10, 30
dhcp-snooping vlan 1 10 30 

# Настройка 24 порта доверенным
interface 24
   dhcp-snooping trust
   exit

Конфигурация sw2:

; J8697A Configuration Editor; Created on release #K.13.23

hostname "sw2"
module 1 type J8705A
interface A10
   disable   
exit
ip routing   
snmp-server community "public" Unrestricted
vlan 1
   name "DEFAULT_VLAN"
   untagged A2-A24
   ip address dhcp-bootp
   no untagged A1
   exit
vlan 10
   name "VLAN10"

# По умолчанию на коммутаторе включен DHCP-ретранслятор.
# ip helper-address указывает куда перенаправлять DHCP-запросы. 
# 192.168.25.254 — адрес DHCP-сервера.
# Теперь все DHCP-запросы полученные в этом VLAN будут перенаправлены на адрес 192.168.25.254.
   ip helper-address 192.168.25.254 
   ip address 192.168.10.1 255.255.255.0 
   tagged A5 
   exit 
vlan 30 
   name "VLAN30" 

# ip helper-address указывает куда перенаправлять DHCP-запросы. 
   ip helper-address 192.168.25.254 
   ip address 192.168.30.1 255.255.255.0 
   tagged A5 
   exit 
vlan 25 
   name "VLAN25" 
   untagged A1 
   ip address 192.168.25.1 255.255.255.0 
   exit 

# Включение DHCP snooping
dhcp-snooping

# Задание адреса авторизованного DHCP-сервера
dhcp-snooping authorized-server 192.168.25.254

# Настройка политики обработки опции 82. 
# Так как на коммутаторе sw1 включен DHCP snooping, 
# то на коммутатор sw2 DHCP-запросы приходят с опцией 82. 
# По умолчанию коммутатор такие пакеты отбрасывает. 
# Эта политика указывает, что опцию 82 в пришедших пакетах надо заменить.
dhcp-snooping option 82 untrusted-policy replace

# Включение DHCP snooping в VLAN'ах 1, 10, 25, 30
dhcp-snooping vlan 1 10 25 30 

# Настройка порта a1 доверенным
interface A1
   dhcp-snooping trust
   exit
Рейтинг
( Пока оценок нет )
Понравилась статья? Поделитесь с друзьями:
Технарь
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.