servidor DHCP usado IP reservado

1

Estou usando o servidor DHCP no centOS 6.5, reservei um IP para um endereço MAC específico

meu arquivo de configuração /etc/dhcp/dhcpd.conf

option domain-name-servers 192.168.1.5, 8.8.8.8;                     
default-lease-time 600;                                                 
max-lease-time 7200;                                                     
subnet 192.168.1.0 netmask 255.255.255.0 {                             
  range 192.168.1.90 192.168.1.250;                            
  option routers 192.168.1.1;                                           
}
host specialPC {
  hardware ethernet 00:16:3e:8a:30:f1;
  fixed-address 192.168.1.90;
}

Meu problema é quando specialPC é desligado, o servidor DHCP usa seu IP "192.168.1.90". Quero dizer, se um dispositivo se conectar à rede, o servidor DHCP em algum momento fornecerá o IP reservado "192.168. 1.90 "para o dispositivo e, quando este cenário acontecer, o specialPC quando iniciar não poderá obter seu IP do DHCP.

Isso é normal? Eu acho que há algo errado.

    
por Steve 25.06.2015 / 10:02

2 respostas

1

O comportamento que você está vendo é esperado.

A declaração subnet com seu range especifica um intervalo que o servidor DHCP está livre para manipular como desejar. Veja a documentação , página 21, sub-redes.

A declaração host especifica um host que deve ter configurações específicas (endereço IP, nesse caso).

A correção fácil é alterar o intervalo dinâmico ou o endereço IP para specialPC , de forma que eles não se sobreponham. Alterar o início do intervalo para .91 em vez de .90 deve fazer isso muito bem e evitar conflitos.

Eu acredito, mas não consigo encontrar isso na documentação, você também pode colocar a declaração host dentro da declaração subnet , que deve evitar conflitos.

    
por 25.06.2015 / 10:16
1

Eu discordo de Michael Kjörling. O manual do Linux para o arquivo dhcpd.conf afirma explicitamente:

Reserved Leases

It's often useful to allocate a single address to a single client, in approximate perpetuity. Host statements with fixed-address clauses exist to a certain extent to serve this purpose, but because host statements are intended to approximate 'static configuration', they suffer from not being referenced in a littany of other Server Services, such as dynamic DNS, failover, 'on events' and so forth.

If a standard dynamic lease, as from any range statement, is marked 'reserved', then the server will only allocate this lease to the client it is identified by (be that by client identifier or hardware address).

In practice, this means that the lease follows the normal state engine, enters ACTIVE state when the client is bound to it, expires, or is released, and any events or services that would normally be supplied during these events are processed normally, as with any other dynamic lease. The only difference is that failover servers treat reserved leases as special when they enter the FREE or BACKUP states - each server applies the lease into the state it may allocate from - and the leases are not placed on the queue for allocation to other clients. Instead they may only be 'found' by client identity. The result is that the lease is only offered to the returning client.

O ponto chave é no final, deixe-me repetir:

... e as concessões não são colocadas na fila para alocação para outros clientes. Em vez disso, eles só podem ser "encontrados" pela identidade do cliente. O resultado é que a concessão é oferecida apenas ao cliente que retorna.

Assim, creio que realmente há algo errado com a situação descrita por motaz, exatamente o que ele disse no comentário à resposta de Michael Kjörling. Falando de experiência, tenho vários computadores, com endereços reservados dentro da faixa de locação, mas nunca experimentei problemas como os denunciados pela motaz.

Então, agora minha sugestão para motaz:

  1. Adicione esta linha

     infinite-is-reserved on;
    

para o arquivo de configuração;

  1. altere sua declaração de host como

    host SpecialPC {
          hardware ethernet 00:16:3e:8a:30:f1;
          fixed-address 192.168.1.90;
          min-lease-time 2147483647 ;
          max-lease-time 2147483647 ;
    }
    

Isso segue o manual acima mencionado, que afirma:

The infinite-is-reserved statement

infinite-is-reserved flag;

ISC DHCP now supports 'reserved' leases. See the section on RESERVED LEASES below. If this flag is on, the server will automatically reserve leases allocated to clients which requested an infinite (0xffffffff) lease-time.

The default is off.

    
por 25.06.2015 / 11:08