Você tem que colocar um "!" antes dos IPs que você deseja excluir. Se você quiser excluir todos os IPs de "excluir" acl, altere-o para isto:
acl "exclude" {
!192.168.1.1/24;
!192.168.1.2/24;
!192.168.1.3/24;
};
Gostaria de excluir alguns IPs de uma acl, por exemplo:
acl "exclude" {
192.168.1.1;
192.168.1.2;
192.168.1.3;
};
acl "internal" {
192.168.1.0/24;
!exclude;
};
Isso não funciona, acho que os IPs contidos em excluir acl estão contidos em todo o intervalo.
Você tem que colocar um "!" antes dos IPs que você deseja excluir. Se você quiser excluir todos os IPs de "excluir" acl, altere-o para isto:
acl "exclude" {
!192.168.1.1/24;
!192.168.1.2/24;
!192.168.1.3/24;
};
As ACLs BIND usam lógica de "primeira correspondência" em vez de "melhor correspondência". Sua ACL "interna" não funciona como esperado porque o elemento de endereço primeiro corresponde a todos os endereços que você deseja excluir, e depois tudo (ou seja, !exclude;
elemento) é ignorado .
Você só precisa mudar a ordem da seguinte maneira:
acl "internal" {
!exclude;
192.168.1.0/24;
};
Esta questão é discutida no Manual de Referência dos Administradores BIND 9.11 , na Seção 7.1 sobre considerações de segurança para ACLs implementadas corretamente.
Tags bind access-control-list