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/POSTROUTING
ie, NAT
os ACCEPT/DROP/REJECT
destinos etc da FILTER
tabela padrão não funcionarão. A NAT
tabela é usada apenas para tomar decisões de roteamento. Você deve usar PREROUTING
ao 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 FORWARD
cadeia de FILTER
tabelas é 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 FORWARD
regras 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 é, OUTPUT
ou seja, o tráfego está saindo de si, enquanto INPUT
cadeia significa que os pacotes são destinados apenas ao próprio servidor. Aqui está um exemplo de FORWARD
cadeia em que qualquer TCP
tráfego recebido na porta 80 na interface eth0
destinada ao host 192.168.0.4
será aceito e encaminhado para 192.168.0.4
:
iptables -A FORWARD -i eth0 -p tcp --dport 80 -d 192.168.0.4 -j ACCEPT