Jump to content

Recommended Posts

Posted

Задача такая:

Внедрить DHCP с выдачей адреса по порту(есесно через opt82).

 

Требования к DHCP серверу(по мимо стандартных):

1.Законченое production решение "включил и забыл", без добавления/изменения кода.

2.Динамическое обновление базы привязок из некого источника file/mysql/etc.(без рестартов и насильственных действий по отношению dhcp)

 

Пришёл к выводу что существующие реализации dhcpd не удовлетворяют как минимум второму требованию.

Посмотрев в сторону Cisco и покурив мануалы, обнаружил что оно:

а)умеет выдавать адрес руководствуясь opt82

б)умеет сгружать каждые н секунд базу привязок по TFTP/HTTP/RCP

в)по поводу production думаю вопросов не будет :)

 

Пример достаточно прозрачен:

ip dhcp class user1

relay agent information

relay-information hex 01030a0b0c02050000000123

ip dhcp class user2

relay agent information

relay-information hex 01040102030402020102

ip dhcp class user3

relay agent information

relay-information hex 01040102030402020102

 

ip dhcp pool dom1

network 10.0.0.0 255.255.255.0

class user1

address range 10.0.0.1 10.0.0.1

class user2

address range 10.0.0.2 10.0.0.2

class user3

address range 10.0.0.3 10.0.0.3

 

Собственно вопрос заключается в том, кто данное решение использует в промышленном масштабе, как оно себя ведёт при кол-ве привязок >5000

и соотвествующем трафике, включающим атаки на DHCP.

 

  • Replies 58
  • Created
  • Last Reply

Top Posters In This Topic

Posted
Пришёл к выводу что существующие реализации dhcpd не удовлетворяют как минимум второму требованию.

Посмотрев в сторону Cisco и покурив мануалы, обнаружил что оно:

а)умеет выдавать адрес руководствуясь opt82

б)умеет сгружать каждые н секунд базу привязок по TFTP/HTTP/RCP

в)по поводу production думаю вопросов не будет :)

Не стоит использовать Cisco как DHCP. Не стоит. Причины мне сейчас лениво поднимать из памяти, больно давно это было.

Проблемы точно были. Для офиса из пяти тачек да, для всего остального - не стоит. Шаг в сторону и всё равно придётся поднимать ISC.

Posted
Пришёл к выводу что существующие реализации dhcpd не удовлетворяют как минимум второму требованию.

Посмотрев в сторону Cisco и покурив мануалы, обнаружил что оно:

а)умеет выдавать адрес руководствуясь opt82

б)умеет сгружать каждые н секунд базу привязок по TFTP/HTTP/RCP

в)по поводу production думаю вопросов не будет :)

Не стоит использовать Cisco как DHCP. Не стоит. Причины мне сейчас лениво поднимать из памяти, больно давно это было.

Проблемы точно были. Для офиса из пяти тачек да, для всего остального - не стоит. Шаг в сторону и всё равно придётся поднимать ISC.

всё таки можно более развёрнутый ответ, "бяка! не трогай" не устраивает :)

 

 

Posted

Для ISC DHCP есть патчи которые его учат с LDAP работать.

В репозитории Debian начиная с testing есть пропарченная версия, что заставляет предположить что решение вполне стабильное для продакшен. LDAP хороше поддерживает репликацию, так что если возникнет желание или потребность, можно легко распределить нагрузку.

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

 

 

Posted

Даже в книжке ЦЦПА 3-4чать написанно, что большинство системных администраторов предпочитают использовать для этого компьютер и что он предоставляет больше возможностей. ;)

Posted
всё таки можно более развёрнутый ответ, "бяка! не трогай" не устраивает :)
Нельзя. Стенда нет, программы тестирования нет, прошло уже много лет с момента теста и вспоминать все приколы долго, то есть нет и времени на это.

Я высказал свой опыт. Не более. Допускаю, что он - не истина в последней инстанции.

Хотите - попробуйте. На кошках ;))

Но рядом держите сервер, чтобы в случае чего быстро перебежать.

Posted

в портах фри тоже давно доступен патч для ldap. Учитывая, что стандартным способом можно привязать к ldap еще и isc-bind, то простор большой.

  • 8 months later...
Posted

Подниму тему, так как немного не вкурил доку- Имеем циску 7206 нпе-400 с c7200-is-mz.122-31.SB10.bin настраиваю DHCP сервер с опцией 82, и коммутатор des-3526 в качестве агента, что писать в этой строчке :)? ...

 

