Tradução IP para proxying endereço IP sem entrada dns

1

Usamos um sistema proxy baseado em dns, que faz o proxy de determinados endereços com base na entrada dns, portanto, por exemplo, para website1.com, o dns retorna o IP se o proxy, e a solicitação é enviada embora, mas para website2.com o dns retorna o endereço regular e a solicitação é enviada diretamente. Isso não é problema

No entanto, isso só funciona para chamadas baseadas em nome. Precisamos ser capazes de fazer o mesmo para certos endereços IP também, mas existe alguma maneira de fazer isso?

Por exemplo, um usuário navega até um site com IP 1.2.3.4, mas SEM entrada de DNS, nem A nem PTR. Em seguida, precisaríamos da chamada para não ir para o IP 1.2.3.4, mas para o nosso servidor 10.0.0.4. Existe alguma maneira de fazer isso? Percebemos que isso precisaria ser definido na máquina do cliente, mas ainda assim - existe alguma maneira de fazer isso?

Os clientes podem ser qualquer coisa, Windows, Mac, Linux, Android, o que for .. provavelmente não é possível em todos, mas é possível em qualquer um deles?

    
por gldesign 20.12.2013 / 11:30

1 resposta

1

Como você especificou a rede, existe uma opção no nível da rede, forneci uma solução de rede abaixo sinalizada com NETWORK. Apenas alguns protocolos são comumente intermediados por proxy, mas a maioria funciona bem com o NAT (a solução de rede). HTTP e HTTPS são comumente intermediados por proxy, então essa é minha primeira resposta.

Estou confuso com sua descrição do proxy baseado em DNS. É comum que o DNS especifique endereços IP diferentes para endereços diferentes ou que sites relacionados tenham o mesmo endereço IP. Como você está especificando sites como seus nomes de host, acredito que podemos supor que você deseja sites proxy. Eu acredito que o termo que você está procurando é "hospedagem virtual baseada em nome" ou "proxy baseado em nome"

Para HTTP ou HTTPS, muitos servidores podem fazer proxy de tráfego com base no endereço IP e / ou no nome especificado no cabeçalho HOST. O Apache Web Server usa VirtualHosts para separar sites. Outro software que pode ter tráfego proxy tem a mesma funcionalidade ou similar. No Apache, para fazer o proxy baseado em ip e baseado no mesmo site, você criaria um VirtualHost para o endereço IP e adicionaria o (s) nome (s) necessário (s) ao host virtual. Você configuraria esse VirtualHost para fazer proxy em todo o site ou parte dele.

REDE: Se você quiser redirecionar um endereço IP para um endereço diferente, isso pode ser feito por um roteador. O mecanismo usado é o NAT de chamada (Network Address Translation). Neste caso, você precisaria de DNAT (Destination Network Address Translation). Alguns roteadores podem fazer NAT em um endereço por porta (serviço). Nesse caso, você deseja que as entradas de DNS relacionadas retornem o endereço IP que está sendo traduzido.

EDIT: Os comentários adicionais fornecem informações adicionais. Pelo que entendi os requisitos:  - Proxying será apenas para usuários de determinados endereços / intervalos de endereços, nem todo o tráfego para o nome / IP será proxied.  - As solicitações proxy devem aparecer para se originarem do proxy e não do host original.  - A solução atual forneceu registros de endereço diferentes, dependendo da origem da solicitação. (Acredito que a solução existente está quebrada aqui. A solicitação do DNS é originária do servidor DNS que o cliente está usando, que pode não ser o dispositivo do cliente. As respostas do DNS são armazenadas em cache, portanto você não pode confiar em uma solicitação DNS anterior à solicitação). / p>

A solução que acredito provavelmente funcionaria é lidar com isso com as regras NAT em um dispositivo na frente do servidor e do proxy. Isso faria com que o NAT todo o tráfego que você deseja proxy para o seu dispositivo proxy com base no endereço IP de origem, e passar outro tráfego diretamente para o servidor.

    
por 20.12.2013 / 14:12