Parece que deve ser possível, mas vai exigir um pouco de manha ...
Como você sugeriu nos comentários, o dhclient não valida as respostas do servidor DHCP para os endereços dos roteadores, então fui até os documentos e descobri que tipo de situação poderia fazer com que o dhclient enviasse um DHCPDECLINE.
As documentações doDhclient mostram que dhclient-script é chamado quando uma concessão é emitida:
Os documentos...network configuration script invoked by dhclient when it gets a lease. If unspecified, the default CLIENTBINDIR/dhclient-script is used. See dhclient-script(8)for a description of this file.
Dhclient-script mostram que antes de configurar o endereço oferecido pelo servidor DHCP, dhclient-script ARPs para ele e gera um DHCPDECLINE se o endereço já existir.
Before actually configuring the address, dhclient-script should somehow ARP for it and exit with a nonzero status if it receives a reply. In this case, the client will send a DHCPDECLINE message to the server and acquire a different address.
Eu não tenho uma cópia do Ubuntu para ver no mo (verifique seu / etc / dhclient-script), mas o código-fonte para o dhclient-script do Linux pode ser encontrado aqui link
Estou pensando (mas infelizmente não posso testá-lo) que você poderia fazer o backup do seu dhclient-script existente e editar esta seção
Must be used on exit. Invokes the local dhcp client exit hooks, if any.
exit_with_hooks() {
exit_status=$1
if [ -f /etc/dhclient-exit-hooks ]; then
. /etc/dhclient-exit-hooks
fi
# probably should do something with exit status of the local script
exit $exit_status
}
Acho que alterar exit $exit_status
para exit 1
faria com que qualquer concessão de DHCP fosse recusada ...
Experimente. Se funcionar como eu acho que deveria, ele quebrará totalmente o cliente DHCP, mas deverá gerar um DHCPDECLINE toda vez que você executar o dhclient .