Proxy-forward no Squid através de um IP público diferente, dependendo da porta local

2

Desejo encaminhar uma solicitação HTTP persistente por meio de um IP público diferente. Ele se conecta ao servidor e fica conectado enquanto o servidor transmite dados continuamente.

Isso precisa ser transparente para o aplicativo; a lógica de roteamento precisa ser limitada a apenas fazer a conexão HTTP com um número de porta de destino (ou host: port).

Estou pensando em ter um serviço Squid escutando em um IP da LAN, mas em várias portas; se o aplicativo se conectar à porta A, encaminhe a solicitação por meio de nic A; para conexões da porta B, encaminhar através do nic B; e assim por diante.

Esta é uma tarefa adequada para o Squid? E onde eu poderia encontrar algumas dicas sobre a configuração? Eu me perdi lendo a documentação do Squid procurando por algo relacionado a isso (especificamente como mapear portas locais - > placas de saída diferentes).

    
por luisfarzati 19.04.2012 / 16:52

1 resposta

4

Sim, é possível com o Squid.

http_port 3128
http_port 3129
http_port 3130

acl port1 myport 3128
acl port2 myport 3129
acl port3 myport 3130

tcp_outgoing_address x.x.x.1 port1
tcp_outgoing_address x.x.x.2 port2
tcp_outgoing_address x.x.x.3 port3

Se você tiver um gateway diferente por endereço IP, também precisará configurar o roteamento de origem:

ip rule add from x.x.x.1 table 10
ip rule add from x.x.x.2 table 11

ip route add table 10 default via GW1
ip route add table 11 default via GW2

ip route add default via GW3

No squid.conf, é importante definir:

server_persistent_connections off

Ou meu procedudore não funcionaria.

    
por 19.04.2012 / 23:00