常用命令:

clear ip router * --清楚全部路由

show ip route --显示路由表

show ip inter b--显示接口信息

show ip protocols  --显示协议配置信息(就是查询邻居关系)

conf#:router-id 1.1.1.1  --设置路由ID

 

静态路由

 

如下面的图,pc(0、2)和pc(3、1)分别在不同的网段。现在想要左右边都连接通网。

我们肯定是这样做:1,在pc(0、2)设置一个网关。pc(3、1)设置一个网关。2,分别在路由器两个端口设置IP地址为这两个网段的网关

 

两个Vlan接不同路由 两个vlan怎么ping通_路由表

 

 

结果:此时左边与右边都能ping通了 

 

但是我们在现实生活来想想:假设把这两个网段看成两个公司,这两个公司离得500米。我们都知道路由器最长拉线最好不超过100米,否则会降低带宽(对公司造成损失)
这是我们便是这样想的:既然一个不行,公司有钱,就多加几个R

两个Vlan接不同路由 两个vlan怎么ping通_R3_02

 

 

 在公司A和B连接的路由器端口:分别设置为两个公司的网关。那其他路由器呢?
路由器我们都知道是用在不同网络中的设备,主要做个中介路由并转发。所以上面三个路由器肯定也不会在一个网络里面。

 

刚开始学习的时候,博主是这样想的:分别在各个路由分配网络,只要该R的接口处于该网络不就行了吗?

于是就有了下面这个:

两个Vlan接不同路由 两个vlan怎么ping通_静态路由_03

 

 

当我去查路由表时才知道:必须每个路由器都要有其它路由器的路由信息;
结果我这儿没有

两个Vlan接不同路由 两个vlan怎么ping通_路由表_04

 

 

 解释:c是直连网络,显示该接口号和当前连接的网络号以及掩码; L表示串行线连接(也可以说是本地路由),显示当前接口的ip地址(32是指他是一个ipv4地址)

所以这个时候:我们只是把相邻的连接起来了,对于下下一跳路由器它压根都不知道该怎么去联系上上一跳的路由器。
我举个简单的例子:我A有个很要好的朋友B,我那个很要好的朋友B又有一个对他来说很要好的朋友C。此时A只知道B,但是却不知道C,C呢也不知道有个A。所以这是B就成了中间人。要想AC认识,就要B搭个桥。

我们只是让各个路由器相邻的认识了,想要都互相认识。就是:路由

 

路由分为:静态路由和动态路由静态:手动添加到路由表,安全性高,稳定。但是不好扩展也不好修复。动态:为路由器配置规定的协议。自动添加到路由表。好扩展好修复,但是不安全。

 

静态路由:

命令:ip router 

有三种配置:

递归,利用下一跳地址写入路由表:ip route 1.0.0.0 255.0.0.0   2.2.2.10
1.0.0.0:表示目的网络,后面的掩码 ;2.2.2.10:表示下一跳地址。

直连,利用送出接口写入路由表:ip  route 2.0.0.0 255.0.0.0  g0/0
2.0.0.0:表示目的网络。g0/0:表示当前路由送出接口

完全指定,上面两个都用:ip route 1.0.0.0  255.0.0.0  g0/0  2.2.2.11

默认路由,一般用在末端路由器上面:ip route 0.0.0.0 0.0.0.0 192.168.10.1.10
默认路由就是,当一个数据包找不到目的地址时,R将用已经配置好的默认路由作为发送目的地址

两个Vlan接不同路由 两个vlan怎么ping通_静态路由_05

 

 

 

现在我们要四个都互相连通。所以我们只需要打通:1-3(3-1)、1-4(4-1)、2-4(4-2)6条静态路由

R1:
R1(config)#ip route 2.0.0.0 255.0.0.0 1.1.1.11
R1(config)#ip route 3.0.0.0 255.0.0.0 1.1.1.11

R2:
R2(config)#ip route 3.0.0.0 255.0.0.0 2.2.2.11

R3:递归
R3(config)#ip route 1.0.0.0 255.0.0.0 2.2.2.10

R4:递归
R4(config)#ip route 1.0.0.0 255.0.0.0 3.3.3.10
R4(config)#ip route 2.0.0.0 255.0.0.0 3.3.3.10

结果:现在四个路由器都能互相ping通了

测试一下R4到R1和R2:都通了

两个Vlan接不同路由 两个vlan怎么ping通_路由表_06

 

 

 

现在我们照葫芦画瓢,再为AB两个公司搭网络:2-A(2-B)、3-A(3-B)、4-A、1-B

两个Vlan接不同路由 两个vlan怎么ping通_R3_07

 

 R1:

R1(config)#ip route 192.168.2.0 255.255.255.0 1.1.1.11

 

R2:

R2(config)#ip route 192.168.1.0 255.255.255.0 1.1.1.10
R2(config)#ip route 192.168.2.0 255.255.255.0 2.2.2.11

 

R3:

R3(config)#ip route 192.168.1.0 255.255.255.0 2.2.2.10
R3(config)#ip route 192.168.2.0 255.255.255.0 3.3.3.11

 

R4:

R4(config)#ip route 192.168.1.0 255.255.255.0 3.3.3.10

 

 

结果:恭喜你,终于利用静态路由为两个公司成功搭建网络

两个Vlan接不同路由 两个vlan怎么ping通_R3_08

 

 看完这之后是不是感觉好麻烦:两个公司搭个网络弄这麽久。所以下面引出动态路由

 

 

