Atualiza a configuração do ipfilter enquanto mantém o estado

2

Eu tenho o ipfilter sendo executado em um servidor Solaris 11.2 com regras semelhantes a:

pass in log first quick proto tcp from any to any port = 22 flags S keep state

Eu gostaria de poder editar e recarregar a configuração do ipfilter de /etc/ipf/ipf.conf . No entanto, quando executo svcadm refresh ipfilter , o estado dinâmico é descartado e perco todas as sessões ativas que dependem do estado.

Parece que atualizar o serviço no Solaris adota a abordagem simples, mas brutal de:

  1. ipf -D
  2. ipf -E
  3. Carregue as regras do arquivo de configuração

Existe uma maneira melhor de atualizar o ipfilter, o qual (a) não elimina o estado, e (b) garante que a configuração em execução seja idêntica ao carregamento da configuração do zero?

    
por Tom Shaw 22.10.2014 / 06:29

1 resposta

3

Parece que isso faz o que eu quero:

ipf -IFa && ipf -If /etc/ipf/ipf.conf && ipf -s -y

Isso libera a lista de filtros inativos, carrega as regras na lista de filtros inativos, troca as listas de filtros ativos e inativos e atualiza o ipfilter com a lista atual de interfaces de rede.

O estado dinâmico pode ser monitorado com ipfstat -t e ipfstat -sl e liberado (se necessário) com ipf -FS

Para verificar se a configuração em disco corresponde à configuração ativa, achei esse comando útil (note que ele irá obliterar a lista de filtros inativos):

diff -u <(ipfstat -io) <(ipf -IFa && ipf -If /etc/ipf/ipf.conf && ipfstat -Iio)

Se alguém souber por que o serviço Solaris, por padrão, recorre a ipf -D e ipf -E , eu adoraria saber.

    
por 22.10.2014 / 08:28