Устранение неполадок
Используйте этот раздел для устранения неполадок своей конфигурации.
Средство интерпретации выходных данных (только для зарегистрированных заказчиков) поддерживает некоторые команды 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