Descartando uma conexão por evento

3

É possível abandonar várias conexões ao estabelecer novas? Por exemplo, suponha que tenhamos um conjunto de estações de trabalho remotas com endereços {A, B, C} e outro conjunto com hosts {D, E} . Assumimos que estamos conectados a A, B e C e nos conectamos a D e / ou E. Como as conexões para A, B e C podem ser descartadas ao estabelecer conexões com D e E?

É melhor se o processo que abriu as conexões não for finalizado.

    
por Sebi 30.12.2015 / 13:53

1 resposta

3

Primeiro, com iptables você não pode matar conexões estabelecidas. Depois que uma conexão for aberta (digamos, um download) e você criar uma regra com o destino FORWARD descartando a conexão, ela será aplicada apenas para novas conexões. A única maneira de fazer isso é:

  1. Matando o processo que está criando a conexão
  2. Desligando a interface

Existem alguns cenários em que as pessoas relatam que até mesmo cria uma rota com a opção rejeitar, executando < href="http://ubuntuforums.org/showthread.php?t=1345837"> ifdown em uma interface ou remover uma regra pós-venda de máscaras não fechou as conexões.

Sobre a condição, a coisa mais próxima que eu posso imaginar para criar uma condição em iptables sempre que algo acontece, pode ser feito usando o condição correspondência das extensões do Netfilter

Este exemplo rejeitará novas conexões sempre que o servidor estiver em manutenção. É apenas uma questão de ecoar um número 1 para um arquivo dentro de /proc com o mesmo nome da condição.

# iptables -A FORWARD -p tcp -d 192.168.1.10 --dport http -m condition --condition webdown -j REJECT --reject-with tcp-reset

# echo 1 > /proc/net/ipt_condition/webdown
    
por 30.12.2015 / 17:02