Strona 1 z 1

[+] ISC DHCP - definiowanie klas

: 08 sierpnia 2011, 13:15
autor: Gloochy
Witam.

M
am problem, z którym walczę od paru dni - niestety póki co przegrywam.

Mam urządzenie, dla którego:

Kod: Zaznacz cały

set vendor-string = option vendor-class-identifier;  
W dhcpd.conf daje mi w dhcpd.leases np.:

Kod: Zaznacz cały

set vendor-string = "huawei S2326TP-EI";
Próbuję wykorzystać:

Kod: Zaznacz cały

option vendor-class-identifier 
aby zdefiniować klasę, dla której DHCP ma przyznawać adresy z zakresu 10.10.10.200 - 10.10.10.210.

Próbuję zrobić to w ten sposób, aby do tej klasy należały wszystkie urządzenia, dla których opcja ,,vendor-class-identifier'' zawiera wpis ,,huawei'' (pozostałe znaki są nieistotne).

Więc, definicja klasy (nie wiem, czy zaczynać od 0 czy od 1 więc zrobiłem dwie definicje):

Kod: Zaznacz cały

class "HW" {
        match if substring (option vendor-class-identifier, 1, 6) = "huawei";
        }


class "HiWi" {
        match if substring (option vendor-class-identifier, 0, 6) = "huawei";
        }[/B][/size][/I]

i w dhcpd.conf (fragment):

...
shared-network STD {
    subnet 10.10.10.0 netmask 255.255.255.0 {
        default-lease-time 60000;
        max-lease-time 720000;
        option routers 10.10.10.1;                                     
        option time-servers 10.10.10.16;
        option domain-name "vlabs.org";
        option domain-name-servers 213.241.79.38;
        next-server 10.10.10.16;                                       
        option log-servers 10.10.10.16;

        pool {                                                         
        range 10.10.10.201 10.10.10.205;
        allow members of "HW";
        allow members of "HiWi";
        }
}
Niestety wspomniany wpis nie chce działać i DHCP przydziela mi adresy z innej puli.

Czy mógłby ktoś mi pomóc?

Pozdrawiam.
K.

Dodane:
Już działa - znalazłem błąd.

P
ozdrawiam.
K.

: 08 sierpnia 2011, 16:29
autor: hello_world
Rozwiązałeś problem to pokaż gdzie był błąd. Może ktoś inny będzie potrzebował rozwiązania

: 08 sierpnia 2011, 23:36
autor: Gloochy
Głównym źródłem zła okazał się być działający w sieci działał drugi serwer DHCP, który mi bruździł.

Co do wklejonych powyżej fragmentów plików - wystarczy samo "HiWi", definicję klasy HW można usunąć (robi to samo co HiWi, a dodatkowo w HW zamiast 1,6 powinno być 0,6).

Pozdrawiam.
K.

: 05 września 2011, 14:21
autor: lo53r
Hej.

Właśnie staram się wywalczyć rozdzielnię IP przez vendor-class. Widzę przykłady, także mam tutaj wszystko podane a i tak nie chce mi to działać.
Polecenie:

Kod: Zaznacz cały

tcpdump
pokazuje mi następującą rzecz:

Kod: Zaznacz cały

vendor-class option 60, legth 117: "^@^@6=p^A^GPolycom^B^ (...)

Jak dla mnie to wyglądać powinno mniej więcej tak:

Kod: Zaznacz cały

class "DRBL-Client" {
  match if 
  (substring(option vendor-class-identifier, 0, 5) = "^@^@6") 
}
Czy się mylę?

Edycja:

W dhcpd.conf dodał linijkę:

Kod: Zaznacz cały

set vendor-string = option vendor-class-identifier;
Dostałem taki o to wynik w /var/lib/dhcp/dhcpd.leases

Kod: Zaznacz cały

set vendor-string = "\000\0006=q\001\007Polycom\002\025SoundPointIP-SPIP_330\003\0202345-12200-001,1\004\036SIP/3.2.5.0508/10-Mar-11 10:00\005\035BR/4.1.2.0037/11-Aug-08 16:36";
Da się coś z tym zrobić?

Edycja:
Pokonałem bestię.

Aby poznać opcję ,,vendor'' jaka mnie interesowała zastosowałem wpis w /etc/dhcp/dhcpd.conf

Kod: Zaznacz cały

set vendor-string = substring(option vendor-class-identifier, 0, 5);
Dzięki, któremu pojawił mi się poprawny wpis (/var/lib/dhcp/dhcpd.leases) do skopiowania w miejsce regułki.