Buckminster
(usa Debian)
Enviado em 23/08/2013 - 08:02h
ceejay-br escreveu:
souzacarlos escreveu:
cara vale lembrar o seguinte 1 MAC 1 IP
sem mais,
Se isso é verdade, tenho que admitir que o DHCP do Windows possui mais features que o nosso!
Eu não tinha entendido direito antes. Perdão.
Acredito que é isso que você quer.
Por exemplo, você tem vários MACs que começam com 00:aa:bb:... e quer distribuir um pool de IPs para eles.
Faça através de "class" e "pool":
subnet 192.168.0.0 netmask 255.255.0.0 {
class "meus-macs" {
match if substring (option hardware,1,8) = "00:aa:bb" ;
}
pool {
range 192.168.165.10 192.168.165.20;
allow members of "meus-macs" ;
deny unknown-clients; << essa linha nega clientes que não estejam cadastrados, você pode colocar ela fora da subnet, aí ela negará para todos.
}
}
Você pode criar várias classes com um pool para cada.
Ou pode fazer por classes e subclasses. Acredito que se adaptaria melhor para você:
class "allocation-class-1" {
match pick-first-value (option dhcp-client-identifier, hardware);
}
class "allocation-class-2" {
match pick-first-value (option dhcp-client-identifier, hardware);
}
subclass "allocation-class-1" 1:8:0:2b:4c:39:ad;
subclass "allocation-class-2" 1:8:0:2b:a9:cc:e3;
subclass "allocation-class-1" 1:0:0:c4:aa:29:44; << aqui você cadastra os MACs e define à qual subclasse ele vai pertencer, se você quer 50 MACs são 50 linhas.
subnet 10.0.0.0 netmask 255.255.255.0 {
pool {
allow members of "allocation-class-1"; << aqui você especifica a subclasse.
range 10.0.0.11 10.0.0.50; << aqui você determina o range de IPs para os MACs e cria um pool para cada subclasse de acordo com a tua necessidade.
deny unknown-clients;
}
pool {
allow members of "allocation-class-2";
range 10.0.0.51 10.0.0.100;
deny unknown-clients;
}
}
E se não me falha a memória você pode colocar os MACs dentro de um arquivo (você pode distribuir 30 num arquivo e 20 em outro, por exemplo), colocando um MAC por linha dentro do arquivo:
subclass "allocation-class-1" filename "/caminho/do/arquivo/mac1.txt";
subclass "allocation-class-2" filename "/caminho/do/arquivo/mac2.txt";
Daí não precisará criar 50 linhas no dhcpd.conf, somente duas, ou mais, se quiser, ou uma linha com uma subclasse só.
Qualquer dúvida leia o dhcpd.conf, mas acredito que ficou bem explicado, além disso o código acima fala por sí.
Por exemplo, sem colocar os MACs num arquivo, somente mudando o 1 ou o 2 no final da subclasse você muda o range de IPs para um determinado MAC.
Você pode criar várias coisas, está tudo bem explicado no dhcpd.conf, ou vá na man page.