指定缺省路由(last resort gateway)的指令供有3种,可以分成两类:
 
1、Ip default-gateway  
  仅在 "no ip routing" (关闭路由功能) 时生效;并且一台设备只能配置一条;
  ip defaut-gateway这条命令,是给交换机自己用的,而不是做为下联PC的网关;
  
  两个作用:
  1. 路由器配置ip default-gateway :为路由器指定一个默认网关,用于把路由器当作PC用;
  2. 交换机配置ip default-gateway :作为交换机管理地址(Vlan)的默认网关.
  
 
  (1)在R1上配置IP Default-Gateway

R1(config)#no ip routing
R1(config)#ip default-gateway 12.1.1.2 // 在R1上关闭路由功能,并指定默认网关为12.1.1.2
 
  (2)在R1上查看默认网关
R1#show ip route
Default gateway is 12.1.1.2
Host Gateway Last Use Total Uses Interface
ICMP redirect cache is empty //R1上路由功能已关闭,并且所有的数据包都将发给网关12.1.1.2
 
  (3)测试网络连通性
R1#ping 2.2.2.2
Type escape sequence to abort.
Sending , -byte ICMP Echos to 2.2.2.2, timeout is seconds:
!!!!!
Success rate is percent (/), round-trip min/avg/max = // ms //因为R1网关为12.1.1.2,而2.2.2.2在R2上,所有R1和2.2.2.2通信正常
 
  (4)现在假设不关闭路由功能,看ip default-gateway起作用不
R1(config)#ip routing
R1(config)#do show ip route
Gateway of last resort is not set
12.0.0.0/ is subnetted, subnets
C 12.1.1.0 is directly connected, FastEthernet0/
R1#ping 2.2.2.2
Type escape sequence to abort.
Sending , -byte ICMP Echos to 2.2.2.2, timeout is seconds:
.....
Success rate is percent (/) //可以看到ip default-gateway没有起作用,所有得到结论:必须要先关闭路由功能才能使用ip default-gateway
 
2、Ip default-network和ip route 0.0.0.0 0.0.0.0
  两者都用于ip routing有效的情况下,区别主要在于路由协议是否传播这条路由信息;
ip route 0.0.0.0 0.0.0.0 默认路由ip   //默认只会影响本机,不会自动被动态路由协议传播;
ip default-network 默认路由ip //可以自动被动态路由协议(RIP/IGRP/EIGRP)传播。
 
  ip route 0.0.0.0 0.0.0.0
  ip route 0.0.0.0 0.0.0.0 在有路由功能(ip routing)的情况下使用,且可以配置多条,流量会自动在多条链路上负载均衡.但它不会自动被动态路由协议通告给邻居。(实验将在下面体现)
 
  ip default-network 
  ip default-network 所定义的网络将成为路由器的默认网关(所有未知目标的数据包都会发往该网络),但必须是在目标网络(必须为主类网络)已经存在于路由表的情况下,否则执行无效;当配置了这条命令后,路由器将会把这条路由当成网关和路由表最后一个条目相匹配。当该条目匹配可达时,这条路径将会在路由表中被标记为*号(设为默认网关)[这是没有路由协议的情况]。
 
  当用ip default-network指令设定多条默认路由时,AD最短的将会成为缺省网关;如果AD都相等,那么在路由表(show ip route)中第一个显示的,就作为缺省网关。
  

举例:

  
  注意最后一条路由: S 198.10.1.0/24 [1/0] via 161.44.192.2 这条静态路由(事先已配置);
  当配置了ip default-network 198.10.1.0 后,路由表将发生变化。如下:
  现在Gateway of last resort被设置成161.44.192.2,且原路由条目被标记为*号(默认路由)
 
第二个例子:
 
  R1(config)#ip route 171.70.24.0 255.255.255.0 131.108.99.2
  

  R1(config)#ip default-network 171.70.24.0

  
 
  结果是只出来一条汇总路由:将171.70.0.0汇总到170.70.24.0. Why? 
  因为ip default-network命令是一个有类的命令(classfull),所指定的网段必须是没有划分过子网的主类网络*,否则不会产生默认网关(路由表不会将这条路由标记为*)!而是会安装一条主类路由(ip route 171.70.0.0 255.255.0.0 171.70.24.0)进路由表(RUN里可以看到)
  *这里因为171.70.24.0/24是170.70.0.0/16的子网,所以被忽略了.
 
  如果想在路由表里标记路由就只有宣告主类网络才行
