ISC DHCP - força os clientes a obterem um novo endereço IP, em vez de serem reemitidos o IP de sua concessão anterior

1

Estamos no meio de uma migração de nossos serviços DHCP e DNS de um servidor baseado em Debian para uma implementação do Windows Server 2008 R2. O servidor Debian está executando o isc-dhcpd-V3.1.1. Todas as estações de trabalho são configuradas para ter endereços fixos entre 0,3 e 0,40 (a motivação por trás dessa escolha é principalmente de gerenciamento / político, bem como aqui ). As concessões de DHCP são distribuídas na faixa de 0,100 a 0,175. Servidores configurados estaticamente vivem no bloco .200 e acima (que está quase vazio).

Quando nos movemos para a plataforma Windows, considerações administrativas / políticas exigem que eu mova os intervalos de IP novamente. Gostaríamos de manter 0,1 a 10 reservados para dispositivos de rede, comutadores e outras infraestruturas. .200 permanecerá designado para servidores. O espaço de endereçamento intermediário deve estar disponível para os clientes e os IPs devem ser dinamicamente alocados ( Editar: em vez de automático como mencionado originalmente) pelo servidor.

Meu pool de endereços no Windows Server é assim:

192.168.0.1     192.168.0.254     (Address range for distribution)
192.168.0.1     192.168.0.10      (IP addresses excluded from distribution)
192.168.0.200   192.168.0.254     (IP addresses excluded from distribution)

Atualmente, todos os nossos clientes ainda estão na faixa de 0,3 - 0,40, e algumas máquinas ainda estão ativas na .100 - .175 (embora existam muitos dispositivos que estão desligados e que ainda têm contratos expirados com IPs desse intervalo). Como o "banco de dados" de aluguel não é compartilhado entre o servidor DHCP antigo e o novo, como posso evitar que os clientes recebam uma concessão com um endereço IP que está sendo retido pelo cliente com uma concessão não expirada do servidor DHCP antigo? Se eu apenas expandir o intervalo no servidor DHCP da Debian para 192.168.0.10 - 192.168.0.199, existe uma maneira de forçar os clientes a não reutilizarem seu endereço IP antigo quando enviarem seu DHCPDISCOVER? Posso tornar o servidor DHCP do Windows uma autoridade como a implementação do ISC?

O dhcpd.conf do servidor Debian:

ddns-update-style none;
authoritative;

default-lease-time 43200;   #12 hours
max-lease-time 86400;       #24 hours

subnet 192.168.0.0 netmask 255.255.255.0 {

    option routers 192.168.0.1;
    option subnet-mask 255.255.255.0;
    option broadcast-address 192.168.0.255;

    range 192.168.0.100 192.168.0.175;
}


host workstation-1 {
 hardware ethernet 00:11:22:33:44:55;
 fixed-address 192.168.0.3;
} ... and so on until 192.168.0.40
    
por kce 09.02.2011 / 21:49

2 respostas

2

Esta provavelmente não é a melhor maneira de resolver este problema, mas funcionou. Aqui está o que eu fiz.

1) Eu adicionei a seguinte restrição ao meu servidor DHCP baseado em Debian e removi todas as entradas de endereço fixo. Isso força todos os clientes nesses intervalos de IP a se moverem para o intervalo de .41 - .199, caso contrário, quando eu ligar os clientes do Windows Server, receberei concessões com IPs no intervalo de .11 a .40 que já estão presentes na rede. Então deixo as coisas ficarem longas o suficiente para que qualquer concessão nesse intervalo de IP expire e tenha uma nova emitida.

subnet 192.168.61.0 netmask 255.255.255.0 {

        option routers 192.168.61.1;
        option subnet-mask 255.255.255.0;
        option broadcast-address 192.168.61.255;

        pool {
                range 192.168.61.0 192.168.61.40;
                deny all clients;
        }
        pool {
                range 192.168.61.41 192.168.61.199;

        }
}

Eu não consegui descobrir uma maneira de fazer a implementação do DHCP do Windows Server agir como "autoritativa"; o comportamento que eu queria era quando os clientes com concessões do antigo servidor DHCP baseado no Debian enviassem seus pacotes DHCPINFORM para o novo Windows Server, eu queria que esses clientes recebessem um DHCPNAK e passassem por todo o processo novamente para obter uma concessão, assim " re-preenchendo "o espaço de endereçamento de 0,11 e até .... independentemente, continuando.

2) Eu trapaceei expandindo o intervalo de Exclusão no novo servidor DHCP do Windows para incluir 192.168.61.100 - 192.168.61.199. Isso forçará todos os clientes que receberam um IP nesse intervalo pelo servidor DHCP baseado em Debian a ter seu DHCPINFORM negado e, em seguida, emitiram uma nova concessão na "parte inferior" do espaço de endereçamento (.11 e superior).

3) Neste ponto, simplesmente desliguei o servidor DHCP do Debian e o Windows Server e deixei o tempo de expiração resolver as coisas. Por causa da linha "deny all clients" no meu dhcpd.conf , não havia clientes com "concessões antigas" no espaço de endereçamento .11 - .40 que poderiam causar um conflito de IP, e por causa de a exclusão de .100 - .199 varia todas as solicitações DHCPINFORM foram negadas (pelo menos eu imagino que foi o que aconteceu ... eu não me incomodei em olhar para a transação usando um sniffer de pacotes ... eu provavelmente deveria) e o espaço de endereçamento foi repovoada a partir do limite inferior de 0,11.

    
por 11.02.2011 / 20:13
0

Pare o servidor DHCP e elimine o arquivo de concessões. Deve estar em /var/lib/dhcpd/dhcpd.leases. Reinicie o servidor DHCP e os clientes começarão a usar endereços diferentes.

Eu não sei sobre forçar o servidor DHCP do Windows a tornar-se autoritativo (na tradição do Windows, ele pode ser ser autoritativo), mas remover a diretiva da sua configuração do dhcpd será uma das etapas nessa direção.

    
por 09.02.2011 / 23:14