【发布时间】:2014-12-05 21:32:34
【问题描述】:
我的服务器中有三个网卡,其中 VMware“拥有”一个 192.168.114.0 的子网和一个位于 192.168.114.1 的网关。
我有一个“记录器”应用程序在主机 (10.x.x.x) NIC 上运行,第三个 NIC 用于 172.x.x.x 的出站流量,这与此处无关。
我的 Node.js 服务器正在侦听在主 NIC 为 10.x.x.x 的服务器上运行的 192.168.114.1。在 VMware 中,还有其他服务器运行的 IP 都在 192.168.114.x 范围内。
还有一些数据库安装在 10.x.x.x 上,VMware 服务器可以毫无问题地访问这些数据库。
VMware 中的服务器发现 Node.js 服务器正常(已发送 TCP SYN),但随后 Node.js 在 10.x.x.x 接口上发送所有 TCP 包,因此我没有将任何内容返回给 VMware 服务器。
添加到 Windows 的静态路由并不能解决问题,因为 Node.js 仍然选择最低的指标,它似乎始终是主 NIC。
作为测试,我使用 10.x.x.x 地址添加了一个新的 VMware 服务器,然后 Node.js 正确发送了数据包。我还测试了将主 NIC 设置为 192.168.114.x 地址,这也使它工作,所以这显然是一个路由问题。
问题是,如何让 Node.js 路由到选定的 NIC 而不是主要的?
【问题讨论】: