PREROUTING : esta cadena se utiliza para tomar decisiones relacionadas con el enrutamiento antes de ( PRE ) enviar cualquier paquete. Recuerde siempre que en la tabla, por PREROUTING/POSTROUTINGejemplo NAT, los ACCEPT/DROP/REJECTobjetivos de la FILTERtabla predeterminada no funcionarán. La NATtabla solo se usa para tomar decisiones de enrutamiento. Debe usarlo PREROUTINGal tomar decisiones de enrutamiento, es decir, las decisiones que deben tomarse antes de que el paquete comience a atravesar la red. Aquí hay un ejemplo, estamos redirigiendo cualquier tráfico que acaba de llegar al servidor en el puerto 80 al puerto 8080:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
FORWARD : como su nombre lo indica, la FORWARDcadena de la FILTERtabla se utiliza para reenviar los paquetes desde un origen a un destino, aquí el origen y el destino son dos hosts diferentes. Entonces, como puede imaginar, las FORWARDreglas se usan básicamente en servidores donde un host envía / recibe tráfico de otro host a través del servidor. Cuando el paquete se genera desde el servidor, la cadena es, es OUTPUTdecir, el tráfico sale de sí mismo, mientras que la INPUTcadena significa que los paquetes están destinados solo al servidor. Aquí hay un ejemplo de FORWARDcadena donde cualquier TCPtráfico recibido en el puerto 80 en la interfaz eth0destinada al host 192.168.0.4será aceptado y enviado a 192.168.0.4:
iptables -A FORWARD -i eth0 -p tcp --dport 80 -d 192.168.0.4 -j ACCEPT