Como posso redirecionar o tráfego de saída para a porta 80 usando iptables localmente?

16

Estou tentando redirecionar localmente as portas na minha máquina Ubuntu usando iptables . Semelhante ao proxy transparente. Eu quero pegar qualquer coisa tentando deixar meu sistema na porta 80 e redirecioná-lo para um host remoto e porta.

Posso conseguir isso usando as funções NAT e de pré-roteamento de iptables ?

    
por pjf 08.08.2013 / 07:54

3 respostas

24

Experimente esta regra iptables :

$ sudo iptables -t nat -A OUTPUT -p tcp --dport 80 -j DNAT --to-destination IP:80

O texto acima diz:

  • Adicione a seguinte regra à tabela NAT ( -t nat ).
  • Esta regra será anexada ( -A ) ao tráfego de saída ( OUTPUT ).
  • Estamos interessados somente no tráfego TCP ( -p tcp ).
  • Estamos interessados apenas no tráfego cuja porta de destino é 80 ( --dport 80 ).
  • Quando tivermos uma correspondência, pule para DNAT ( -j DNAT ).
  • Encaminhe esse tráfego para a porta 80 @ de outro servidor @ ( --to-destination IP:80 ).

O que é o DNAT?

DNAT
    This target is only valid in the nat table, in the PREROUTING and OUTPUT 
    chains, and user-defined chains which are only called from those chains.
    It specifies that the destination address of the packet should be modified 
    (and all future packets in  this  connection will also be mangled), and
     rules should cease being examined.

Referências

por 08.08.2013 / 08:08
5

Isso pode ser mais específico para operar somente no tráfego para um host de destino específico. Por exemplo, quando o postfix cometeu um erro e os emails na fila querem ser enviados para um endereço IP antigo.

iptables -t nat -A OUTPUT -p tcp -d {ONLY_TO_THIS_DESTINATION} --dport 25 -j DNAT --to-destination {NEW_IP}:25
    
por 23.01.2018 / 14:03
4

Isso pode permitir que você traduza portas para todos os endereços IP. A principal diferença aqui é a ausência de um endereço IP no campo --to-destination .

iptables -t nat -A OUTPUT -p tcp --dport 80 -j DNAT --to-destination :80
    
por 28.05.2014 / 03:25