sprite Опубликовано 27 октября, 2009 · Жалоба Добрый день. Никак не могу решить такую проблему, вроде бы и на форуме народ писал про нее, но решения я так и не увидел. Хочу раздавать по dhcp IP привязанные к свичам и портам (option 82). Настраиваю по народным рецептам Мой dhcpd.conf option domain-name "example.org"; option domain-name-servers 10.10.1.3; authoritative; ddns-update-style none; default-lease-time 120; max-lease-time 180; min-lease-time 60; use-lease-addr-for-default-route on; one-lease-per-client on; deny duplicates; deny bootp; option arp-cache-timeout 120; option netbios-node-type 1; log-facility local7; local-address 10.250.250.1; if exists agent.circuit-id { log ( info, concat( "Lease for ", binary-to-ascii (10, 8, ".", leased-address), " raw option-82 info is CID: ", binary-to-ascii (10, 8, ".", option agent.circuit-id), " AID: ", binary-to-ascii(16, 8, ".", option agent.remote-id), " suffix agent.circuit-id:", binary-to-ascii (10, 8, "", suffix( option agent.circuit-id, 1)), " suffix agent.remote-id: ", binary-to-ascii (16, 8, ":", suffix( option agent.remote-id, 6)) )); } class "dlink" { match if binary-to-ascii (16, 8, ":", suffix( option agent.remote-id, 6)) = "0:21:91:8c:95:28" ; } class "port-5" { match if binary-to-ascii (10, 8, "", suffix( option agent.circuit-id, 1)) = "5" ; } shared-network "clients" { subnet 10.250.250.0 netmask 255.255.255.0 { pool { range 10.250.250.23; allow members of "port-5"; } pool { range 10.250.250.33; allow members of "dlink"; } } } в итоге хочу получить, чтобы с порта 5го выдавался 10.250.250.23, а слюбого другого 10.250.250.33. В логе вижу вот такое Oct 27 11:30:17 server dhcpd: DHCPDISCOVER from 00:26:18:6a:ab:75 via vlan1: network clients: no free leases Oct 27 11:30:17 server dhcpd: Lease for 10.250.250.33 raw option-82 info is CID: 0.4.0.1.0.9 AID: 0.6.0.21.91.8c.95.28 suffix agent.circuit-id:9 suffix agent.remote-id: 0:21:91:8c:95:28 Oct 27 11:30:17 server dhcpd: DHCPDISCOVER from 00:26:18:6a:ab:75 via 10.250.250.3 Oct 27 11:30:17 server dhcpd: DHCPOFFER on 10.250.250.33 to 00:26:18:6a:ab:75 (netbook) via 10.250.250.3 Oct 27 11:30:18 server dhcpd: DHCPREQUEST for 10.250.250.33 (10.250.250.1) from 00:26:18:6a:ab:75 via vlan1: lease 10.250.250.33 unavailable. Oct 27 11:30:18 server dhcpd: DHCPNAK on 10.250.250.33 to 00:26:18:6a:ab:75 via vlan1 Oct 27 11:30:18 server dhcpd: Lease for 10.250.250.33 raw option-82 info is CID: 0.4.0.1.0.9 AID: 0.6.0.21.91.8c.95.28 suffix agent.circuit-id:9 suffix agent.remote-id: 0:21:91:8c:95:28 Oct 27 11:30:18 server dhcpd: DHCPREQUEST for 10.250.250.33 (10.250.250.1) from 00:26:18:6a:ab:75 (netbook) via 10.250.250.3 Oct 27 11:30:18 server dhcpd: DHCPACK on 10.250.250.33 to 00:26:18:6a:ab:75 (netbook) via 10.250.250.3 и так до бесконечности. погуглил в инете проблема есть, решения не нашел. Все советы сводятся к тому, что match не проходит, специально в лог вывожу, тоже самон значение :( .Почему имено dhcpd пишет no free leases, а потом lease 10.250.250.33 unavailable Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
toxicom Опубликовано 28 октября, 2009 · Жалоба потому, что классы и пулы между собой никак не связаны shared-network "clients" { subnet 10.250.250.0 netmask 255.255.255.0 { class "dlink" { match if binary-to-ascii (16, 8, ":", suffix( option agent.remote-id, 6)) = "0:21:91:8c:95:28"; } class "port-5" { match if binary-to-ascii (10, 8, "", suffix( option agent.circuit-id, 1)) = "5"; } pool { range 10.250.250.23; allow members of "port-5"; } pool { range 10.250.250.33; allow members of "dlink"; } } } Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
sprite Опубликовано 28 октября, 2009 · Жалоба потому, что классы и пулы между собой никак не связаны Дико извиняюсь, а как их связать? подскажите Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
t0ly Опубликовано 28 октября, 2009 · Жалоба потому, что классы и пулы между собой никак не связаны Дико извиняюсь, а как их связать? подскажите насколько я понял выше в примере описано Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
sprite Опубликовано 28 октября, 2009 · Жалоба насколько я понял выше в примере описано неподходит :( Я конечно не рассмотрел сразу, что вышепреведенный код может быть ответом, потому как и такие варианты тоже использовал. В поисках решения этой задачи в интернете я встречал, как описание классов внутри, описания subnet, так и выше ее. Нигде не оговаривалось обязательное месторасположение описания class. Убрал shared-network оставил только subnet 10.250.250.0 netmask 255.255.255.0 { class "dlink" { match if binary-to-ascii (16, 8, ":", suffix( option agent.remote-id, 6)) = "0:21:91:8c:95:28"; } pool { range 10.250.250.33; allow members of "dlink"; } } все равно выдает в логи Oct 28 16:17:08 server dhcpd: DHCPDISCOVER from 00:26:18:6a:ab:75 via vlan1: network 10.250.250.0/24: no free leases Oct 28 16:17:08 server dhcpd: Lease for 10.250.250.33 raw option-82 info is CID: 0.4.0.1.0.17 AID: 0.6.0.21.91.8c.95.28 suffix agent.circuit-id:17 suffix agent.remote-id: 0:21:91:8c:95:28 Oct 28 16:17:08 server dhcpd: DHCPDISCOVER from 00:26:18:6a:ab:75 via 10.250.250.3 Oct 28 16:17:08 server dhcpd: DHCPOFFER on 10.250.250.33 to 00:26:18:6a:ab:75 (netbook) via 10.250.250.3 Oct 28 16:17:08 server dhcpd: DHCPREQUEST for 10.250.250.33 (10.250.250.1) from 00:26:18:6a:ab:75 via vlan1: lease 10.250.250.33 unavailable. Oct 28 16:17:08 server dhcpd: DHCPNAK on 10.250.250.33 to 00:26:18:6a:ab:75 via vlan1 Oct 28 16:17:08 server dhcpd: Lease for 10.250.250.33 raw option-82 info is CID: 0.4.0.1.0.17 AID: 0.6.0.21.91.8c.95.28 suffix agent.circuit-id:17 suffix agent.remote-id: 0:21:91:8c:95:28 Oct 28 16:17:08 server dhcpd: DHCPREQUEST for 10.250.250.33 (10.250.250.1) from 00:26:18:6a:ab:75 (netbook) via 10.250.250.3 Oct 28 16:17:08 server dhcpd: DHCPACK on 10.250.250.33 to 00:26:18:6a:ab:75 (netbook) via 10.250.250.3 Oct 28 16:17:09 server dhcpd: DHCPDISCOVER from 00:26:18:6a:ab:75 via vlan1: network 10.250.250.0/24: no free leases Oct 28 16:17:09 server dhcpd: Lease for 10.250.250.33 raw option-82 info is CID: 0.4.0.1.0.17 AID: 0.6.0.21.91.8c.95.28 suffix agent.circuit-id:17 suffix agent.remote-id: 0:21:91:8c:95:28 Oct 28 16:17:09 server dhcpd: DHCPDISCOVER from 00:26:18:6a:ab:75 via 10.250.250.3 Oct 28 16:17:09 server dhcpd: DHCPOFFER on 10.250.250.33 to 00:26:18:6a:ab:75 (netbook) via 10.250.250.3 Oct 28 16:17:09 server dhcpd: DHCPREQUEST for 10.250.250.33 (10.250.250.1) from 00:26:18:6a:ab:75 via vlan1: lease 10.250.250.33 unavailable. Oct 28 16:17:09 server dhcpd: DHCPNAK on 10.250.250.33 to 00:26:18:6a:ab:75 via vlan1 в логах еще видно что mac свича правильно выделяю, почему этот запрос в класс не попадает?, непонятно :( Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
toxicom Опубликовано 29 октября, 2009 · Жалоба У Вас же все в одном влане: клиент, релей-агент и сервер. И происходит что то типа: прилетает бродкастовый дисковер, на что сервер отвечает no free leases. Потом отрелеенный на который сервер предлагает адрес из пула, после чего на сервер прилетает бродкастовый (без agent.remote-id) request "хочу адрес 10.250.250.33" на что сервер говорит не положено: DHCPNAK... Уж если пользуетесь рецептами, то для начала, приготовьте хотя бы один в точности как написано и все получится :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
sprite Опубликовано 30 октября, 2009 · Жалоба ОГРОМНОЕ спасибо!!! Так и получилось. К сожалению тестовый стенд возможно иметь из подручных средств (виртуальные машины и vlan-ы на самом компе) + неполное понимание процесса (то что вы заметили в моих логах, сам не доглядел :( ) не всегда приводят к нужному результату. Еще раз спасибо!!! Уж если пользуетесь рецептами, то для начала, приготовьте хотя бы один в точности как написано и все получится :)Да это один из тех рецептов по которым готовил. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...