一、单臂路由
通常路由功能需要路由器上的多个接口共同来实现,而单臂路由通过1个路由器接口即可实现路由功能;
1、同一vlan下的 单臂路由
secondary ip实现在一个物理网络上两个具有不同IP网段计算机的联通;
拓扑如下:
这时PC A与PC B是不通的,即使他们在同一个vlan里。因为它们在不同的网段,即netid不同,而不同网络的主机间访问必须通过路由实现;
为路由器接口f0/0设置两个ip地址:
roa(config) # int f0/0
roa(config-if) # ip address 10.65.1.2 255.255.0.0
roa(config-if) # ip address 10.66.1.2 255.255.0.0 secondary
roa(config-if) # no shut
测试联通性:
[root#PCA root]# ping 10.66.1.1 (不通)
[root#PCA root]# ping 10.66.1.2 (通)
[root#PCB root]# ping 10.65.1.1 (不通)
[root#PCB root]# ping 10.65.1.2 (通)
为什么PC A 和 PC B还是不通呢?该如何做呢?
[root#PCA root]# route add default gw 10.65.1.2.
[root#PCB root]# route add default gw 10.66.1.2
去掉交换机与路由器的连接线,PC A 和 PC B 不能ping通,由此可以看出,PC A 与 PC B 之间的数据包是经过路由器的,从路由器f0/0入,再从f0/0出,所以称之为单臂路由。
这种情况PC A 和 PC B 在链路层是同一个广播域,对网络带宽不利。如果划分vlan可以隔离广播域。通过子接口可以实现对不同vlan的路由。
2、不同vlan下的单臂路由
将交换机设置为工作在两个vlan,一个是原有的默认vlan 1,另一个是新设置的vlan 2,含f0/6,f0/7。
将交换机设置成两个vlan时,逻辑上已经成为两个网络,广播被隔离了。两个vlan的网络要通信,必须通过路由器。如果接入路由器的一个物理端口,则必须有两个子接口分别与两个vlan对应,同时还要求与路由器相连的交换机的端口f0/1要设置为trunk,因为这个口要通过两个vlan的数据包。
在”同一vlan下的单臂路由“一节,我们使用了secondary ip,对于secondary ip的情况,实质上是一个接口,所以不能实现对两个vlan的路由。
1)设置交换机的vlan 2 和 trunk
switch # vlan database
switch(vlan) # vlan 2
switch(vlan) # exit
switch(config) # int f0/6
switch(config-if) # switchport access vlan 2
switch(config) # int f0/1
switch(config) # switchport mode trunk
switch(config-if) # switchport turnk allowed vlan 1, 2
switch(config-if) # switchport trunk encap dot1q
2)设置路由器f0/0为两个子接口
roa(config) # int f0/0
roa(config-if) # no shut
roa(config-if) # int f0/0.1
roa(config-subif.1) # encapsulation dot1q 1
roa(config-subif.1) # ip address 10.65.1.2 255.255.0.0
roa(config-if) # int f0/0.2
roa(config-subif.2) # ip address 10.66.1.2 255.255.0.0
roa(config-subif.2) # exit
二、静态路由
1、两台路由器时的静态路由
1)设置计算机和路由器的IP地址
设置PC A、PC B、PC C的IP地址分别为:10.65.1.1、10.71.1.1和10.70.1.1,并分别添加网关10.65.1.2、10.71.1.2和10.70.1.2。
设置Router A的IP地址(子网掩码255.255.0.0):
f0/0: 10.65.1.2 ---> 10.65.1.1 (与PC A相连)
f0/1: 10.66.1.2
s0/0: 10.67.1.2
s0/1: 10.68.1.2 ---> (Router A 的 s0/1 接 Router B 的s0/0)
设置Router B的IP地址:
s0/0: 10.68.1.1
s0/1: 10.69.1.2
f0/0: 10.70.1.2
f0/1: 10.71.1.2
2)设置路由器的静态路由
首先,show ip route,这时只能看到直连路由,Router A添加静态路由:
ROA(config) # ip route 10.71.0.0 255.255.0.0 10.68.1.1
ROA(config) # ip route 10.70.0.0 255.255.0.0 10.68.1.1
3)设置路由器的默认路由
先去掉上面设置的两条静态路由,此时A 与 B 和 C 就不通了。
设置Router A的默认路由:
ROA(config) # ip route 0.0.0.0 0.0.0.0 10.68.1.1
这时,A 与 B 和 C就又能够连通了。
使用指定的静态路由时,要查看指定的目的网络,使用默认路由时,不判断目的网络。将匹配不了的数据包都发送给默认的下一跳。路由器设置中一般有一条默认路由。
2、三台路由器时的静态路由
设置Router A 的 IP:
f0/0: 10.65.1.2 ---> PC A: 10.65.1.1
f0/1: 10.66.1.2 ---> PC B: 10.66.1.1
s0/0: 10.67.1.2
s0/1: 10.68.1.2 ---> 接 Router C s0/0
设置Router C的IP:
s0/0: 10.68.1.1
s0/1: 10.78.1.2 ---> 接Router B s0/0
设置Router B的IP:
s0/0: 10.78.1.1
s0/1: 10.67.1.1
f0/0: 10.69.1.2 ---> PC C: 10.69.1.1
f0/1: 10.70.1.2 ---> PC D: 10.70.1.1
设置从PC A 到 PC C的静态路由
ROA(config) # ip route 10.69.0.0 255.255.0.0 10.68.1.1 (下一跳)
ROC(config) # ip route 10.69.0.0 255.255.0.0 10.78.1.1
如何让PC A 到 PC D通呢? 像10.69.0.0网络一样,在路径的路由器上,再各写一条到10.70.0.0的网络的静态路由,或者使用默认路由较好。
加默认路由:
ROA(config) # ip route 0.0.0.0 0.0.0.0 10.68.1.1
ROC(config) # ip route 0.0.0.0 0.0.0.0 10.69.1.1
路由表是了路由器寻找网络的依据,能否达到一个网络,要看路由表中有没有去这个网络的路由表项;
默认路由的功能是没有目标网络的路由信息时使用该路由。