relay-information hex 01030a0b0c02050000000123

 

мак адресс свича? что то непохоже он "немного короче" 001CF0A8B564 "полный" адресс клиента 0004000C00010006001CF0A8B564 -1 порт 12 влан тоже не прокатывает... :(

 

 

 

 

Posted

cmhungry - Информативно особенно все что касается именно вопросса :)

Posted (edited)
You must know the hexadecimal value of each byte location in option 82 to be able to configure the relay- information hex command. The option 82 format may vary from product to product. Contact the relay agent vendor for this information.

я смотрел tcpdump пакеты dhcp, там как раз в виде hex выводится значение.

можно просто скопировать, можно выявить закономерность в зависимости от порта-влана.

Edited by ingress
Posted

А как же тогда дхцп сервер на ISG? который циска рекомендует использовать в случае авторизации по опт.82 роутед абонентов?

Posted
cmhungry - Информативно особенно все что касается именно вопросса :)
"Собственно вопрос заключается в том, кто данное решение использует в промышленном масштабе, как оно себя ведёт при кол-ве привязок >5000

и соотвествующем трафике, включающим атаки на DHCP."

я и озвучил попытку запуска этого решения "в промышленном масштабе"

Posted
А как же тогда дхцп сервер на ISG? который циска рекомендует использовать в случае авторизации по опт.82 роутед абонентов?
вот какраз это я и внедряю... еслиб не дела "линейные" оптика ид итп то занялся бы очень конкретно...

Если кто тут работал с фитчами ISG то рад был бы пообщатся...

 

Posted

Снова доползли руки до циски... че только не перепробывал... результат 0

"Столкнулся с проблемой,в режиме приёма запросов от dhcp relay агентов, как обычный DHCP сервер работает замечательно, настраивал по документу http://www.cisco.com/en/US/products/ps6350...ucts_configur...

не понятно магическое число relay-information В качестве агента используется Dlink 3028 c мак адрессом 001cf010fdb2 он находится в влане управления 11 10.2.1.55, свичь настроен правильно на линухе работает... на циске нет..

 

кусок конфига 3028

enable dhcp_relay

config dhcp_relay hops 4 time 0

config dhcp_relay option_82 state enable

config dhcp_relay option_82 check disable

config dhcp_relay option_82 policy replace

config dhcp_relay add ipif System 10.2.1.56

 

Циска

Router#sh version

Cisco IOS Software, 7200 Software (C7200-IS-M), Version 12.2(31)SB10, RELEASE SOFTWARE (fc2)

 

Router#sh run

Building configuration...

 

Current configuration : 1384 bytes

!

version 12.2

service timestamps debug uptime

service timestamps log uptime

no service password-encryption

!

hostname Router

!

boot-start-marker

boot-end-marker

!

no aaa new-model

ip subnet-zero

ip cef

!

!

no ip dhcp use vrf connected

no ip dhcp conflict logging

ip dhcp excluded-address 10.160.48.254

ip dhcp excluded-address 10.160.48.253

!

ip dhcp pool test_user

network 10.160.48.0 255.255.255.0

domain-name test.ru

dns-server 10.160.48.253

default-router 10.160.48.254

lease 0 0 30

class test_user1

!

ip dhcp class test_user1

relay agent information

relay-information hex 001cf010fdb2*

!

interface FastEthernet0/0

no ip address

duplex half

!

interface FastEthernet0/0.11

description admin_net

encapsulation dot1Q 11

ip address 10.2.1.56 255.255.0.0

no snmp trap link-status

!

interface FastEthernet0/0.33

description test_user

encapsulation dot1Q 33

ip address 10.160.48.254 255.255.248.0

no snmp trap link-status

 

 

Не работает зараза, пытался сделать принудительно клиенту выдать 1 адресс например влан 33 порт 28 00040021001c001cf010fdb2

