首先明确两个东西:

  • 路由器的功能:路由器用于连接不同网段的设备,即路由器的每个接口的IP是不同网段的,如fast 0/1端口的ip为25.1.1.1,fast 0/2端口的ip为35.1.1.1(A类地址,网络号为二进制前8位,前8位不同则网段不同)
  • 交换机的作用:交换机用于连接同一网段的网络设备,交换机的端口不需要配置ip,但是同一交换机连接的设备的ip需在同一网段如fast 0/1连接的设备ip为192.168.1.1,fast 0/2连接的设备ip为192.168.1.2(C类地址,网络号为前24位,前24位相同则网段相同)
    QjUhFS.jpg
    QjUhFS.jpg

如何划分vlan:

  • VLAN是在什么设备上划分的?
    交换机
  • 划分VLAN的目的是什么?
    最直接的目的是方便管理,如同一公司的不同职能部门可以划分不同的VLAN以给予不同的网络权限。

第一步:进入配置模式

进入交换机的命令行,输入
enable
命令进入特权模式(特权模式的标志符号位“#”。)
再输入
configure terminal
示例:

Switch>enable
Switch#config terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#

第二步:进入全局配置模式(标志为"(config)#")

在全局配置模式下输入
vlan 10生成一个vlan号为10的VLAN
name vlanname将这个VLAN命名为vlanname
exit退出当前配置
示例:

Switch(config)#vlan 10
Switch(config-vlan)#name student
Switch(config-vlan)#exit
Switch(config)#
如何将一个端口划入vlan:

在全局配置模式下输入
interface fastethernet 0/1进入fastethernet 0/1端口进行配置
输入switchport mode access
再输入switchport access vlan 10
可以将fastethernet 0/1端口划入vlan 10
示例:

Switch(config)#interface FastEthernet0/1
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 10
如何将一个范围的端口划入同一个vlan:

在全局配置模式下输入
interface range fastethernet 0/2-10
输入switchport mode access
再输入switchport access vlan 10
可以将fastethernet 0/2端口到fastethernet 0/10端口划入vlan 10

示例:

Switch(config)#interface range FastEthernet0/2-10
Switch(config-if-range)#switchport mode access
Switch(config-if-range)#switchport access vlan 10

同理可以将其它的端口划分进不同的vlan
此时不同vlan间是不可以相互 不联通

如何实现不同vlan之间的联通呢?

此时回到了标题:利用单臂路由实现vlan间的路由。
什么是单臂路由?

  单臂路由(router-on-a-stick)是指在路由器的一个接口上通过配置子接口(或“逻辑接口”,并不存在真正物理接口)的方式,实现原来相互隔离的不同VLAN(虚拟局域网)之间的互联互通。

首先添加一个路由器,得到如图所示效果:

QjaZfe.jpg
QjaZfe.jpg

这里我们使用直连线连接交换机的fastethernet 0/3端口和路由器的fastethernet 0/0端口。图上的红点是因为路由器的端口没有打开,路由器和交换机之间没有联通。
进入路由器的命令行
输入和交换机相同的命令进入全局配置模式
再输入interface fastethernet 0/0进入与交换机相连的端口
输入no shutdown打开端口,此时刚刚的红点会在几秒后变绿和交换机之间联通
输入no ip address指定这个端口不设置ip
示例:

Router(config)#interface fastEthernet 0/0
Router(config-if)#no shutdown

Router(config-if)#
%LINK-5-CHANGED: Interface FastEthernet0/0, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
Router(config-if)#no ip address
Router(config-if)#

在全局配置模式下输入
interface fastEthernet 0/0.10
进入接口fastEthernet 0/0的子接口(子接口是虚拟端口,没有真实的物理端口)
输入encapulation dot1q 10将vlan10封装进0.10子接口
同理将其他vlan封装进其他的子接口
最后达到每个vlan对应一个子接口

此时我们用不同vlan间的主机互ping,发现ping不通
检查一遍发现我们没有给与路由器相连的交换机的端口进行设置。
进入与路由器相连的交换机的接口
输入switchport mode trunk将此接口设置为trunk口
trunk口的功能就是允许不同的VLAN通过同一根链路实现VLAN内的通信。可以理解为这是主干道,所有vlan的的数据都可以从这里通过。
至此,实现