静态路由到一个DNS地址,这是可能的?

我需要添加一个静态路由在Windows服务器上的一个服务的Web服务器; 我需要在Windows命令提示符下使用此命令添加静态路由:

ROUTE ADD -p IPADREESS GATEWAYIP 

有没有办法做一个静态路由,而不是一个IP地址的DNS地址? 怎么样 ?

例如:

 ROUTE ADD -p DNSServer GATEWAYIP 

route add命令的语法是

路由添加目标掩码子网掩码网关度量成本如果接口

目的地是networking或主机的IP地址主机名称

例:

 route add webservices.example.com mask 255.255.255.255 10.11.12.13 

请参阅此Microsoft文章: 添加静态IP路由

您必须记住,该条目将被parsing为IP地址,因此如果主机名称的DNS发生更改,则路由表中仍将保留原始IP地址。

这更多的是我使用的解决方法。 您可以使用此批处理脚本。 只要将它添加到任务计划程序中即可在每次启动PC时运行。 这将获得您的域名的IP和添加路线。

 :: 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 

不要使用-p选项,否则路由将是永久的。 如果您的域IP持续不断地更改,则使用任务计划程序以这些间隔运行此脚本。 希望这可以帮助!

不,不在networking层。 你也许可以用代理来实现你的目标。 您也可以使用脚本来模拟行为,但可能会出错。

要清楚 ,我的意思是,你不能根据主机名dynamic路由。 我不是在争取什么splattne说。

有没有办法做一个静态路由,而不是一个IP地址的DNS地址? 怎么样 ?

不,但也许你想用/ etc / hosts中的本地覆盖来实现。

例1

从我的经验来看,这是有用的一个例子:

我有一个忙碌的反向代理(在“新”networking),它面前的一些来源。 为了达到其中一个来源,stream量将不得不经过旧networking,这是可以避免的。 但是,如果我们在该后端主机上添加了另一个接口(在新networking上),则可以使stream量通过新networking。 所以在这种特殊情况下,我只是在反向代理/ etc / hosts上指定了后端服务器上的新IP。

(对于Windows,只需更改C:\ Windows \ System32 \ drivers \ etc \ hosts)

例2

另一个例子,这个时候用一个浏览器代理。

我最近正在部署一个主要的升级到我们的网站,并希望让人们testing的东西完全一样(即相同的url将在上线后使用)。

因此,在这种情况下,我在一台新机器上设置了一个浏览器/转发代理(squid),并将其/ etc / hosts更改为指向新世界的IP,同时让DNS保留在旧世界的IP中生活)。 结果是,如果他们configuration他们的浏览器使用这个代理,它会去新的世界的网站,否则他们去旧世界的网站。 我还设置了一个PAC(代理自动configuration)文件,该文件有一套规则来说明哪个URL应该使用代理,而其他任何内容都应该直接指向。 工作得相当好。