... :(

В последующем предпологаю выдавать юзверю ип через радиус, ISG... но что-то не совсем въезжаю, если статика неработает то про радиус вообще молчу...

Posted

Как то так работало:

!
ip dhcp pool TEST-opt-82
   network 172.16.10.0 255.255.255.0
   default-router 172.16.10.1
   domain-name test.local
   dns-server 10.10.10.10
   lease 0 0 2
   class CLASS1
      address range 172.16.10.101 172.16.10.101
   class CLASS2
      address range 172.16.10.102 172.16.10.102
   class CLASS3
      address range 172.16.10.103 172.16.10.103
   class CLASS4
      address range 172.16.10.104 172.16.10.104
!
!
ip dhcp class CLASS1
   relay agent information
      relay-information hex 01060004000a0103020a010841475245472d5357
!
ip dhcp class CLASS2
   relay agent information
      relay-information hex 0106000400140103020a010841475245472d5357
!
ip dhcp class CLASS3
   relay agent information
      relay-information hex 01060004000a0102020a010841475245472d5357
!
ip dhcp class CLASS4
   relay agent information
      relay-information hex 0106000400140102020a010841475245472d5357
!

Posted

откуда значение relay-information hex 0106000400140102020a010841475245472d5357 берете :) ? можете дать мак адресс свича, номер порта и номер влана... то что я вижу мак свича 010841475245 влан 20 модуль 1 порт 2 :(

  • 3 weeks later...
Posted

Труды и изыскания не к чему внятному не привели, результат 0

Под Linux(давно) и windows haneWIN DHCP(сейчас) сервер работает все нормально

под циской нет....

 

Взял собрал тестовую схему, проверил на той же версии иоса и циски, а именно 12.2(31)SB10 7204 npe 400

Стенд представляет из себя коммутатор des-3028 или des-3526(пробовал на обоих)

У которого 1-24 порт в vlan test.. интерфейс управления в vlan admin 25 порт подключен в циску …

Коммутаторы с вот такими настройками Код:

 

config ipif System vlan admin ipaddress 192.168.1.200/24 state enable

enable dhcp_relay

config dhcp_relay hops 4 time 0

config dhcp_relay option_82 state enable

config dhcp_relay option_82 check disable

config dhcp_relay option_82 policy replace

config dhcp_relay option_82 remote_id default

config dhcp_relay add ipif System 192.168.1.254

 

 

У циски вот такие настройки Код:

 

 

E7204#sh run

Building configuration...

Current configuration : 1490 bytes

version 12.2

no service pad

service timestamps debug uptime

service timestamps log uptime

no service password-encryption

hostname E7204

boot-start-marker

boot system flash c7200-is-mz.122-31.SB10.bin

boot-end-marker

no aaa new-model

ip subnet-zero

ip cef

no ip dhcp use vrf connected

ip dhcp pool test_p

network 10.160.1.0 255.255.255.0

domain-name test.ru

default-router 10.160.1.254

dns-server 10.10.1.2

class test_c

address range 10.160.1.100 10.160.1.150

ip dhcp class test_c

relay agent information

 

ip dhcp-server 192.168.1.254

call rsvp-sync

no scripting tcl init

no scripting tcl encdir

no file verify auto

interface FastEthernet0/0

description 26port

no ip address

no ip route-cache cef

no ip route-cache

duplex half

interface FastEthernet0/0.10

description admin int

encapsulation dot1Q 10

ip address 192.168.1.254 255.255.255.0

no ip route-cache

no snmp trap link-status

interface FastEthernet0/0.12

description test_sub net

encapsulation dot1Q 12

ip address 10.160.1.254 255.255.255.0

no ip route-cache

no snmp trap link-status

interface FastEthernet1/0

no ip address

no ip route-cache cef

no ip route-cache

shutdown

duplex half

ip classless

no ip http server

control-plane

dial-peer cor custom

gatekeeper

shutdown

line con 0

stopbits 1

line aux 0

stopbits 1

line vty 0 4

login

end

 

 

Дебаг включен на полную Код:

 

debug ip dhcp server class

debug ip dhcp server events

debug ip dhcp server linkage

debug ip dhcp server packet

debug ip dhcp server redundancy

 

 

 

При подключении юзверя к порту вот что вылазиет…. Код:

 

06:58:22: DHCPD: Reload workspace interface FastEthernet0/0.10 tableid 0.

06:58:22: DHCPD: tableid for 192.168.1.254 on FastEthernet0/0.10 is 0

06:58:22: DHCPD: client's VPN is .

06:58:22: DHCPD: Sending notification of DISCOVER:

06:58:22: DHCPD: htype 1 chaddr 0016.ecf4.e74a

06:58:22: DHCPD: remote id 020a0000c0a801fe0000000a

06:58:22: DHCPD: circuit id ffffffff

06:58:22: DHCPD: DHCPDISCOVER received from client 0100.16ec.f4e7.4a through relay 192.168.1.200.

06:58:22: DHCPD: Sending notification of DISCOVER:

06:58:22: DHCPD: htype 1 chaddr 0016.ecf4.e74a

06:58:22: DHCPD: remote id 020a0000c0a801fe0000000a

06:58:22: DHCPD: circuit id ffffffff

06:58:22: DHCPD: Seeing if there is an internally specified pool class:

06:58:22: DHCPD: htype 1 chaddr 0016.ecf4.e74a

06:58:22: DHCPD: remote id 020a0000c0a801fe0000000a

06:58:22: DHCPD: circuit id ffffffff

06:58:22: DHCPD: there is no address pool for 192.168.1.200.

 

06:58:25: DHCPD: Reload workspace interface FastEthernet0/0.10 tableid 0.

06:58:25: DHCPD: tableid for 192.168.1.254 on FastEthernet0/0.10 is 0

06:58:25: DHCPD: client's VPN is .

06:58:25: DHCPD: Sending notification of DISCOVER:

06:58:25: DHCPD: htype 1 chaddr 0016.ecf4.e74a

06:58:25: DHCPD: remote id 020a0000c0a801fe0000000a

06:58:25: DHCPD: circuit id ffffffff

06:58:25: DHCPD: DHCPDISCOVER received from client 0100.16ec.f4e7.4a through relay 192.168.1.200.

06:58:25: DHCPD: Sending notification of DISCOVER:

06:58:25: DHCPD: htype 1 chaddr 0016.ecf4.e74a

06:58:25: DHCPD: remote id 020a0000c0a801fe0000000a

06:58:25: DHCPD: circuit id ffffffff

06:58:25: DHCPD: Seeing if there is an internally specified pool class:

06:58:25: DHCPD: htype 1 chaddr 0016.ecf4.e74a

06:58:25: DHCPD: remote id 020a0000c0a801fe0000000a

06:58:25: DHCPD: circuit id ffffffff

06:58:25: DHCPD: there is no address pool for 192.168.1.200.

 

 

 

И так 3-4 раза…Если вместо циски поставить вынду то на «запрос» с 1 раза выдает из пула ип адрес…

Посмотрел о чем общается коммутатор и комп-сервер и сравнил с тем же о чем общается циска с коммутатором (Настроил mirror)

Запрос что у первого, что у второго случая одинаковый.. только в ответ циска нечего не отвечает- вообще…

Могу выложить пакет в формате EtherPeek

Смотрим стандарт

http://www.sbin.org/doc/rfc/pdfrfc/rfc3046.txt.pdf

и то что поймали- все сходится

Но из того что нас интересует выделено внизу… Код:

 

52 12 01 06 00 04 00 0C 00 0C 02 08 00 06 00 1C F0 10 FD B2 FF

 

 

Если расшифровать то получаем 52 12 - код опции 82 и дальше 18 байт информации

А именно Circuit ID 8 байт

01 06 00 04 00 0C 00 0C где 01 06 04 заголовок . 1 Тип опции 2. Длина 3. Тип Circuit ID 4. Длина, 00 0C 2 байта номер VLANа =12(оно так и есть 12 влан) 00 модуль 0С- порт=12 оно так и есть 12 порт

Remote ID

02 08 00 06 00 1C F0 10 FD B2

02 08 00 06 1. Тип опции 2. Длина 3. Тип Remote ID type 4. Длина

00 1C F0 10 FD B2 - mac адрес коммутатора(оно так и есть) ну и FF конец

 

Под вындой circuit id 0004000c000c видит его правильно, а вот сиська…

09:12:57: DHCPD: htype 1 chaddr 0016.ecf4.e74a

09:12:57: DHCPD: remote id 020a0000c0a801fe0000000a

09:12:57: DHCPD: circuit id ffffffff

тут немного потыкал 0016.ecf4.e74a мак клиента карточки- кому будет выдаваться ип

02 0a 00 00 c0 a8 01 fe 00 00 00 0a

2 10 0 0 192 168 1 254 10

192.168.1.254- ип циски, в самом пакете 02 0a 00 00 и 00 00 00 0a нет таких строк

 

relay agent information

relay-information hex в качестве цифрь добавлял многое- все комбинации перепробовал =0

Либо я немного не догоняю либо…

 

вот по этому вопросс к Stak, мак адресс коммутатора, к какому порту подключен был комп, чтобы понять что циска-коммутатор шлет на маршрутизатор... если вы еще и "пакет" приложите я буду очень рад... просто свича сиськи для тестов нет :(

Posted

весь код приведен... не чего не резал- это цска-стенд :), необходимо чтобы циска ловила только запросы в управляющем влане... в клиентских вланах он не должен быть виден... сама суть dhcp relay opt 82 тогда теряется...

у меня просто нет коммутатора от циски с возможностью dhcp relay агента...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.