Jump to content

Recommended Posts

Posted

Добрый день. Никак не могу решить такую проблему, вроде бы и на форуме народ писал про нее, но решения я так и не увидел.

 

Хочу раздавать по 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

 

 

Posted

потому, что классы и пулы между собой никак не связаны

 

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";
    }
  }
}

Posted
потому, что классы и пулы между собой никак не связаны

Дико извиняюсь, а как их связать? подскажите

насколько я понял выше в примере описано
Posted
насколько я понял выше в примере описано

неподходит :(

Я конечно не рассмотрел сразу, что вышепреведенный код может быть ответом, потому как и такие варианты тоже использовал. В поисках решения этой задачи в интернете я встречал, как

описание классов внутри, описания 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 свича правильно выделяю, почему этот запрос в класс не попадает?, непонятно :(

 

Posted

У Вас же все в одном влане: клиент, релей-агент и сервер. И происходит что то типа: прилетает бродкастовый дисковер, на что сервер отвечает no free leases. Потом отрелеенный на который сервер предлагает адрес из пула, после чего на сервер прилетает бродкастовый (без agent.remote-id) request "хочу адрес 10.250.250.33" на что сервер говорит не положено: DHCPNAK...

Уж если пользуетесь рецептами, то для начала, приготовьте хотя бы один в точности как написано и все получится :)

Posted

ОГРОМНОЕ спасибо!!!

Так и получилось. К сожалению тестовый стенд возможно иметь из подручных средств (виртуальные машины и vlan-ы на самом компе) + неполное понимание процесса (то что вы заметили в моих логах, сам не доглядел :( ) не всегда приводят к нужному результату. Еще раз спасибо!!!

 

Уж если пользуетесь рецептами, то для начала, приготовьте хотя бы один в точности как написано и все получится :)
Да это один из тех рецептов по которым готовил.

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 и с Политикой конфиденциальности.