Linux за българи: Форуми

Linux секция за напреднали => Хардуерни и софтуерни проблеми => Темата е започната от: dvbb в Oct 24, 2011, 18:38



Титла: dhcpd - match hostname (regex)
Публикувано от: dvbb в Oct 24, 2011, 18:38
Здравейте

Въпроса ми е dhcpd има ли опция за раздава адреси на базата на hostname.

Имам в предвих давам някакъв pool и примерно да раздава от него само ако hostname започва с BG. Примерно BG1 , BG2 , BG212 , тъй като варианта да описвам по mac address не ме устройва тъй като се устройтвата се променят но hostnаme винаги с такъв вид.
Четох няколко пъти manual-a но неуспях да намеря нещо подходящо.


Титла: Re: dhcpd - match hostname (regex)
Публикувано от: Acho в Oct 24, 2011, 20:21
А откъде демона ще ги ЧЕТЕ тия хостнаме-та ? Или в самата заявка на клиента ще се подават ?


Титла: Re: dhcpd - match hostname (regex)
Публикувано от: dvbb в Oct 24, 2011, 20:28
При dhcp request клиента подава hostname си.


Титла: Re: dhcpd - match hostname (regex)
Публикувано от: ivanatora в Oct 25, 2011, 08:22
На мен също ще ми е интересно да науча, но ми се струва че не може да стане.


Титла: Re: dhcpd - match hostname (regex)
Публикувано от: b2l в Oct 25, 2011, 10:13
Код:
class "bg-clients" {
  match if substring (option dhcp-client-identifier, 1, 2) = "BG";
}
pool {
    allow members of "bg-clients";
    range 10.0.0.11 10.0.0.50;
}


Титла: Re: dhcpd - match hostname (regex)
Публикувано от: dvbb в Dec 06, 2011, 13:42
Здравейте отново , нещо не се получава при мен. Машината е с hostname BG1
В dhcp.log виждам
Dec  6 13:34:18 gate dhcpd: DHCPREQUEST for 192.168.0.120 (192.168.0.1) from ec:9b:5b:05:0е:85 (BG1) via eth0
Dec  6 13:34:18 gate dhcpd: DHCPACK on 192.168.0.120 to ec:9b:5b:05:0е:85 (BG1) via eth0

Ето конфигурацията която добавих

subnet 192.168.168.0 netmask 255.255.255.0 {
    option domain-name-servers 192.168.168.1, 192.168.0.8;
    option routers 192.168.168.1;
    option broadcast-address 192.168.168.255;
    option netbios-name-servers 192.168.0.38;
    default-lease-time 3600;
    max-lease-time 7200;
    deny unknown-clients;
    authoritative;
}

class "bg-clients" {
match if substring (option dhcp-client-identifier, 1, 2) = "BG";}

pool {
allow members of "bg-clients";
range 192.168.168.200 192.168.168.220;
}


Титла: Re: dhcpd - match hostname (regex)
Публикувано от: b2l в Dec 06, 2011, 13:53
Код:
class "bg-clients" {
  match if substring (option host-name, 1, 2) = "BG";
}


Титла: Re: dhcpd - match hostname (regex)
Публикувано от: dvbb в Dec 06, 2011, 14:11

subnet 192.168.168.0 netmask 255.255.255.0 {
    option domain-name-servers 192.168.168.1, 192.168.0.8;
    option routers 192.168.168.1;
    option broadcast-address 192.168.168.255;
    option netbios-name-servers 192.168.0.38;
    default-lease-time 3600;
    max-lease-time 7200;
    deny unknown-clients;
    authoritative;
}

