Eu tenho a seguinte situação: Vários escritórios com vários servidores de firewall / dhcp.
Sempre que a equipe de TI de algum escritório conecta uma nova impressora de rede, preciso criar uma entrada fixed-address
e excluir a concessão que essa impressora já recebeu antes que essa reserva ocorra. Às vezes eu sou avisado de que a impressora já está on-line e este ip fixo é necessário por outro aplicativo (cups server).
Existe uma maneira de "expirar automaticamente" um lease
quando você adiciona um fixed-address
? Na situação atual eu preciso remover manualmente a concessão ou aguarde as 3 horas que é meu configurado max-lease-time
.
Por que eu quero isso? Para tornar mais dinâmica a criação de novos hosts de endereços fixos através do ssh sem a necessidade de login nesse servidor e apagar uma concessão (ou editar 2 arquivos a cada vez). dhcp-relay
não é uma opção porque temos um circuito no nosso isp
que não irá suportá-lo.
Snip de alguns arquivos de configuração
ddns-update-style ad-hoc;
authoritative;
allow bootp;
deny declines;
deny duplicates;
option domain-name "xxx.net";
option domain-name-servers y.y.y.y, y.y.y.2;
option interface-mtu 1500;
option ntp-servers ntp.xxx.xxx.xxx;
default-lease-time 7200; # default lease 2 hours
max-lease-time 10800; # max lease 3 hours
one-lease-per-client true; # 1 lease per client
subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.100 10.0.0.200;
option routers 10.0.0.254;
option broadcast-address 10.0.0.255;
}
host printserver001 {
hardware ethernet 00:24:81:XX:XX:XX;
fixed-address 10.0.0.30;
}
Solução que eu já tentei : crie um class
chamado impressoras, adicione todos os endereços fixos a essa classe e adicione um deny members of "printers"
nesse intervalo de IP / pool. Não funcionará e a impressora ainda obterá o lease
até expirar.
Solução que acho que pode funcionar: Zere o parâmetro default-lease-time
. Só não sei se o comportamento padrão de todas as impressoras quando elas são reiniciadas será solicitar a mesma concessão ou enviar um novo DHCPREQUEST e como isc-dhcp
gerenciará essa solicitação.
Editar 1 : o uso do omapi também não funciona. Eu estou tentando excluir um contrato sabendo apenas o endereço MAC, e é isso que eu recebo quando tento excluí-lo:
omshell << END_OF_INPUT
server localhost
port 7911
key omapi_key my_key_xxxxxxxxxxxxxxxxxx==
connect
new lease
set hardware-address = 00:e0:c5:4e:2d:a4
open
remove
END_OF_INPUT
> can't destroy object: not implemented
obj: lease
hardware-address = 00:e0:c5:4e:2d:a4
state = 00:00:00:02
ip-address = c0:a8:03:e6
dhcp-client-identifier = 01:00:e0:c5:4e:2d:a4
client-hostname = "xxxxx03"
subnet = 00:00:00:06
pool = 00:00:00:07
hardware-type = 00:00:00:01
ends = 53:72:14:ce
starts = 53:71:f8:ae
tstp = 00:00:00:00
tsfp = 00:00:00:00
atsfp = 00:00:00:00
cltt = 53:71:f8:ae
flags = 00
ddns-fwd-name = "xxxxx03.xxxxx.net"
ddns-rev-name = "xx.xx.xx.192.in-addr.arpa."
Estou usando o ISC-dhcp 3.1.1.
Alguma idéia?