为什么一台计算机有两个网卡,一个连接公网,一个连接内网,只能连接公网的网卡设置网关,而连接内网的网卡不设置网关?

我们知道,给路由器加路由,信息最终会加到路由表中。windows虽然不是路由器,但是他也有路由表,且路由表中默认路由是设置的网关,因为给计算机网卡配置网关就是添加默认路由(一个网卡只能配置一个网关),默认路由的网段都是0.0.0.0,相当于没有网段。由下图可见:
为什么一台计算机有两个网卡,一个连接公网,一个连接内网,只能连接公网的网卡设置网关,而连接内网的网卡不设置网关?

  1. 在windows的doc下输入:route print或者netset -r可以看见计算机上的路由表。
  2. 在doc下输入:routeadd 目标网段 mask 目标网段掩码 网关 命令可以添加路由到路由表中。
    使用route /?可以所有的route命令

需要注意的是,如果计算机装了两个网卡,且每个网卡设置了网关,即该计算机有两个默认路由。如果没有指定静态/动态路由,计算机会轮流的使用这两个默认路由,使得过这个路由器的通信时通时不通。如下面这个例子:
为什么一台计算机有两个网卡,一个连接公网,一个连接内网,只能连接公网的网卡设置网关,而连接内网的网卡不设置网关?
小结:计算机如果有多个网卡,只为一个网卡配置网关。