PREROUTING : Essa cadeia é usada para tomar decisões relacionadas ao roteamento antes de ( PRE ) enviar quaisquer pacotes. Lembre-se sempre de que, na tabela PREROUTING/POSTROUTINGie, NATos ACCEPT/DROP/REJECTdestinos etc da FILTERtabela padrão não funcionarão. A NATtabela é usada apenas para tomar decisões de roteamento. Você deve usar PREROUTINGao tomar qualquer decisão de roteamento, ou seja, as decisões que devem ser tomadas antes que o pacote comece a atravessar a rede. Aqui está um exemplo, estamos redirecionando qualquer tráfego que acabou de chegar ao servidor na porta 80 para a porta 8080:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
FORWARD : Como o nome sugere, a FORWARDcadeia de FILTERtabelas é usada para encaminhar os pacotes de uma origem para um destino, aqui a origem e o destino são dois hosts diferentes. Portanto, como você pode imaginar, as FORWARDregras são basicamente usadas em servidores nos quais um host está enviando / recebendo tráfego de outro host via servidor. Quando o pacote é gerado a partir do servidor, a cadeia é, OUTPUTou seja, o tráfego está saindo de si, enquanto INPUTcadeia significa que os pacotes são destinados apenas ao próprio servidor. Aqui está um exemplo de FORWARDcadeia em que qualquer TCPtráfego recebido na porta 80 na interface eth0destinada ao host 192.168.0.4será aceito e encaminhado para 192.168.0.4:
iptables -A FORWARD -i eth0 -p tcp --dport 80 -d 192.168.0.4 -j ACCEPT