动态路由

主要用在路由器之间的。

动态路由协议有很多种,我早这里就说说思科常用的协议:RIP、OSPF(推荐)

RIP

跟根据跳数来计算最佳路径的。
路由器用到生活中的很多很杂的,最佳的路径会提高带宽,减少不必要的流量损失。

命令:

router rip 
启用rip协议

version 2
启用rip版本2

network 192.168.10.0
通告网络:告诉其他路由器,建立连接关系

passive-interface fa0/0
禁止网络更新(被动接口):注意这里是禁止向pc机通告,因为pc机不需要通告。但是初始network必须要
为什么要禁止:因为RIP每30秒更新一次网络,在更新的时候,是无法上网的,而且向主机更新也是无意义;浪费带宽。

no auto-summary 
禁止网络汇总:因为RIP是有类协议,所以不支持划分子网,有时候会将网络默认汇总成一个,所以要禁止。

 

 

网络图

两个Vlan接不同路由 两个vlan怎么ping通_R3_09

 

 R1:

两个Vlan接不同路由 两个vlan怎么ping通_路由表_10

 

R2:

两个Vlan接不同路由 两个vlan怎么ping通_路由表_11

R3:

两个Vlan接不同路由 两个vlan怎么ping通_R3_12

 

 

结果:成功

两个Vlan接不同路由 两个vlan怎么ping通_两个Vlan接不同路由_13

两个Vlan接不同路由 两个vlan怎么ping通_R3_14

 

 OSPF

根据带宽来计算最佳路径的。

命令:
router ospf 1   --启用ospf,1代表本地进程号

network 192.168.10.10   0.0.0.255  area 0  --通告网络:area 0代表区域号

其他命令:

show ip  ospf neighbor   --查询邻居关系

 

 

两个Vlan接不同路由 两个vlan怎么ping通_静态路由_15

 

 上面我们配置了ospf,为三个pc机都连接成功

我们已经了解了ospf的路径选择,所以左边与右边连接会按这个线路来。

 OSPF的默认路由命令:default-information originate

该命令可以将自己配置的默认路由通告给其它路由器

 

如下图:我们加了一个外来主机,想要”外来主机“不加ospf就与里面的全部连接,有两种方法:

1,路由器D做左边的网络汇总的静态路由
2,路由器D做默认路由

两个Vlan接不同路由 两个vlan怎么ping通_R3_16

 

 B:

两个Vlan接不同路由 两个vlan怎么ping通_两个Vlan接不同路由_17

 

 D:

两个Vlan接不同路由 两个vlan怎么ping通_静态路由_18

 

 这下”外来主机“就能访问里面的所有主机了。

 

链路成本

因为ospf是根据带宽来计算最佳路径的。带宽越高越优先选择。但是有些时候为了成本呢还有更佳的路径。

方法:

1,更改速率:相当于网速,更改速率最大值,使得不得超过。
2,更改链路成本:

 

在这之前,我们线了解一下OSPF的“花费”

1B(byte字节)=8bit
1KB(千字节)=1024B
1MB(兆字节)=1024KB
1G(千兆字节)=1024M
1TB(万亿字节)=1024G
1PB=(千万亿字节)=1024TB

 

 

命令:

(接口模式):ip  ospf  cost  100   --修改接口开销(开销越小,网速越快)

(接口模式):bandwidth  1024  --修改此接口速率1M(速率越高,网速越快)

show interface g0/1  --查询g0/1接口信息

了解上面这个,我们看看下面这个图。这是一个se0/0/0的接口信息。

 

 

两个Vlan接不同路由 两个vlan怎么ping通_静态路由_19

 

 

从图上我们可以看到,A的se0/0接口的带宽是1158,大概就是1.1M左右。

接下来我们再看下路由器A接交叉线的那个接口的信息。

 

两个Vlan接不同路由 两个vlan怎么ping通_R3_20

 

 可以看出这是一个100M的RJ-45接口。默认下,它的网速大概就在1.5M左右。

综合一下,根据成本公式:Cost=10^8/带宽 (带宽B) ;所以当我要从pc1发数据包到右边的pc2时,路由器的路劲肯定选择走A-C

se0/0/0: Cost=10^8/(1.1x1024x104)

所以:g0/1的开销要比SE0/0/0的开销小

 

 

单臂路由

命令:(接口模式)

enc dot1q  20  ---将子接口加入vlan20
swi mode trun  --将接口改为trunk模式(交换机)

两个Vlan接不同路由 两个vlan怎么ping通_两个Vlan接不同路由_21

 

 S:

交换机:

 vlan 10
name v10
inter vlan 10
no shu

vlan 20
name v20
inter vlan 20
no shu

vlan 30
name v30
inter vlan 30
no shu

vlan 99
name v99
inter vlan 99
no shu

inter fa0/1
swi acc vlan 10
inter fa0/2
swi acc vlan 20
inter fa0/3
swi acc vlan 30
inter fa0/4
swi mode trunk

R:

路由器:

inter g0/0
no shu

inter g0/0.10
enc dot1q 10
ip add 192.168.10.1 255.255.255.0
inter g0/0.20
enc dot1q 20
ip add 192.168.20.1 255.255.255.0
inter g0/0.30
enc dot1q 30
ip add 192.168.30.1 255.255.255.0

inter g0/0.99
enc dot1q 99 native

 

Java各种个人笔记