Como configuro o RouterOS para usar o proxy da Web em outra máquina?

4

O RouterOS docs mostra como fazer proxy transparente de todo o tráfego da web através do proxy HTTP embutido no RouterOS:

/ip firewall nat 
add in-interface=ether1 dst-port=80 protocol=tcp action=redirect to-ports=8080 chain=dstnat 
/ip proxy
set enabled=yes port=8080

Gostaria de executar um proxy em outra máquina, para que eu possa aproveitar as regras de filtragem mais sofisticadas disponíveis no Squid ou algo semelhante. No entanto, se eu usar o NAT para redirecionar o tráfego para outra máquina que esteja executando o Squid, isso não funcionará, já que a solicitação HTTP precisará ser reescrita para ser uma solicitação HTTP de proxy; apenas redirecionando o tráfego dá erros de solicitação incorreta do Squid.

    
por Tim 16.09.2010 / 10:14

3 respostas

2

Isso pode ser feito com a configuração parent-proxy :

/ip proxy
set parent-proxy=<IP of Squid machine> parent-proxy-port=3128
    
por 16.09.2010 / 10:23
3

Não há necessidade de definir proxy no RouterOS. Você pode rotear todo o tráfego HTTP de saída para o servidor diretamente através do NAT:

ip firewall nat add in-interface=eth1 src-address=!<IP of Squid machine> dst-port=80 protocol=tcp action=dst-nat to-addresses=<IP of Squid machine> to-ports=8080 

O último parâmetro "src-address =! ..." é necessário no caso de a máquina de squid se comunicar através da mesma interface que as outras máquinas. Caso contrário, seria assim:

  1. O computador envia uma solicitação HTTP
  2. O RouterOS destina este pacote ao squid
  3. O Squid envia solicitação HTTP para o servidor da Web
  4. RouterOS destina squid novamente para o squid - > loop
por 16.09.2010 / 13:19
1
/ip proxy
set parent-proxy=<IP of Squid machine> parent-proxy-port=3128

/ip firewall nat
chain=dstnat src-address=!<IP of Squid machine> protocol=tcp dst-port=80  src-address-list=<IP of Local machine> action=redirect to-ports=8080
    
por 22.06.2013 / 07:38