Respostas:
-
O motivo pelo qual você deseja unir os SYNs é duplo. Primeiro, todos os pacotes estabelecidos subsequentes serão passados por conntrack (a segunda linha que você perguntou). Qualquer coisa que seja não correspondida por conntrack e também não seja um SYN é um pacote não estabelecido e não pertence. Portanto, ele é ignorado neste ponto e, finalmente, é finalmente descartado pela última regra em sua tabela de filtros. Essa é uma maneira de proteger seu processo de proxy da atividade de seus usuários. Por exemplo, algumas formas de sondagem de rede começam a enviar com ACK ou FIN apenas para ver como o remoto reagirá e alguns aplicativos morrem horrivelmente quando recebem pacotes malformados / inesperados.
-
Por que permitir explicitamente o tráfego conntrack-ed? Porque a última linha indiscriminadamente cai tudo. Deixar o drop e remover o conntrack deixaria os pacotes do seu proxy conversando com os clientes. Há uma distinção muito boa aqui. As linhas que correspondem com base no proprietário do uid correspondem apenas aos pacotes gerados pelo proprietário do proxy. Os pacotes de entrada dos clientes que são entregues ao proxy não são de propriedade do proxy.
Considere o seguinte diagrama:
[ client ] <---traffic---> [ proxy ] <---traffic---> [ target ]
O tráfego à esquerda entre o cliente e o proxy não é de propriedade do proxy (foi criado por uma fonte não confiável fora do sistema) e, portanto, não corresponde à linha 3 do filtro, que significa que sem a linha de filtro 4 ele será derrubado pela linha de filtro seis.
O tráfego à direita entre o proxy e o destino é de propriedade do proxy (foi criado por um processo executado sob um UID local) e, portanto, é sempre permitido pela linha nat 4 e filtrar linha 3.
No seu caso especificamente, como tudo está sendo executado localmente, essa pode não ser a melhor abordagem. Há várias maneiras de você poder rolar as regras iptables
. O que realmente importa é que isso ainda funcione para você. Se você aprender mais sobre o iptables você pode massagear as regras, mas você pode deixá-lo como está e ficar bem também.
Espero que isso ajude. É um assunto bastante complexo.