O encaminhamento de IP no Linux age como um proxy reverso?

2

Eu olhei em volta e vi muitas soluções de encaminhamento de IP que encaminham solicitações de um IP em um servidor para outro IP em outro servidor. (Basicamente, o encaminhamento de pedidos vai para 123.45.67.89 no servidor X para 98.76.54.321 no servidor Y.) Essas soluções geralmente envolvem habilitar o encaminhamento de IP no kernel Linux e adicionar regras de iptables para fazer tudo funcionar.

No entanto, não tenho certeza se o servidor Y (e seu IP 98.76.54.321) será exposto ao fazer o encaminhamento. Eu estou basicamente apontando para um proxy reverso, mas para qualquer porta ou protocolo no TCP / UDP.

Basicamente, o encaminhamento IP do Linux age automaticamente como um proxy reverso, ou outras etapas devem ser tomadas para garantir que a identidade do servidor Y (seu IP) não seja revelada através do servidor X? Ou estou considerando a solução errada?

    
por Albert H 18.07.2013 / 01:28

2 respostas

3

O encaminhamento IP do Linux é basicamente roteamento. Ele não faz proxy, ou realmente altera o tráfego na camada 3 e acima de tudo.

Dito isto, se você quer ter algo que mascara a localização do tráfego, você pode considerar configurar o NAT usando o iptables para mascarar (ou fonte NAT) o tráfego para que o IP de origem seja o do servidor linux. Isso funciona em conjunto com o encaminhamento.

Para fazer isso, você deve DNAT o tráfego de entrada (alterar seu endereço de destino):

iptables -t nat -A PREROUTING -d ${server_x} -j DNAT --to-destination ${server_y}

Em seguida, você deve alterar o endereço de origem para que o servidor oculto envie o tráfego de volta pelo encaminhador:

iptables -t nat -A POSTROUTING -d ${server_y} -j SNAT --to ${server_x}

Você pode considerar isso também em um protocolo e porta, se é isso que você quer.

    
por 18.07.2013 / 01:40
2

Você não explicou completamente o problema que está tentando resolver, apenas como você acha que pode resolvê-lo, então pediu outras opções ... Então essa resposta pode ser um pouco vaga, mas eu vou dar assim mesmo .

Primeiramente, pelo amor de todas as coisas sagradas, EVITE NAT . Por favor. Um unicórnio chora toda vez que um novo NAT é criado.

Solução 1

Se seus servidores tiverem IPs públicos, apenas use o roteamento (IP Forwarding) e as regras de firewall apropriadas (iptables) para controlar o que é permitido.

Por exemplo:

Internet <==> Perimeter (123.45.67.89) <==> Server (98.76.54.321)

Habilite o encaminhamento de IP (roteamento) no host de perímetro e, em seguida, insira as regras de firewall para permitir apenas o tráfego que você deseja alcançar no servidor, DROP ou REJECT de todo o tráfego.

Solução 2

Se você realmente quiser "ocultar" o Servidor, a "internet" acredita que ele está falando com o "Perímetro", embora esteja lidando com o "Servidor", instale o software de Proxy Reverso apropriado em "Perímetro" e o tenha faça isso. Isso exigirá mais recursos no host de perímetro, mas oculta "servidor" e evita NAT (eu mencionei para evitar NAT?)

Solução 3

Se você realmente precisa, porque 1 e 2 não são viáveis por qualquer motivo, siga a sugestão de NAT.

    
por 18.07.2013 / 04:09