R1(config)#no ip route 171.70.24.0 255.255.255.0 131.108.99.2
R1(config)#no ip default-network 171.70.24.0
R1(config)#ip route 171.70.0.0 255.255.0.0 131.108.99.2
R1(config)#ip default-network 171.70.0.0
 
  如果同时使用ip default-network和ip route 0.0.0.0 0.0.0.0设定默认路由时,且ip default-network指定的网络是已经由静态路由配置(路由表内已有条目),那么ip defaut-network优先(成为缺省路由);但如果ip default-network指定的网络是由交换路由信息得来的,则ip route 0.0.0.0 0.0.0.0指定的表项成为缺省路由。

  

实验1
完成基本的IP配置,
R2上
ip route 192.168.1.0 255.255.255.0 172.16.12.1
ip default-network 192.168.1.0   
路由表:
Gateway of last resort is 172.16.12.1 to network 192.168.1.0
S*   192.168.1.0/24 [1/0] via 172.16.12.1// 路由表中有了标记为S*条目
 
ip default-network将192.168.1.0标记为缺省路由,而去往该网络的下一跳172.16.12.1即成为R2的缺省网关.
如此一来,R2ping 1.1.1.1就能通了
(R1当前路由表中有一条指向192.168.1.0/24的默认路由,会将所有未知网络发往192.168.1.0,最终(192.168.1.0发往172.16.12.1)R1能够和1.1.1.1/24通信。)
 
实验2
完成基本的IP配置,然后在R2上
ip route 172.16.3.0 255.255.255.0 172.16.23.2
ip default-network 172.16.3.0
查看R2的路由表:
S  172.16.0.0/16 [1/0] via 172.16.3.0// 出来一条汇总路由,而不是缺省路由
S  172.16.3.0/24 [1/0] via 172.16.23.2
R2  show run后发现:
ip default-network 172.16.3.0 变成了:ip route 172.16.0.0 255.255.0.0 172.16.3.0
这是因为ip default-network 是有类的,因此如果使用该命令标记一个子网,实际上路由器会安装主类路由进路由表,因此不会产生任何缺省路由。
 
再在R2上配置 ip default-network 172.16.0.0 //将172.16.0.0指定为缺省路由
 
这样一来路由表:
Gateway of last resort is 172.16.3.0 to network 172.16.0.0
*   172.16.0.0/16 is variably subnetted, 4 subnets, 2 masks
S*  172.16.0.0/16 [1/0] via 172.16.3.0
S   172.16.3.0/24 [1/0] via 172.16.23.3
如此一来,R2ping 3.3.3.3就能通了
(所有未知网络 --- 172.16.0.0 --- 172.16.3.0 --- 172.16.23.3)

