一台 PC 可以有多个默认网关吗?

一台 PC 可以有多个默认网关吗?

我知道一台电脑可以有多个网络适配器,每个适配器都有不同的网络标识符(IP、MAC 等)。

我的问题是,某台 PC 是否可以有多个活动默认网关?如果可以,那么 PC(或者更确切地说是操作系统)如何知道对于任何给定的数据包使用哪个适配器?

答案1

从技术上来说可以,但实际上不行。

关键在于“默认”一词,它是默认的——我从 Subway 订购一个默认三明治(肉丸番茄酱配奶酪和墨西哥胡椒),我经常会更换它,但仍然是我的默认,我没有两个默认。

因此,它与网络接口相同,您定义“规范”,然后指定何时想要通过“静态路由”打破该规范(查看您选择的操作系统上的“路由”命令)。

希望这会有所帮助,并且不会让你太饿......

答案2

不可以,不能有多个积极的默认网关。

任何操作系统都可以配置多个默认网关(技术上是一条通往未指定的地址,即0.0.0.0::)。在这种情况下,它会执行对具有多条路径的任何路线目的地所执行的操作。

  • 它根据以下条件选择活动路由:偏爱价值
  • 如果有多个具有相同偏好,则它会根据公制
  • 如果 Preference 和 Metric 都相同(这可能只适用于静态路由),则选择哪种方法将因操作系统而异,但它会选择一个并将其标记为活动

它将使用主动选择,直到系统检测到它不再起作用(这将根据路由插入路由表的方式而有所不同),然后它切换到另一个可用路由(再次基于首选项然后是度量)。

如果引入了具有更高度量或首选项的新路由,它将切换到最优先的,然后是最短的度量。

但任何时候只能有一个(或零个)积极的到任何特定目的地的路线。

答案3

默认网关是其他路由均不匹配时使用的路由。因此根据该定义,一次只能有一个。

但事实并非如此,因为您的路由规则可能更复杂。例如,现代版本的 Linux 支持使用多个完全独立的路由表,并逐个数据包确定要查询哪个表。因此,例如,您可能有一个用于正常流量的网络配置,但您的 Web 浏览器有一个完全不同的路由表。或者,您可能有另一个仅用于设置了特定 TOS 位的数据包的路由表。但每个路由表都有自己的默认网关,这将反映该特定路由表的默认路由。

通常,路由表很简单,即“本地流量到本地接口,其他所有流量到路由器。”但如果您使用更复杂的网络设置,那么就有工具来应对您能想到的任何网络场景。

答案4

一台 PC 可以有多个默认网关,但在静态 IP 配置中,您只能输入 1 个地址,实际上,可以有多个默认网关将您带出网络。有一种地址称为浮动地址,该地址只是虚拟地址,而不是真实地址。该地址是同一网络中两个路由器之间浮动的地址。浮动地址是在 PC 上输入的,当它到达工作交换机时/在进入路由器之前,它会自行判断路径并选择两个或多个默认网关中的一个。

很难向您展示它的工作原理,它是一种网络专业级工具,使用它时在网络中运行的协议是:VRRP 和 HSRP。Cisco 和 Juniper 协议。

相关内容