O que as cadeias de entrada e saída na tabela NAT fazem?

1

Eu entendo o que as cadeias prerouting e postrouting fazem no IPTables, mas não consigo entender o que as cadeias output e input fazem.
Assim, no NAT, alteramos o IP ou a porta de destino usando DNAT in prerouting ou o IP de origem para obter a resposta para a interface correta usando SNAT ou MASQURADE in postrouting .

Nesse cenário, não encontro uso para input e output chains. Alguém poderia explicá-las ( input e output ) rapidamente para mim?

    
por Mohammed Noureldin 09.07.2017 / 02:17

1 resposta

2

INPUT e OUTPUT cadeias são percorridas para pacotes entregues e enviados de aplicativos em execução na máquina local.

Se um aplicativo envia um pacote, ele percorre

app -> OUTPUT -> POSTROUTING -> interface

Por outro lado, um pacote entregue a um aplicativo atravessa

interface -> PREROUTING -> INPUT -> app

Enquanto um pacote encaminhado atravessa

interface -> PREROUTING -> FORWARD -> POSTROUTING -> interface

Observe que MASQUERADE é apenas um caso especial de SNAT , em que o endereço de origem é retirado da interface.

Veja também esta foto ou muitas outras que você pode encontrar em iptables tutoriais.

Editar

Se você quiser fazer DNAT para pacotes enviados de um aplicativo, use OUTPUT , porque DNAT só funciona em PREROUTING e os pacotes de saída de um aplicativo nunca percorrem PREROUTING .

Da mesma forma, para SNAT , INPUT e POSTROUTING no caso de aplicativos enviados para um aplicativo, embora não tenha certeza sobre o status atual de SNAT em INPUT , ele pode estar quebrado e não realmente funciona.

Como a maioria dos mascarados acontece em pacotes de encaminhamento de roteadores, você não vê esses tipos de aplicativos com frequência.

    
por 09.07.2017 / 11:12