关于缺省路由传递问题的探讨(上)[ip default-network、ip default-gateway等]的更多相关文章

  1. 关于缺省路由传递问题的探讨(下)[ip default-network、ip default-gateway等]

    之前文章介绍的是没有路由协议的环境下,那么在有路由协议的环境下: ip default-network IGRP/EIGRP: IP Default-Network所指定的网络必须在EIGRP进程中通 ...

  2. AIX上通过IPSEC进行IP包过滤

    AIX上的IPSEC 在AIX可以通过以下步骤打开IP Security smitty ipsec4 --> Start/Stop IP Security --> Start IP Sec ...

  3. linux下的shell命令的编写,以及java怎样调用linux的shell命令(java怎样获取linux上的网卡的ip信息)

    程序猿都非常懒,你懂的! 近期在开发中,须要用到server的ip和mac信息.可是server是架设在linux系统上的,对于多网口,在获取ip时就产生了非常大的问题.以下是在windows系统上, ...

  4. TCP/IP协议族——IP工作原理及实例具体解释(上)

     IP协议具体解释 本文主要介绍了IP服务特点,头部结构,IP分片知识,并用tcpdump抓取数据包.来观察IP数据报传送过程中IP的格式,以及分片的过程. IP头部信息:IP头部信息出如今每一个 ...

  5. 获取zabbix上所有主机的IP和主机名

    #coding:utf-8 #获取zabbix上所有主机的IP和主机名 import requests import json import csv import time def get_token ...

  6. 基于ip的虚拟主机配置——在一台服务器上绑定多个 IP 地址

    进入/etc/sysconfig/network-scripts,修改ifcfg-ens33文件 输入 ip addr 查看ip 引用:https://blog.csdn.net/u013887008 ...

  7. IP多媒体子系统(IP Multimedia Subsystem,IMS)

      目录 1 什么是IP多媒体子系统[1] 2 IMS产生的背景[2] 3 IMS的特点分析[3] 4 IMS中的功能实体[3] 5 IMS中的接口和协议[3] 6 参考文献 [编辑] 什么是IP多媒 ...

  8. 【Java EE 学习 20】【使用过滤器实现登陆验证、权限认证】【观察者模式和监听器(使用监听器实现统计在线IP、登录IP 、踢人功能)】

    一.使用过滤器实现登录验证.权限认证 1.创建5张表 /*使用过滤器实现权限过滤功能*/ /**创建数据库*/ DROP DATABASE day20; CREATE DATABASE day20; ...

  9. TCP/IP 协议:IP 协议

    首先来看一下IP协议在实际中的位置: 我们只关系流程,不关系当前具体的服务类型 1.IP协议概述 作用: 从上图或从应用层->运输层->网络层->链路层来看,IP协议属于网络层,也就 ...

随机推荐

  1. Bitset位图

    位图(bitmap)就是用每一位来存放某种状态,适合于大规模数据但是数据状态又不是很多的情况下,通常来判断数据是否存在.位图的常见应用有两种: 1.存放大规模数据,例如腾讯的面试题,给40亿个unsi ...

  2. [xUnix 开发环境--01] MAMP mac os 10.10 配置经历、要点——01. phpmyadmin连不上

    Mac OS 10.10已经自带了apache2和php(php的路径我至今还没不知道,太懒没去找) 用brew安装mysql, 在官网上下载了phpmyadmin,按官方方式配置完后,登录不上,也不 ...

  3. dos保存adb logcat读取的Android信息

    /***************************************************************************** * dos保存adb logcat读取的A ...

  4. MySQL的性能调优工具:比mysqlreport更方便的tuning-primer.sh

    年初的时候收藏过一篇关于mysqlreport的报表解读,和内置的show status,和show variables相比mysqlreport输出一个可读性更好的报表:但Sundry MySQL提 ...

  5. 《Unix网络编程》卷2 读书笔记 第1章-简介

    1. 概述 2. 进程.线程与信息共享 Unix进程间的信息共享有多种方式:注意下图中内核的位置   左边的两个进程共享存留于文件系统中某个文件上的某些信息.为访问这些信息,每个进程都得穿越内核. 中 ...

  6. JS一般般的网页重构可以使用Node.js做些什么(转)

    一.非计算机背景前端如何快速了解Node.js? 做前端的应该都听过Node.js,偏开发背景的童鞋应该都玩过. 对于一些没有计算机背景的,工作内容以静态页面呈现为主的前端,可能并未把玩过Node.j ...

  7. 【转】 iOS开发之打包上传到App Store——(一)各种证书的理解

    OK,有日子没写iOS开发的相关文章啦,主要是最近的精力都没在这上面,不过既然产品已经快要出来了,就有必要了解一下各种证书啥的(众所周知iOS的一堆证书可是很让人头大呀),最近确实被这个搞得头大,然后 ...

  8. 使用JQuery Mobile实现手机新闻浏览器

    jQuery Mobile项目是jQuery项目下的在移动开发方面的又一力作,在本文中,笔者将带你一步步更深入学习使用jQuery Mobile框架去实现一个能在android手机上运行的新闻浏览器, ...

  9. .net core学习

    http://www.cnblogs.com/artech/ http://www.blogs8.cn/posts/AA0E630 http://pan.baidu.com/s/1bo4fJ47 ht ...

  10. [Everyday Mathematics]20150221

    设 $y_n=x_n^2$ 如下归纳定义: $$\bex x_1=\sqrt{5},\quad x_{n+1}=x_n^2-2\ (n=1,2,\cdots). \eex$$ 试求 $\dps{\vl ...