Reescreva o pedido HTTP de saída no DD-WRT

1

Estou executando um roteador DD-WRT (v24SP2-MULTI (11/04/12) std) em minha rede doméstica e gostaria de reescrever todas as solicitações HTTP de saída. Especificamente, gostaria que todas as solicitações feitas para xxx.example.org fossem reescritas como uma solicitação para zzz.example.org no nível do roteador.

Agora, percebo o quão complexo seria fazer isso, então tentei lidar com isso em um nível mais simples usando o DNSMasq para definir um endereço absoluto para o domínio usando a diretiva de endereço da seguinte forma: address=/xxx.example.org/1.2.3.4

Enquanto isso funciona, o problema óbvio que tenho é que o endereço IP pode mudar. Eu ficaria satisfeito se eu fosse capaz de dizer ao DNSMasq para realizar uma busca por um domínio diferente ao invés de ter que fornecer um endereço absoluto, mas eu não vejo isso como possível de acordo com as páginas do manual.

Minha pergunta se resume a: Usando um roteador DD-WRT, posso ter todas as solicitações HTTP internas para externas para um domínio específico, na verdade, deixar o roteador para um domínio diferente?

    
por DDWRT In Seattle 05.02.2014 / 08:37

2 respostas

0

Se você alterar apenas a resolução IP, será uma solução intermediária, pois os cabeçalhos HTTP ainda conterão as informações sobre a consulta original.

O que você pode fazer é instalar no roteador um pequeno proxy (por exemplo, Privoxy ) e, em seguida, fazer a regravação do URL lá (usando REDIRECT e CLIENT-HEADER-FILTER, se falamos de Privoxy).

Depois, você pode apontar o navegador para o Privoxy ou, eventualmente, usar o iptables para fazer o proxy transparente, para que o cliente nem precise saber disso. (por exemplo, veja aqui para ter uma ideia de como fazê-lo)

    
por 05.02.2014 / 09:28
0

Se você quiser reescrever todos os pedidos HTTP de saída no roteador, a melhor maneira de fazer isso seria instalar um proxy transparente. 1 no roteador. Você precisaria configurar um redirecionador básico (ou aqui ) sob o squid também para obter para trabalhar.

Eu indico que, dependendo do que você está tentando fazer, se você pode usar um endereço IP em vez do nome do host, você deve conseguir isso com uma única regra IPTABLES para reescrever o endereço de destino (DNAT) usando algo como iptables -t nat -A PREROUTING -p tcp --dportar 80 -i (INTERNALIF) -s old.ip.addr.ess -j DNAT - para new.ip.addr.ess

    
por 05.02.2014 / 10:08