Deve ser possível fazer isso usando REDIRECT no IPTables. Há algumas coisas que não foram mencionadas sobre suas tentativas aqui, e que podem ter sido negligenciadas - isto é, para usar a cadeia de pré-formatação (ou cadeia de saída, mas provavelmente não aqui). Penso também que é necessário usar a tabela NAT:
-
Você vai querer usar algo como iptables -t nat -A PREROUTING -i eth0 -p tcp --dportar 80 -j REDIRECIONAR - para porta 8000
-
Você precisa de um programa em execução na porta 8000 na máquina local para realmente manipular o solicitações.
-
Pode ser necessário ajustar sua pilha, por exemplo, ativar o encaminhamento de ip, ativar send_redirects dependendo do seu caso de uso.
Um pensamento para você - o que você está tentando fazer foi resolvido no Linux para "proxy transparente", então usando guias como este pode te dar um longo caminho em direção ao seu objetivo.
Você também pode querer limpar sua definição de "todos os pacotes na porta 80" - que provavelmente não funcionaria se a resposta fosse dada à pergunta que você fez - suspeito que você esteja falando de todos os pacotes destinados à porta 80 - que é muito diferente de todos os pacotes recebidos da porta 80 também.