class "bg-clients" {
match if substring (option host-name, 1, 2) = "BG";

pool {
allow members of "bg-clients";
range 192.168.168.200 192.168.168.220;
}

И продължава да ми дава IP от друг pool


Титла: Re: dhcpd - match hostname (regex)
Публикувано от: solarflux в Dec 06, 2011, 14:23
разкарай  deny unknown-clients; и пробвай пак...


Титла: Re: dhcpd - match hostname (regex)
Публикувано от: dvbb в Dec 06, 2011, 14:38
Същата работа :(

Прилагам конфигурацията dhcpd.conf

ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;



shared-network cyber {

  subnet 192.168.0.0 netmask 255.255.255.0 {
    range 192.168.0.120 192.168.0.219;
    option domain-name-servers 192.168.0.1, 192.168.0.8;
    option netbios-name-servers 192.168.0.38;
    option routers 192.168.0.1;
    option broadcast-address 192.168.0.255;
    default-lease-time 600;
    max-lease-time 7200;
    authoritative;
  }

subnet 192.168.168.0 netmask 255.255.255.0 {
    option domain-name-servers 192.168.168.1, 192.168.0.8;
    option routers 192.168.168.1;
    option broadcast-address 192.168.168.255;
    option netbios-name-servers 192.168.0.38;
    default-lease-time 3600;
    max-lease-time 7200;
    authoritative;
}

class "bg-clients" {
match if substring (option host-name, 1, 2) = "BG"; }

pool {
allow members of "bg-clients";
range 192.168.168.200 192.168.168.220;
}



Титла: Re: dhcpd - match hostname (regex)
Публикувано от: Acho в Dec 06, 2011, 14:50
Само да те питам Dvbb, а защо не искаш DHCP демона ти по MAC адрес да ги раздава IP-тата (това поне е изпитано и работещо на 100%) ?


Титла: Re: dhcpd - match hostname (regex)
Публикувано от: solarflux в Dec 06, 2011, 14:52
match if substring (option host-name, 0, 1) = "BG";
?


Титла: Re: dhcpd - match hostname (regex)
Публикувано от: b2l в Dec 06, 2011, 15:17
Само да те питам Dvbb, а защо не искаш DHCP демона ти по MAC адрес да ги раздава IP-тата (това поне е изпитано и работещо на 100%) ?

Защото той каза, че хост имената не се сменят, докато реално може да смени eth0 с друга, с друг МАК адрес.

match if substring (option host-name, 0, 1) = "BG";
?

http://blog.11h.net/erich/76


Титла: Re: dhcpd - match hostname (regex)
Публикувано от: solarflux в Dec 06, 2011, 15:24
ок, тогава
match if substring (option host-name, 0, 2) = "BG";
 :-\


Титла: Re: dhcpd - match hostname (regex)
Публикувано от: b2l в Dec 06, 2011, 15:37
ок, тогава
match if substring (option host-name, 0, 2) = "BG";
 :-\

Ммм, дам не е 1, е 0 (явно...  ??? ).


Титла: Re: dhcpd - match hostname (regex)
Публикувано от: dvbb в Dec 06, 2011, 15:56
Слагах
match if substring (option host-name, 0, 1) = "BG";}
или
match if substring (option host-name, 0, 2) = "BG";}

и пак получавам IP от мрежа 192.168.0.0/24 а не от 192.168.168.0/24

Dec  6 15:51:02 gate dhcpd: DHCPOFFER on 192.168.0.210 to ec:9b:5b:05:0е:85 (BG1) via eth0
Dec  6 15:51:02 gate dhcpd: DHCPREQUEST for 192.168.0.210 (192.168.0.1) from ec:9b:5b:05:0е:85 (BG1) via eth0
Dec  6 15:51:02 gate dhcpd: DHCPACK on 192.168.0.210 to ec:9b:5b:05:0е:85 (BG1) via eth0


Титла: Re: dhcpd - match hostname (regex)
Публикувано от: solarflux в Dec 06, 2011, 16:15
match if (substring (option host-name, 0, 2) = "BG");

освен това ми се струва, че имаш повече { отколкото }


Титла: Re: dhcpd - match hostname (regex)
Публикувано от: dvbb в Dec 06, 2011, 16:27
match if (substring (option host-name, 0, 2) = "BG");

освен това ми се струва, че имаш повече { отколкото }

Изпулснал съм последното } при copy/paste , в config-a са си наред. Но продължава да ми дава IP от 192.168.0.0/24  , чудя се дъли изобщо стигам до този match .


Титла: Re: dhcpd - match hostname (regex)
Публикувано от: Acho в Dec 06, 2011, 16:36
Да няма и друг някакъв DHCP демон в таз мрежа ? Той да ти прай мизерии.


Титла: Re: dhcpd - match hostname (regex)
Публикувано от: b2l в Dec 06, 2011, 16:51
Dec  6 15:51:02 gate dhcpd: DHCPOFFER on 192.168.0.210 to ec:9b:5b:05:0е:85 (BG1) via eth0
Dec  6 15:51:02 gate dhcpd: DHCPREQUEST for 192.168.0.210 (192.168.0.1) from ec:9b:5b:05:0е:85 (BG1) via eth0
Dec  6 15:51:02 gate dhcpd: DHCPACK on 192.168.0.210 to ec:9b:5b:05:0е:85 (BG1) via eth0

Аз друго виждам...


Титла: Re: dhcpd - match hostname (regex)
Публикувано от: dvbb в Dec 06, 2011, 17:51
Смених
class "alabala"
и
allow members of "alabala"
и проработи започна да взима IP от 192.168.168.0/24 незнам и аз как да си го обясня това нещо.

Благодаря много на всички.


Титла: Re: dhcpd - match hostname (regex)
Публикувано от: dvbb в Dec 07, 2011, 11:28
Здравейте отново , Нормално ли е един път да ми дава IP от 192.168.168.0/24  а друг път от 192.168.0.0/24 . При условие ,че машините са с hostname BG1 BG2 BG5 ....


Титла: Re: dhcpd - match hostname (regex)
Публикувано от: b2l в Dec 07, 2011, 11:31
Здравейте отново , Нормално ли е един път да ми дава IP от 192.168.168.0/24  а друг път от 192.168.0.0/24 . При условие ,че машините са с hostname BG1 BG2 BG5 ....

Не.