我办公室有两个独立的互联网连接,目前用于不同的目的,但我希望能够使用第二个连接作为我们基于 Web 的应用程序的后备。
我目前有一台装有 IIS 的 Windows 计算机,其中一块 NIC 连接到外部世界,另一块 NIC 连接到本地网络 192.168... 仅在外部 NIC 上指定了默认网关。如果我尝试将另一个互联网连接连接到另一个 NIC,我无法设置第二个默认网关,否则 Windows 会完全失灵,如果我不这样做,响应数据包会尝试返回另一个连接。
有没有办法可以在没有另一台专用于该任务的机器(或至少一个虚拟机实例)的情况下完成此任务?
答案1
首先 - 这听起来有点安全问题。如果机器被入侵,它可能会开始充当路由器,从而危及 192.168 网络。希望这不是您的办公室 LAN 环境。最好建立一个连接到两个 Internet 连接的防火墙(作为不受信任的连接)- 将您的 Web 服务器置于 DMZ 网络中。类似于...(请原谅 ASCII 艺术):
ISP A -> firewall < - ISP B
| |
V V
DMZ LAN
web server everything else
您可以在防火墙上设置端口转发,以便与任一 ISP IP 的端口 80 的连接转发到您的 Web 服务器,该服务器位于物理上独立的 DMZ 网络上。现在,您的预算/网络架构等可能会禁止这样做。
如果是这种情况,一个简单的路由添加应该可以解决问题。来自路由打印的帮助文件:
> route ADD 157.0.0.0 MASK 255.0.0.0 157.55.80.1 METRIC 3 IF 2
destination^ ^mask ^gateway metric^ ^
Interface^
If IF is not given, it tries to find the best interface for a given
gateway.
不够简洁,但正确。假设您希望这是通向外部世界的第二条路线,则目的地的语法将是 0.0.0.0 掩码 0.0.0.0。对于网关,这是允许您访问第二个 ISP 的机器的 IP。我通常会跳过度量和 IF 部分,但我认为您可能希望将“主”ISP 的度量设置为 1,将“备份”的度量设置为 2。
话虽如此,我并不完全确定如果您输入此信息,Windows 会做什么。它将能够使用两个网关,我认为它会优先使用度量 1 的网关,但如果失败,则使用度量 2 的网关。
更多信息请见此处:http://technet.microsoft.com/en-us/library/cc779696.aspx
答案2
为该接口添加一条路由。执行“route print”来显示当前路由,然后执行“route add”来添加一条路由。