В данной статье речь пойдет о построении сети с использованием технологии подключения пользователей, известной как IPoE с использованием динамической выдачи адресов по протоколу DHCP с использованием опции 82.
Итак нашей задачей является построить сеть в которой от пользователя требуется минимум действий для авторизации и работы в сети. Можно даже назвать это как: «воткнул кабель в компьютер, и заработало».
В качестве биллинговой системы мы будем использовать бесплатную (до 200 абонентов) сертифицированную АСР Felix2. В качестве DHCP сервера будем использовать ISC DHCP сервер.
Общая схема работы
Когда пользователь включает компьютер, операционная система отправляет DHCP запрос на получение IP адреса в сеть. На коммутаторе включено перенаправление DHCP запросов (DHCP Relay) и включена поддержка опции 82 протокола DHCP, поэтому он перехватывает DHCP запрос от пользователя, добавляет данные Option82 (Agent Circuit ID и Agent Remote ID) к DHCP пакету и перенаправляет запрос на DHCP сервер.
Когда DHCP запрос попадает на DHCP сервер, тот выдает IP-адрес основываясь на данных текущей конфигурации. В конфигурации задано соответствие IP-адреса, выдаваемого пользователю, IP-адресу и порту коммутатора к которому подключен пользователь. Конфигурация DHCP сервера формируется АСР Felix2 по имеющейся в базе данных информации.
АСР Felix2 периодически забирает от DHCP сервера данные о MAC адресах пользователей (которым были выданы IP-адреса) на портах коммутаторов. По IP-адресу и номеру порта коммутатора система находит пользователя в базе и отмечает, что MAC адрес принадлежит этому пользователю.
Также АСР Felix2 периодически забирает ARP таблицу с маршрутизатора (таблица соответствий IP — MAC) и, если пара IP-MAC соответствует пользователю в базе, данный пользователь считается авторизованным. Как только пара IP-MAC пропадает (пользователь выключает компьютер) система переводит пользователя в список неавторизованных (выполнив перед этим проверку, что оборудование абонента действительно выключено).
Практическая реализация
Для начала нам потребуется компьютер с двумя сетевыми картами и любой коммутатор, поддерживающий DHCP Relay (option 82). Первую (тестовую) сеть будем строить по следующей схеме:
В данной схеме система на АСР Felix2 будет выполнять дополнительно функцию маршрутизатора.
Установка
Скачаем (felix2.ru/download) и установим любым из описанных способов на сервер АСР Felix2. В данной статье мы будем использовать «Установочный диск АСР Felix2». Подробная инструкция по установке АСР Felix2 находится здесь: felix2.ru/documentation После установки входим в систему, используя логин root и пароль, указанный во время установки. Сетевой интерфейс eth0 после установки сконфигурирован для работы с внутренней сетью:
IP-адрес: 10.1.1.1 Маска подсети: 255.255.255.0
Интерфейс eth1 нужно настроить для работы с вышестоящим Интернет провайдером:
Здесь 1.1.1.2 — IP-адрес выданный нам вышестоящим Интернет провайдером, 1.1.1.1 – IP-адрес шлюза провайдера. Чтобы конфигурация сети не сбросилась после перезагрузки, ее нужно описать в файле /etc/network/interfaces
Установим ISC-DHCP сервер:
Сразу после установки DHCP сервер не запустится, так он еще не сконфигурирован:
Конфигурирование
Файл шаблона конфигурации ISC DHCP сервера (dhcp_opt82_ip-port.conf) и все остальные необходимые конфигурационные файлы можно скачать отсюда: ftp://download.felix2.ru/config.examples/felix2_dhcp_opt82.tar.gz
Создание оборудования и тестового пользователя в АСР Felix2
Зайдем в веб-интерфейс администратора. Можно для этого использовать тестовую машину, временно поставив на ней статический IP-адрес (например 10.1.1.10/24). Веб интерфейс администратора доступен на 444 порту по протоколу HTTPS. Логин/пароль по умолчанию: su/su.
Чтобы появились дополнительные поля в интерфейсе, укажем в настройках интерфейса (Конфигурация -> Настройки интерфейса) что используется схема выдачи адресов DHCP-Opt82:
Теперь добавим наш коммутатор в базу оборудования (Оборудование -> Новое оборудование): Статус: Установлено, IP-адрес: 10.1.1.253, Модель: DES-3200-28, и нажмем «Добавить».
Создаем нового пользователя (Пользователи -> Новый пользователь). Выбираем адрес подключения. Система автоматически предложит подсеть, используемую в данном доме и выберет первый свободный IP-адрес.
Выбираем оборудование к которому будет подключен пользователь. Система предложит выбрать оборудование из списка оборудования, установленного в данном доме.
Указываем что пользователь будет подключен к первому порту коммутатора. Отмечаем флаг «Подключение выполнено» и нажимаем «Добавить».
После этого пополняем счет (Пополнения счета -> Новое пополнение), активируем тарифный план (Платежи -> Платеж по тарифу). Посмотреть текущее состояние пользователя можно в (Пользователи -> Личная статистика).
Проверим, что конфигурационный файл DHCP сервера обновился:
Проверим, что DHCP сервер работает:
Настройка коммутатора
Теперь нужно настроить коммутатор. Если коммутатор «из коробки», в инструкции должен быть указан IP-адрес «по умолчанию». Если оборудование «б/у», и вы не знаете какой у него IP-адрес/логин/пароль, нужно сбросить конфигурацию через консольное подключение.
В данной статье мы будем использовать коммутатор DES-3200-28 «из коробки».
Ставим на тестовой машине статический IP-адрес (например 10.90.90.1/8) Подключаемся к коммутатору по протоколу telnet:
Включаем, настраиваем DHCP Relay:
Теперь коммутатор будет перехватывать DHCP запросы, добавлять идентификационную информацию (option 82) и отправлять на DHCP сервер (10.1.1.1) Задаем маршрут «по умолчанию» и новый IP-адрес коммутатора:
После последней команды (смена IP-адреса) соединение будет разорвано. Ставим на тестовой машине статический IP-адрес (например 10.1.1.10/24) Подключаемся к коммутатору по новому адресу, сохраняем конфигурацию:
Включаем на тестовом компьютере получение сетевых настроек по DHCP. Подключаем тестовый компьютер в первый порт коммутатора. Проверяем что DHCP-Relay пакеты от коммутатора доходят до сервера и клиент получает IP-адрес:
Проверяем, что данные пользователя правильно отображаются в интерфейсе АСР Felix2.
Реальная схема сети
600 абонентов). Аплинк от магистрального провайдера приходит в оптический порт коммутатора. Этот порт нужно объединить в VLAN с портом, куда подключается сетевая карта eth1 от сервера с АСР Felix2.
Например, объединяем 1 и 24 порт в 1000й VLAN:
При росте сети также желательно разнести дома по отдельным VLAN.
Схема сети с выделенным маршрутизатором
При росте внутрисетевого(локального) трафика, соединение между коммутатором и сервером с АСР Felix2, выполняющим одновременно роль маршрутизатора, станет узким местом. Чтобы избежать этого, нужно установить выделенный маршрутизатор.
Также нужно указать АСР Felix2 получать ARP таблицу с внешнего маршрутизатора. Отредактируем файл /etc/felix2/felix2.xml:
Модуль arp_fetcher может получать таблицу ARP адресов с оборудования CISCO (interface=«CISCO»), D-Link (interface=«DLINK»), или с программного маршрутизатора на базе Linux (interface=«Linux»).
По просьбе хабражителей добавлен пример сгенерированного системой конфигурационного файла для ISC DHCP сервера. В данном примере пользователям, подключенным в порты 1-3 коммутатора с адресом 10.1.1.253, выдаются адреса 10.1.1.2-10.1.1.4 соответственно.
Источник
Astra linux ping unknown option 82
хочу на уровне агрегации Catalyst 4000 L3 Switch Software (cat4000-I5K91S-M), Version 12.2(25)EWA14 Supervisor III 1000BaseX (GBIC) WS-X4014 JAB081104MQ по порту(влану-если добавить на доступ свич с влан .1q) выдавать ип если включаю просто релей, то комп получает ип без проблем ! interface FastEthernet2/33 no switchport ip address 10.10.10.1 255.255.255.0 ip helper-address 192.168.0.55 ! interface FastEthernet2/34 no switchport ip address 192.168.0.222 255.255.255.0 !
дебаг дхцп Wrote 0 leases to leases file. Listening on Socket/ed1/192.168.0/24 Sending on Socket/ed1/192.168.0/24 DHCPDISCOVER from 00:11:2f:80:6b:37 via 10.10.10.1 DHCPOFFER on 10.10.10.140 to 00:11:2f:80:6b:37 (philka) via 10.10.10.1 DHCPDISCOVER from 00:11:2f:80:6b:37 (philka) via 10.10.10.1 DHCPOFFER on 10.10.10.140 to 00:11:2f:80:6b:37 (philka) via 10.10.10.1 DHCPDISCOVER from 00:11:2f:80:6b:37 (philka) via 10.10.10.1 DHCPOFFER on 10.10.10.140 to 00:11:2f:80:6b:37 (philka) via 10.10.10.1 DHCPREQUEST for 10.10.10.140 (192.168.0.55) from 00:11:2f:80:6b:37 (philka) via 10.10.10.1 DHCPACK on 10.10.10.140 to 00:11:2f:80:6b:37 (philka) via 10.10.10.1
а если включаю опт82 на циске Switch#sh ip dh sn Switch DHCP snooping is disabled DHCP snooping is configured on following VLANs: none Insertion of option 82 is enabled Option 82 on untrusted port is not allowed Verification of hwaddr field is enabled Interface Trusted Rate limit (pps)
с таким конфом дхцп subnet 10.10.10.0 netmask 255.255.255.0 < class «port-33» < match if binary-to-ascii (10, 8, «», suffix( option agent.circuit-id, 1)) = «33»; > pool < range 10.10.10.33 10.10.10.33; allow members of «port-33»; > >
то дебаг выдает DHCPDISCOVER from 00:11:2f:80:6b:37 via 10.10.10.1: network 10.10.10/24: no free leases
тоже самое если включаю еще на циске снупинг и ip dhcp snooping information option allow-untrusted
не пойму в чем проблема или опт82 не вставляется на циске или неправильно класс описал в дхцп или еще в чем-то
Высказать мнение | Ответить | Правка | Cообщить модератору
>[оверквотинг удален] > >то дебаг выдает >DHCPDISCOVER from 00:11:2f:80:6b:37 via 10.10.10.1: network 10.10.10/24: no free leases > >тоже самое если включаю еще на циске снупинг и >ip dhcp snooping information option allow-untrusted > >не пойму в чем проблема или опт82 не вставляется на циске или > >неправильно класс описал в дхцп или еще в чем-то
не по теме, а что такое уровень агрегации (любопытно очень) ? что это за модель.
>[оверквотинг удален] >> >>тоже самое если включаю еще на циске снупинг и >>ip dhcp snooping information option allow-untrusted >> >>не пойму в чем проблема или опт82 не вставляется на циске или >> >>неправильно класс описал в дхцп или еще в чем-то > >не по теме, а что такое уровень агрегации (любопытно очень) ? что >это за модель.
Трехуровневая модель от Циско: http://www.mcmcse.com/cisco/guides/hierarchical_model.shtml Хотя, сейчас рулит четырехуровневая, добавился service specific level.
>[оверквотинг удален] >>> >>>не пойму в чем проблема или опт82 не вставляется на циске или >>> >>>неправильно класс описал в дхцп или еще в чем-то >> >>не по теме, а что такое уровень агрегации (любопытно очень) ? что >>это за модель. > >Трехуровневая модель от Циско: http://www.mcmcse.com/cisco/guides/hierarchical_model.shtml >Хотя, сейчас рулит четырехуровневая, добавился service specific level.
хорошо, тогда Вам нужно прочесть мотериал, на который указывает ссылка (самостоятельно). на мой взгляд слово «агрегация» может трактоваться кем-то по-разному, но к Cisco Three-Layered Hierarchical Model и Enterprice Composite Network Model — это неимеет никакого отношения.
>[оверквотинг удален] >> >>Трехуровневая модель от Циско: http://www.mcmcse.com/cisco/guides/hierarchical_model.shtml >>Хотя, сейчас рулит четырехуровневая, добавился service specific level. > >хорошо, тогда Вам нужно прочесть мотериал, на который указывает ссылка (самостоятельно). >на мой взгляд слово «агрегация» может трактоваться кем-то по-разному, но к Cisco >Three-Layered Hierarchical Model и Enterprice Composite Network Model — это неимеет >никакого отношения. > >
Да, в чем-то Вы правы. Но, иногда, уровень распределения трактуется как уровень, который агрегирует уровень доступа(. The Distribution layer acts as an aggregation point for all the Access layer devices. (http://articles.techrepublic.com.com/5100-10878_11-5032795.html)).
А вот, с cisco.com:
Function of the Distribution Layer
The distribution layer of the network is the demarcation point between the access and core layers and helps to define and differentiate the core. The purpose of this layer is to provide boundary definition and is the place at which packet manipulation can take place. In the campus environment, the distribution layer can include several functions, such as the following:
•Address or area aggregation
•Departmental or workgroup access
•Broadcast/multicast domain definition
•Virtual LAN (VLAN) routing
•Any media transitions that need to occur
Как видно, слово «агрегация» все же имеет отношение к иерархическим моделям циско. С тем что оно может трактоваться по-разному я согласен. Но, тогда не проще ли спросить у «первоисточника», автора вопроса, что он имел в виду? 🙂 Автор, Вам слово 🙂
>[оверквотинг удален] >•Any media transitions that need to occur > >•Security > >http://www.cisco.com/en/US/docs/internetworking/design/guide. > >Как видно, слово «агрегация» все же имеет отношение к иерархическим моделям циско. >С тем что оно может трактоваться по-разному я согласен. Но, тогда >не проще ли спросить у «первоисточника», автора вопроса, что он имел >в виду? 🙂 Автор, Вам слово 🙂
Все верно, но название такого уровня нет, а в задачи уровня распределния входит как раз — aggregation point for all the Access layer devices, слово «агрегация» можно заменить например — обьединение, включение и тд. Прошу прощения, за разведение небольшого офф-топика
>[оверквотинг удален] > >а если включаю опт82 на циске >Switch#sh ip dh sn >Switch DHCP snooping is disabled >DHCP snooping is configured on following VLANs: >none >Insertion of option 82 is enabled >Option 82 on untrusted port is not allowed >Verification of hwaddr field is enabled >Interface Trusted Rate limit (pps)
Почему снупинг не включаешь?
>[оверквотинг удален] > >то дебаг выдает >DHCPDISCOVER from 00:11:2f:80:6b:37 via 10.10.10.1: network 10.10.10/24: no free leases > >тоже самое если включаю еще на циске снупинг и >ip dhcp snooping information option allow-untrusted > >не пойму в чем проблема или опт82 не вставляется на циске или > >неправильно класс описал в дхцп или еще в чем-то
на каталисте(dhcp relay) ip dhcp snooping vlan 20 ip dhcp snooping information option format remote-id hostname ip dhcp snooping
interface Vlan20 . ip helper-address 172.25.25.14
sh ip dhcp snooping Switch DHCP snooping is enabled DHCP snooping is configured on following VLANs: 20 DHCP snooping is configured on the following Interfaces:
Insertion of option 82 is enabled circuit-id format: vlan-mod-port remote-id format: hostname Option 82 on untrusted port is not allowed Verification of hwaddr field is enabled Interface Trusted Rate limit (pps) ———————— ——- —————- GigabitEthernet1/0/1 yes unlimited GigabitEthernet1/0/11 no 100 GigabitEthernet1/0/15 no 300 GigabitEthernet1/0/17 no 50 GigabitEthernet1/0/19 no 50 GigabitEthernet2/0/2 no 200 GigabitEthernet2/0/4 no 200 GigabitEthernet2/0/6 no 200 GigabitEthernet2/0/9 no 100
трастовый порт — это порт с которого «прилетает» ответ от dhcp сервера.
Дебаг включаем так: deb ip dhcp snooping или deb ip dhcp snooping packet (для всех dhcp запросов)
На DHCP сервере:
class «ATS-XXX.XXX» < match if substring(option agent.remote-id, 2, 50) = «sw01.ats-xxx.xxx» and binary-to-ascii(16, 8, «:», packet(28, 3)) = «0:2:2» and option vendor-class-identifier = «Aminoaminet110fisys»; >
class «ANY» < match if not exists agent.circuit-id or not exists agent.remote-id; >
subnet 10.230.31.0 netmask 255.255.255.0 < pool < range 10.230.31.2 10.230.31.253; allow members of «ATS-XXX.XXX»; deny members of «ANY»; > option routers 10.230.31.1; option subnet-mask 255.255.255.0; option broadcast-address 10.230.31.255; > >
На стороне DHCP сервера, дебажим так: tcpdump -i eth0 -nn -s 0 -v port 67 or port 68 | grep -B 50 -A 50 ‘Client-Ethernet-Address 00:02:02:18:82:70’
Вообще, сообщение вида ‘DHCPDISCOVER . no free leases’ появляется в следующий случаях: 1. все ip из данной подсети выданы 2. не проходит match(скорее всего, твой случай) 3. не описана соответствующая подсеть(нет секции subnet. хотя не уверен. )
Сообщение от charliecharlie(ok) on 03-Май-09, 10:50
>Вообще, сообщение вида ‘DHCPDISCOVER . no free leases’ появляется в следующий случаях: > >1. все ip из данной подсети выданы >2. не проходит match(скорее всего, твой случай) >3. не описана соответствующая подсеть(нет секции subnet. хотя не уверен. )
sproot спаибо за ответ
по порядку 1. если смотреть вышеприведенную ссылку по модели циско то я имею ввиду уровень дистрибуции только я хочу использовать на дистрибуции Л3, а в ядре Л2 2. Ваш пример подходит для случая дистрибуция Л2, ядро Л3 (т.е. вы все вланы тяните в ядро) 3. Снупинг не включен только в этом примере, но я его включал, результат не меняется 4. по поводу no free leases у меня 2 идеи: или не проходит матч или все таки не вставляется опция 82
Вы можете показать живой дебаг дхцп сервера когда приходит запрос с опц82?
>[оверквотинг удален] >только я хочу использовать на дистрибуции Л3, а в ядре Л2 >2. Ваш пример подходит для случая дистрибуция Л2, ядро Л3 (т.е. вы >все вланы тяните в ядро) >3. Снупинг не включен только в этом примере, но я его включал, >результат не меняется >4. по поводу no free leases у меня 2 идеи: или не >проходит матч или все таки не вставляется опция 82 > >Вы можете показать живой дебаг дхцп сервера когда приходит запрос с опц82? >
May 3 00:16:37 bs03 dhcpd: DHCPDISCOVER from 00:02:02:15:6d:d8 via 10.230.108.1 May 3 00:16:38 bs03 dhcpd: DHCPOFFER on 10.230.108.42 to 00:02:02:15:6d:d8 via 10.230.108.1 May 3 00:16:38 bs03 dhcpd: DHCPREQUEST for 10.230.108.42 (172.25.25.14) from 00:02:02:15:6d:d8 via 10.230.108.1 May 3 00:16:38 bs03 dhcpd: DHCPACK on 10.230.108.42 to 00:02:02:15:6d:d8 via 10.230.108.1 May 3 00:16:38 bs03 dhcpd: DHCPREQUEST for 10.230.108.42 from 00:02:02:15:6d:d8 via eth0 May 3 00:16:38 bs03 dhcpd: DHCPACK on 10.230.108.42 to 00:02:02:15:6d:d8 via eth0 May 3 00:16:43 bs03 dhcpd: DHCPREQUEST for 10.230.108.42 from 00:02:02:15:6d:d8 via eth0 May 3 00:16:43 bs03 dhcpd: DHCPACK on 10.230.108.42 to 00:02:02:15:6d:d8 via eth0 May 3 00:16:51 bs03 dhcpd: DHCPREQUEST for 10.230.108.42 from 00:02:02:15:6d:d8 via eth0
Сообщение от charliecharlie(ok) on 03-Май-09, 20:52
>May 3 00:16:37 bs03 dhcpd: DHCPDISCOVER from 00:02:02:15:6d:d8 via 10.230.108.1 >May 3 00:16:38 bs03 dhcpd: DHCPOFFER on 10.230.108.42 to 00:02:02:15:6d:d8 via >10.230.108.1 >May 3 00:16:38 bs03 dhcpd: DHCPREQUEST for 10.230.108.42 (172.25.25.14) from 00:02:02:15:6d:d8 >via 10.230.108.1 >May 3 00:16:38 bs03 dhcpd: DHCPACK on 10.230.108.42 to 00:02:02:15:6d:d8 via >10.230.108.1
дебаг дхцп с и без опции82 не отличается, у меня такой же без опции82
опытным путем вычислил что не проходит матч
скажите а как вы разбирали формат опции82, и вычислили что у вашего каталиста именно такой матч?
>[оверквотинг удален] >>May 3 00:16:38 bs03 dhcpd: DHCPACK on 10.230.108.42 to 00:02:02:15:6d:d8 via >>10.230.108.1 > >дебаг дхцп с и без опции82 не отличается, у меня такой же >без опции82 > >опытным путем вычислил что не проходит матч > >скажите а как вы разбирали формат опции82, и вычислили что у вашего >каталиста именно такой матч?
смотрел tcpdump-ом(пример см. выше). Странно, что без опции 82 лог у тебя такой же. В принципе, «via » говорит о том что запрос пришел с dhcp relay. Смотрю исходник server/dhcp.c:
snprintf (msgbuf, sizeof msgbuf, «DHCPDISCOVER from %s %s%s%svia %s», (packet -> raw -> htype ? print_hw_addr (packet -> raw -> htype, packet -> raw -> hlen, packet -> raw -> chaddr) : (lease ? print_hex_1(lease->uid_len, lease->uid, 60) : » «)), s ? «(» : «», s ? s : «», s ? «) » : «», packet -> raw -> giaddr.s_addr ? inet_ntoa (packet -> raw -> giaddr) : packet -> interface -> name);
Поле giaddr заполняется dhcp агентом, если оно не пустое, то в логе ты увидишь «via «. В противном случае, если пакет пришел с ethernet сегмента, в котором сидит dhcp сервер, тогда будет «via «.
Сообщение от charliecharlie(ok) on 04-Май-09, 17:56
>смотрел tcpdump-ом(пример см. выше). Странно, что без опции 82 лог у тебя такой же. В принципе, «via » говорит о том что запрос пришел с dhcp relay. Смотрю исходник server/dhcp.c: >
а покажи свой пример тспдампа (правда у меня не линух а фрибсд, может ключи отличаются)
потому что в моем я ниче не вижу
ut# tcpdump -i ed1 -nn -s 0 -v port 67 or port 68 tcpdump: listening on ed1, link-type EN10MB (Ethernet), capture size 65535 bytes 17:56:58.206615 IP (tos 0x0, ttl 255, id 6, offset 0, flags [none], proto: UDP (17), length: 328) 10.10.10.1.67 > 192.168.0.55.67: BOOTP/DHCP, Request from 00:11:2f:80:6b:37, length: 300, hops:1, xid:0x97f0597e, secs:2816, flags: [Broadcast] Gateway IP: 10.10.10.1 Client Ethernet Address: 00:11:2f:80:6b:37 Vendor-rfc1048: DHCP:DISCOVER NOAUTO:Y CID:[ether]00:11:2f:80:6b:37 HN:»philka» VC:»MSFT 5.0″ PR:SM+DN+DG+NS+WNS+WNT+WSC+RD+SR+T249+VO
Сообщение от charliecharlie(ok) on 04-Май-09, 20:28
все-таки не вставлялась опция 82 перевел каталист на Л2 и сразу увидел опцию 82 и тсп-дампом и дебагом Lease for 10.10.10.27 Swith port: 2/27 Switch MAC: 0:6:0:8:a3:69:22:0 Switch IP: 0.0.0.0 VLAN: 1 MAC on the port: 0:11:2f:80:6b:37 DHCPDISCOVER from 00:11:2f:80:6b:37 via ed1
теперь надо разбираться почему в режиме Л3 опция не вставляется
Сообщение от charliecharlie(ok) on 05-Май-09, 13:53
>покажи полный вывод show ip dhcp snooping, в том варианте когда опция >не выставляется.
Switch#sh ip dh sn Switch DHCP snooping is enabled DHCP snooping is configured on following VLANs: 1 Insertion of option 82 is enabled Option 82 on untrusted port is not allowed Verification of hwaddr field is enabled Interface Trusted Rate limit (pps) ———————— ——- —————- Switch#
>P.S. >есть подозрение, что нет команды ip dhcp snooping trust на интерфейсе.
команду траст на Л3 интерф вообще невозмонжо сделать, есть токо релей Switch(config)#interface fa 2/34 Switch(config-if)#ip dhcp ? relay DHCP relay configuration parameters Switch(config-if)#
>[оверквотинг удален] >ip dhcp relay information option >ip dhcp relay information policy keep >ip dhcp relay information trust-all > >interface GigabitEthernet0/2.12 >. > encapsulation dot1Q 12 > ip dhcp relay information trusted > ip helper-address 10.0.0.107 >.
эти команды похоже просто пропускают дхцп-пакет с опцией 82 (если она на более низком уровне вставлена) как релей все работает, получаю адрес из диапазона, но если хочу выдать ип по опции82, не получается, опция 82 не вставляется
а вот если через SVI интерфейс настраиваю, то все работает дебаг циски 00:23:08: DHCP_SNOOPING: received new DHCP packet from input interface (FastEthernet2/27) 00:23:08: DHCP_SNOOPING: process new DHCP packet, message type: DHCPDISCOVER, input interface: Fa2/27, MAC da: ffff.fff.ffff, MAC sa: 0011.2f80.6b37, IP da: 255.255.255.255, IP sa: 0.0.0.0, DHCP ciaddr: 0.0.0.0, DHCP yiaddr: 0.0.0.0, HCP siaddr: 0.0.0.0, DHCP giaddr: 0.0.0.0, DHCP chaddr: 0011.2f80.6b37 00:23:08: DHCP_SNOOPING_SW: lookup packet destination port failed to retrieve source interface idb, mac: 0011.2f80.6b7, mat entry type: 1, port cookie: 418543312 00:23:08: DHCP_SNOOPING: add relay information option. 00:23:08: DHCP_SNOOPING_SW: Encoding opt82 in vlan-mod-port format 00:23:08: DHCP_SNOOPING: binary dump of relay info option, length: 20 data: 0x52 0x12 0x1 0x6 0x0 0x4 0x0 0x2 0x2 0x1B 0x2 0x8 0x0 0x6 0x0 0x8 0xA3 0x69 0x22 0x0 00:23:08: DHCP_SNOOPING_SW: bridge packet get invalid mat entry: FFFF.FFFF.FFFF, packet is flooded to ingress VLAN: () 00:23:08: DHCP_SNOOPING_SW: bridge packet send packet to cpu port: Vlan2. 00:23:09: Intercept routed DHCP Snooping packet from interface: Vl2
дебаг дхцп Lease for 10.10.10.27 Swith port: 2/27 Switch MAC: 0:6:0:8:a3:69:22:0 Switch IP: 10.10.10.1 VLAN: 2 MAC on the port: 0:11:2f:80:6b:37 DHCPDISCOVER from 00:11:2f:80:6b:37 (philka) via 10.10.10.1 DHCPOFFER on 10.10.10.27 to 00:11:2f:80:6b:37 (philka) via 10.10.10.1 Lease for 10.10.10.27 Swith port: 2/27 Switch MAC: 0:6:0:8:a3:69:22:0 Switch IP: 10.10.10.1 VLAN: 2 MAC on the port: 0:11:2f:80:6b:37 DHCPREQUEST for 10.10.10.27 (192.168.0.55) from 00:11:2f:80:6b:37 (philka) via 10.10.10.1 DHCPACK on 10.10.10.27 to 00:11:2f:80:6b:37 (philka) via 10.10.10.1
>[оверквотинг удален] > >дебаг дхцп > Lease for 10.10.10.27 Swith port: 2/27 Switch MAC: 0:6:0:8:a3:69:22:0 Switch IP: >10.10.10.1 VLAN: 2 MAC on the port: 0:11:2f:80:6b:37 >DHCPDISCOVER from 00:11:2f:80:6b:37 (philka) via 10.10.10.1 >DHCPOFFER on 10.10.10.27 to 00:11:2f:80:6b:37 (philka) via 10.10.10.1 > Lease for 10.10.10.27 Swith port: 2/27 Switch MAC: 0:6:0:8:a3:69:22:0 Switch IP: >10.10.10.1 VLAN: 2 MAC on the port: 0:11:2f:80:6b:37 >DHCPREQUEST for 10.10.10.27 (192.168.0.55) from 00:11:2f:80:6b:37 (philka) via 10.10.10.1 >DHCPACK on 10.10.10.27 to 00:11:2f:80:6b:37 (philka) via 10.10.10.1
Да, я сейчас начинаю что-то такое припоминать..Было это еще в прошлом году, когда я настраивать dhcp relay agent для MPLS IP VPN. Наступал на эти же грабли. 🙂 А попробуй-ка ввести вот эту хрень:
ip dhcp relay information option ip dhcp relay information policy replace ip dhcp relay information trust-all
ip dhcp snooping ip dhcp snooping information option ip dhcp snooping information option allowed-untrusted
ну, и ip helper-address на ближайшем L3 интерфейсе к dhcp клиенту.
Это открывает все и вся для опции82.
Скажи, какие команды у тебя есть после ip dhcp relay information option? Какая версия IOS? Чем SVI не устраивает? Вроде как по cisco-идеологии, Opt82 должны выставлять свичи на Access Level.
Хотя, может быть в новых IOS добавили фич по части dhcp relay
Сообщение от charliecharlie(ok) on 05-Май-09, 16:52
>ip dhcp relay information option >ip dhcp relay information policy replace >ip dhcp relay information trust-all >ip dhcp snooping >ip dhcp snooping information option >ip dhcp snooping information option allowed-untrusted >ну, и ip helper-address на ближайшем L3 интерфейсе к dhcp клиенту. >Это открывает все и вся для опции82.
результата не дало
>Скажи, какие команды у тебя есть после ip dhcp relay information option?
Switch(config)#ip dhcp relay information ? check Validate relay information in BOOTREPLY policy Define reforwarding policy trust-all Received DHCP packets may contain relay info option with zero giaddr Switch(config)# Switch(config)#interface fa 2/27 Л3 Switch(config-if)#ip dhcp relay information ? trusted Received DHCP packet may contain relay info option with zero giaddr Switch(config-if)# Switch(config)#interface fastEthernet 2/30 Л2 Switch(config-if)#ip dhcp snooping ? limit DHCP Snooping limit trust DHCP Snooping trust config Switch(config-if)#
>Какая версия IOS?
Catalyst 4000 L3 Switch Software (cat4000-I5K91S-M), Version 12.2(25)EWA14 >Чем SVI не устраивает?
может я чего-то не понимаю, но я не знаю как можно терминировать вланы со свича доступа на SVI
посмотри здесь http://forum.nag.ru/forum/index.php?showtopic=48681 я выложил полные логи и версию ИОС и зачем мне это надо
>>ip dhcp relay information option >>ip dhcp relay information policy replace >>ip dhcp relay information trust-all >>ip dhcp snooping >>ip dhcp snooping information option >>ip dhcp snooping information option allowed-untrusted >>ну, и ip helper-address на ближайшем L3 интерфейсе к dhcp клиенту. >>Это открывает все и вся для опции82. > >результата не дало
>[оверквотинг удален] > trust DHCP Snooping trust config >Switch(config-if)# > >>Какая версия IOS? > >Catalyst 4000 L3 Switch Software (cat4000-I5K91S-M), Version 12.2(25)EWA14 >>Чем SVI не устраивает? > >может я чего-то не понимаю, но я не знаю как можно терминировать >вланы со свича доступа на SVI
а зачем их терминировать когда есть SVI и запущен роутинг(ip routing)?
>посмотри здесь http://forum.nag.ru/forum/index.php?showtopic=48681 >я выложил полные логи и версию ИОС и зачем мне это надо >
Сообщение от charliecharlie(ok) on 07-Май-09, 14:32
тем что кол-во СВИ ограничено, а когда каждый юзер в отдельном влане неудобно будет каждому юзеру свою подсеть создавать > >а зачем их терминировать когда есть SVI и запущен роутинг(ip routing)?
а если я терминирую на Л3 интерфейсе, то создаю одну подсеть на много вланов, юзеров
Сообщение от charliecharlie(ok) on 07-Май-09, 14:39
эту проблему можно решить с помощью IP Unnumbered for VLAN-SVI interfaces но на своей 4006 я его не могу поднять Switch(config)#int loopback 1 Switch(config-if)#ip address 10.10.10.0 255.255.0.0 Switch(config-if)#no ip redirects Switch(config-if)#exit Switch(config)#interface vlan 11 Switch(config-if)#ip unnumbered Loopback 1 Point-to-point (non-multi-access) interfaces only Switch(config-if)#
команды есть, но или я что-то не так делаю, либо они просто не поддерживаются
>>>Чем SVI не устраивает? >тем что кол-во СВИ ограничено, а когда каждый юзер в отдельном влане неудобно >будет каждому юзеру свою подсеть создавать
Ограничено, на 4500 можно 1000 создать, а на 4006 не в курсе..Думаю, что значительно меньше.
Ну, а если бы они в одном вилане сидели бы, как выдавать подсети, по номеру порта?
> >а зачем их терминировать когда есть SVI и запущен роутинг(ip routing)? >а если я терминирую на Л3 интерфейсе, то создаю одну подсеть на много вланов, юзеров
«..одну подсеть на много вланов..». Это как? если, не секрет. Через IP Unnumbered?
>[оверквотинг удален] >Switch(config-if)#ip address 10.10.10.0 255.255.0.0 >Switch(config-if)#no ip redirects >Switch(config-if)#exit >Switch(config)#interface vlan 11 >Switch(config-if)#ip unnumbered Loopback 1 >Point-to-point (non-multi-access) interfaces only >Switch(config-if)# > >команды есть, но или я что-то не так делаю, >либо они просто не поддерживаются
Сообщение от charliecharlie(ok) on 07-Май-09, 19:23
>Ну, а если бы они в одном вилане сидели бы, как выдавать >подсети, по номеру порта?
зачем в одном вилане, пускай в разных сидят на лупбек вешаем сеть например 10,10,0,0/16 а на каждом вилане прописываем ип-аннамберед на лупбек > >>а если я терминирую на Л3 интерфейсе, то создаю одну подсеть на много вланов, юзеров >»..одну подсеть на много вланов..». Это как? если, не секрет. Через IP Unnumbered?
на порт агрегации в режиме Л3 вешаю сеть 10,10,10,0/24, от него на свич доступа аплинк а на свиче доступа уже раздаем виланы
>[оверквотинг удален] >зачем в одном вилане, пускай в разных сидят >на лупбек вешаем сеть например 10,10,0,0/16 >а на каждом вилане прописываем ип-аннамберед на лупбек >> >>>а если я терминирую на Л3 интерфейсе, то создаю одну подсеть на много вланов, юзеров >>»..одну подсеть на много вланов..». Это как? если, не секрет. Через IP Unnumbered? > >на порт агрегации в режиме Л3 вешаю сеть 10,10,10,0/24, от него на >свич доступа аплинк >а на свиче доступа уже раздаем виланы
Понятно. Ну, тогда я незнаю как сделать чтобы было без SVI и с опцией 82. Если найдешь решение, маякни.