Rota estática em direção a um endereço DNS, é possível?

2

Eu preciso adicionar uma rota estática em um servidor Windows em direção a um servidor web com um serviço; Eu preciso adicionar uma rota estática com este comando em um prompt de comando do Windows:

ROUTE ADD -p IPADREESS GATEWAYIP

Existe uma maneira de fazer uma rota estática em direção a um endereço DNS em vez de um endereço IP? Como?

Por exemplo:

ROUTE ADD -p DNSServer GATEWAYIP 
    
por aleroot 23.05.2010 / 18:51

4 respostas

8

A sintaxe do comando route add é

route add destination mask subnetmask gateway metric costmetric if interface

Em que destino é um endereço IP ou nome do host para a rede ou o host.

Exemplo:

route add webservices.example.com mask 255.255.255.255 10.11.12.13

Consulte este artigo da Microsoft: Para adicionar uma rota IP estática

Você deve ter em mente que a entrada será resolvida para um endereço IP, portanto, se o DNS do nome do host for alterado, ainda haverá o endereço IP original na tabela de roteamento.

    
por 23.05.2010 / 19:06
4

Essa é mais uma solução alternativa que eu uso. Você pode usar esse script em lote. Basta adicioná-lo no agendador de tarefas para ser executado toda vez que o seu PC for iniciado. Isso obterá o IP do seu nome de domínio e adicionará rota.

:: Get IP of Domain name
setlocal EnableDelayedExpansion

set myServer=your.server.com

for /f "tokens=1,2 delims=[]" %%a IN ('ping -n 1 !myServer!') DO (
 if "%%b" NEQ "" set myServerIP=%%b
)
echo ip is %myServerIP%

route add %myServerIP% mask 255.255.255.255 <gateway ip address>
EXIT

Não use a opção -p, caso contrário, a rota será permanente. Se o seu IP de domínio continuar mudando em intervalos regulares, use o agendador de tarefas para executar esse script nesses intervalos. Espero que isso ajude!

    
por 09.05.2015 / 18:47
1

Não, não na camada de rede. Você poderia, talvez, atingir seu objetivo usando algo como um proxy. Você também pode emular o comportamento usando um script, mas provavelmente seria falível.

Para ficar claro , meu ponto é que você não pode rotear dinamicamente com base no nome do host. Eu não estou contestando o que splattne disse.

    
por 23.05.2010 / 19:04
0

Is there a way to do a static route toward a DNS address instead of a IP Address ? How ?

Não, mas talvez o que você queira possa ser alcançado com uma substituição local em / etc / hosts.

Exemplo 1

Um exemplo de quando isso foi útil na minha experiência:

Eu tenho um proxy reverso ocupado (na "nova" rede), que lidera várias fontes. Para chegar a uma dessas fontes, o tráfego teria que passar pela rede antiga que é desejável evitar. No entanto, se adicionássemos outra interface (na nova rede) a esse host de back-end, poderíamos fazer o tráfego passar pela nova rede. Então, neste caso em particular, eu apenas coloquei uma override nos proxies reversos / etc / hosts que apontavam para o novo IP no servidor backend.

(Para Windows, apenas altere C: \ Windows \ System32 \ drivers \ etc \ hosts)

Exemplo 2

Outro exemplo, desta vez com um proxy de navegador.

Eu estava recentemente implantando uma grande atualização para o nosso site, e queria que as pessoas testassem as coisas exatamente como elas seriam (ou seja, as mesmas URLs que seriam usadas após a ativação).

Portanto, neste caso, configurei um proxy de navegador / forward (squid) em uma nova máquina e alterei seu / etc / hosts para apontar para os novos IPs do mundo, deixando o DNS para permanecer com os IPs do mundo antigo ( até ir ao vivo). O efeito era que, se eles configurassem seu navegador para usar esse proxy, ele acessaria o site do novo mundo, caso contrário, eles acessariam o site do mundo antigo. Eu também configurei um arquivo PAC (Proxy Auto Configuration) que tinha um conjunto de regras para dizer quais URLs deveriam usar o proxy, e qualquer outra coisa deveria ser direta. Trabalhou razoavelmente bem.

    
por 10.05.2015 / 11:17