就像PC都会有个默认网关来连接本地路由器——在互联网上同样也是如此——许多路由器和交换机也有默认的路由,以便访问不是本地的网络。默认路由是一种非凡类型的路由——同时也是IP路由的一个重要部分。 了解如何以及何时使用默认路由,对于正确的网络设置(安装)是极其必要的。
你可以将默认路由看作一个"最后一招的网关".这个非凡的路由告诉计算机或者其它路由器,当它们没有一个更加非凡的路由时,联系默认路由器的下一个跃点。假如没有默认路由,一个路由器可能会丢弃一个网络请求——假如这个请求不是在它的路由表之中的话,并会给通讯源头发送ICMP目标无法到达的信息。
这里是一个简单的例子: 我们的PC机有一个IP地址,192.168.1.100,以及一个子网掩码是255.255.255.0. 假设我们希望和局域网上的服务器通讯,它的IP地址是192.168.1.200
就这个例子而言,我们实际上根本不需要一个默认路由,也不需要在电脑上配置一个默认网关。 可是,当我们试图和在192.168.1.0网络上的其他设备通讯时,我们就需要去往默认网关/路由——比方说,192.168.1.1.
在谈及电脑上的默认网关以及在路由器和交换机上的默认路由时,知道如何将两者区别开是非常重要的。 一台PC机只是通过一个接口来连接网络,而不是一台路由器;一个交换机(除非它是Layer 3交换机)的处境和PC是一样的。
而另一方面,一个路由器——只要它的确是在路由,而不是桥接——都有多个接口。 当发现自己所处的网络不属于任何一个已知网络时,它使用默认路由来确定到底该将通讯发往何处。
默认路由示例:
很多时候,人们将默认路由叫做"0/0"路由,因为这些路由的IP地址是0.0.0.0,而子网掩码也是0.0.0.0. 这基本上就是在说,"不管是什么IP地址,也不管子网掩码是什么,都从我这里发就OK".
在一个路由器的路由表中,一个默认路由看起来又是怎样呢? 这里是一个示例:
Router# show ip route
<…truncated…>
Gateway of last resort is 192.168.1.1 to network 0.0.0.0
C 192.168.1.0/24 is directly connected, FastEthernet4
S* 0.0.0.0/0 [254/0] via 192.168.1.1
在一台PC机上,它看起来就像这样:
C:> ipconfig
Windows IP Configuration
Ethernet adapter Local Area Connection:
Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 192.168.1.105
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.1.1
如何获得默认路由
虽然你无法从输出中获知它,但我们却可以通过一个示例,让你看看如何通过DHCP(动态主机配置协议,Dynamic Host Configuration Protocol),来获取默认路由以及默认网关。 实际上,有三种方法来获取默认路由。
◆配置一个静态路由
◆通过路由协议(一般不会在电脑上使用该协议),从另一台路由器上获取当前路由。
◆通过DHCP获知默认路由。
当你可以使用ip default-network命令来在一台路由器上设定一个默认路由时,我推荐你仅使用ip route命令来建立一个静态路由。 这里是一个如何在路由器或者交换机上配置默认路由的示例:
Router(config)# ip route 0.0.0.0 0.0.0.0 1.1.1.1
这些命令的意思是:
所有不进入本地连接网络的通讯,均转发给在1.1.1.1地址的路由器。 (当然,该路由器也必须知道如何到达此IP地址,所以务必确保你所指定的某个连接网络,的确连接到该路由器的某个接口上。)
如何使用一个路由协议分发该默认路由
让我们假设,你打算使用你的核心路由器来告知所有其他路由器——他们应当在发现无法访问的网络时,就全部通过核心路由器来进行。 当需要进行上述配置时,每个路由协议都是不同的,所以你可能会希望从Cisco的相关文档中找到某些可用的帮助。
就本示例而言,我们假设采取的是RIP(路由信息协议)。 首先,我们应当查看一下Cisco的配置路由信息协议(RIP)的文档。
以我个人观点来看,我们的最好选项是使用default-information originate命令,来发送默认路由到另一台路由器上。 这里是具体示例(这里假设我们已经事先配置完毕RIP协议了):
Router(config)# router rip
Router(config-router)# default-information originate
这会发送默认路由到所有其他RIP路由器上(如上述第一个例子所示)。