思科命令行配置模式
- 用户模式
- Switch>
- 设备默认的模式: 用户简单测试和交换机版本查询
- 帮助命令: '?'
- 特权模式(enable默认最高级)
- Switch#
- 通过"enable"进入,分为0~15级,默认进入后为最高级15级
管理配置关键,进行网络调试和测试
- 全局配置模式(
config terminal
,需先进入enable
模式)
- Switch(config)#
- 需先进入enable模式,通过"config terminal"命令进入,对设备的整体功能进行配置
- 接口模式(
interface
,需先进入config terminal
模式)
- Switch(config-if)#
- 具体接口的进入,对设备接口的 功能进行配置
VLAN
模式
- "config terminal"模式下配置即可
- 通过vlan编号进入,对设备的vlan进行配置
- Switch(config)#vlan 10 # 创建vlan10
- Switch(config-vlan)# # 已经进入vlan10的配置模式
配置关闭交换机端口,使其不再生效
- 当交换机的接口被关闭以后,即使和PC之间接线,也是没有效果的
- 配置命令如下
Switch>enable # enable
Switch#conf t # 进入配置模式
Switch#conf terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#interface f0/1 # 进入接口
Switch(config-if)#shutdown # 关闭接口(此时交换机与PC之间就断开连接)
Switch(config-if)#
%LINK-5-CHANGED: Interface FastEthernet0/1, changed state to administratively down
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to down
Switch(config-if)#no shutdown # 重新开启连接
命令学习
- 查看设备当前的配置:
enable
模式下
- show run
- 保存当前配置命令
- write
- 另存为命令
- copy
- copy startup-config flash # 把文件保存到flash上面
- 两个命令学习
- hostname 主机名称
- description 端口描述
### 更改交换机名称(和别的交换机区分开来)
>Switch(config)#hostname ?
WORD This system's network name
>Switch(config)#hostname sw-demo1
>sw-demo1(config)#
### 给接口(interface)添加描述信息(相当于'注释')
>sw-demo1(config)#interface f0/1 # 进入接口1
>sw-demo1(config-if)#description this is demo1 for sw-demo1 # 添加注释
>exit
sw-demo1# show run # 查看配置信息
"""
Building configuration...
Current configuration : 1122 bytes
!
version 15.0
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname sw-demo1
!
!
!
!
!
!
spanning-tree mode pvst
spanning-tree extend system-id
!
interface FastEthernet0/1
description this is demo1 for sw-demo1 # 刚才注释的信息
!
"""
- 远程命令的方式
- 带内管理: telnet模式登录管理
- 带外管理: console配置线进入配置管理
- 密码配置的几种情况
- 全局配置模式下进行
- 特权模式的密码配置(明文/密文,特权等级密码)
- Line模式下进行
- Console口的密码登录配置(纯密码 || 用户名和密码)
- telnet登录密码配置(纯密码 || 用户名和密码 || 注意设置IP)
- 注意事项: 每一个设备的IP地址用默认的VLAN1来代替
- 命令学习: 配置交换机用户名和密码
- enable password/secret # 明文密码 || 加密密码
- 配置明文密码
- Switch(config)#enable password 123456 # 进入全局配置模式
- exit... # 回退到初始状态,再次enable,就提示输入密码了...
- 注意事项: 打错命令,无法控制时,使用
Ctrl+shift+6
来停止 - 查看刚才配置的
明文密码
- Switch(config)#do show run
'''
Building configuration...
Current configuration : 1105 bytes
!
version 15.0
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname Switch
!
enable password 123456 # 可以看到刚才配置的"明文密码"
!
!
!
!
!
!
spanning-tree mode pvst
spanning-tree extend system-id
!
interface FastEthernet0/1
--More--
'''
- 配置
密文密码
- Switch(config)#enable secret 456789 # 设置密文密码(原明文密码会被替换掉)
- Switch(config)#do show run
'''
Building configuration...
Current configuration : 1152 bytes
!
version 15.0
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname Switch
!
enable secret 5 $1$mERr$QSCPLWA3/uEZNi6i7WTQ4/ # 密文密码
enable password 123456
!
!
!
!
!
!
spanning-tree mode pvst
spanning-tree extend system-id
!
'''
Console
配置
- 电脑的"串口"连接到"交换机"的"console口"
- Switch(config)# # 进入全局配置模式
- Switch(config)#line console 0 # 进入console口
- Switch(config-line)#
Switch(config-line)#password 123456 # 先设置密码
Switch(config-line)#login # 要求插入console线的时候就输入密码
- exit... # 重新进入就要求先输密码
交换机默认IP地址,就是Vlan1
的地址
Vlan1
默认管理所有的接口
Switch>enable
Switch#show vlan
'''
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/1, Fa0/2, Fa0/3, Fa0/4 # 管理所有的接口
Fa0/5, Fa0/6, Fa0/7, Fa0/8
Fa0/9, Fa0/10, Fa0/11, Fa0/12
Fa0/13, Fa0/14, Fa0/15, Fa0/16
Fa0/17, Fa0/18, Fa0/19, Fa0/20
Fa0/21, Fa0/22, Fa0/23, Fa0/24
Gig0/1, Gig0/2
1002 fddi-default active
1003 token-ring-default active
1004 fddinet-default active
1005 trnet-default active
'''
- 进入
Vlan1
并配置IP地址
,配置完成后,此时的IP地址
就是交换机的IP地址
Switch#configure terminal
Switch(config)#interface vlan 1
Switch(config-if)#ip address 192.168.1.254 255.255.255.0
Switch(config-if)#
- 配置PC的IP地址为: 192.168.1.10 /24,此时ping 1.254不通,原因是 交换机的 vlan1 默认被关闭了,打开即可
Switch(config)#interface vlan 1
Switch(config-if)#no shutdown
'''
%LINK-5-CHANGED: Interface Vlan1, changed state to up
'''
- 配置远程密码
Switch(config)#line vty 0 10 # 最多同时允许11个人操作交换机
Switch(config-line)#password 123456 # 设置密码
Switch(config-line)#login
Switch(config-line)#exit
PC
端远程登录
C:\>telnet 192.168.1.254
Trying 192.168.1.254 ...Open
User Access Verification
Password: # 输入123456
Switch>
- 配置交换机用户名和密码
Switch(config)#line 0 # 先进入Line模式
Switch(config-line)#login local # 启用本地账户
Switch(config-line)#exit
Switch(config)#username admin password 456789 # 设置用户名和密码
Switch(config)#exit
Vlan专题
- 命令学习
- vlan number # 创建 vlan
- 查询vlan
- show vlan # 特权模式
- do show vlan # 全局配置模式
- show run
- 默认情况下
vlan1
的IP地址就是交换机的IP地址
Switch>enable
Switch#show run
'''
Building configuration...
Current configuration : 1080 bytes
!
......
interface Vlan1 # 默认的vlan1并没有设置IP地址
no ip address
shutdown
......
- 全局配置模式下,创建vlan
Switch(config)#vlan 10
Switch(config-vlan)#vlan 20
- 先把硬件接口加入
vlan
Switch(config)#interface range f0/1-10 # 把接口1~10批量加入vlan10
Switch(config-if-range)#swit
Switch(config-if-range)#switchport acc
Switch(config-if-range)#switchport access vlan 10
Switch(config-if-range)#exit
Switch(config)#do show vlan # 查看现在的vlan配置(接口被分成了三组[vlan1,vlan10,vlan20]
'''
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/21, Fa0/22, Fa0/23, Fa0/24
Gig0/1, Gig0/2
10 VLAN0010 active Fa0/1, Fa0/2, Fa0/3, Fa0/4
Fa0/5, Fa0/6, Fa0/7, Fa0/8
Fa0/9, Fa0/10
20 VLAN0020 active Fa0/11, Fa0/12, Fa0/13, Fa0/14
Fa0/15, Fa0/16, Fa0/17, Fa0/18
Fa0/19, Fa0/20
1002 fddi-default active
1003 token-ring-default active
1004 fddinet-default active
1005 trnet-default active
VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2
---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
1 enet 100001 1500 - - - - - 0 0
10 enet 100010 1500 - - - - - 0 0
20 enet 100020 1500 - - - - - 0 0
1002 fddi 101002 1500 - - - - - 0 0
'''
- 进入
vlan10
并配置IP地址
Switch(config)#interface vlan 10 # 进入vlan10
Switch(config-if)#
%LINK-5-CHANGED: Interface Vlan10, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan10, changed state to up
Switch(config-if)#ip address 192.168.1.254 255.255.255.0 # 设置IP地址和网关
- 两台终端(比如PC机)接到同一台
二层交换机
上面,默认是可以通讯的
- 因为均处于默认的'vlan1'下面
- 此时,如果再接一台
二层交换机
,该交换机再接一台终端;终端之间也是可以通讯的
- 因为都属于默认的vlan1
- 创建两个vlan,并测试连接
- 原因分析
- 首先,不同vlan之间不能通讯,这是对的,因为没有作trunk
- 终端1.1 和 终端 1.30 分别属于两台交换机的 vlan 10下,却无法通讯,原因如下
- 当1.1的信号发送到 第二台交换机的时候,vlan10的标签被剥离了,变成默认的vlan1
- 既然是vlan1,当然无法和vla10的终端进行通讯了
Trunk
(端口汇聚),是一种封装技术
- 实现跨交换机,多个vlan在同一局域网下互通
- 实验
- 想要实现跨交换机,同vlan下终端实现通讯,把交换机之间互联的接口模式修改为'Trunk'即可(默认是'Access'接口模式)
sw1(config)#interface f0/24
sw1(config-if)#switchport mode trunk
......
sw2(config)#interface f0/24
sw2(config-if)#switchport mode trunk
- 再次测试 vlan10 和 vlan20 下,终端之间可以互相通讯了
不同vlan
互通实验
- 参考网址
原文链接:https://blog.csdn.net/mogexiuluo/article/details/118556539
三层交换机配置
- 创建4个vlan并设置网关和掩码: 10/20/30/40
- 批量进入连接'二层交换机'的配置口,设置为'Trunk'并允许所有的vlan通过
- 开启路由功能
Switch>enable
Switch#configure terminal
Switch(config)#vlan 10
Switch(config-vlan)#vlan 20
Switch(config-vlan)#vlan 30
Switch(config-vlan)#vlan 40
Switch(config-vlan)#exit
Switch(config)#int vlan 10
Switch(config-if)#ip add 192.168.10.254 255.255.255.0
Switch(config-if)#no shutdown
Switch(config-if)#int vlan 20
Switch(config-if)#ip add 192.168.20.254 255.255.255.0
Switch(config-if)#no shutdown
Switch(config-if)#int vlan 30
Switch(config-if)#ip add 192.168.30.254 255.255.255.0
Switch(config-if)#no shutdown
Switch(config-if)#int vlan 40
Switch(config-if)#ip add 192.168.40.254 255.255.255.0
Switch(config-if)#no shutdown
Switch(config)#int range g1/0/1-2
Switch(config-if-range)#switchport trunk encapsulation dot1q //trunk协议封装为dot1q
Switch(config-if-range)#switchport mode trunk
Switch(config-if-range)#switchport trunk allowed vlan all
Switch(config)# ip routing //开启路由功能
Switch(config)#do show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is not set
C 192.168.10.0/24 is directly connected, Vlan10
C 192.168.20.0/24 is directly connected, Vlan20
C 192.168.30.0/24 is directly connected, Vlan30
C 192.168.40.0/24 is directly connected, Vlan40
————————————————
二层交换机
配置
### 一号交换机
- 创建两个vlan: vlan 10 和 vlan 20
- 进入 g0/1(连接三层的接口) 接口配置为Trunk,并允许所有的vlan通过
- 进入 f0/1和f0/2,接口配置为Access 并加入 vlan 10 和 vlan20
Switch>enable
Switch#conf terminal
Switch(config)#vlan 10
Switch(config-vlan)#vlan 20
Switch(config-vlan)#int g0/1
Switch(config-if)#switchport mode trunk
### switchport trunk allowed vlan 10,20 # 只允许vlan 10和vlan 20 经过
Switch(config-if)#switchport trunk allowed vlan all
Switch(config-if)#int f0/1
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 10
Switch(config-if)#int f0/2
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 20
### 二号交换机一样的写法配置 vlan 30 和 vlan 40
Switch>enable
Switch#conf terminal
Switch(config)#vlan 30
Switch(config-vlan)#vlan 40
Switch(config-vlan)#int g0/1
Switch(config-if)#switchport mode trunk
Switch(config-if)#switchport trunk allowed vlan all
Switch(config-if)#int f0/1
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 30
Switch(config-if)#int f0/2
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 40
- 终端IP配置
- PC1
- 192.168.10.1
- 255.255.255.0
- 192.168.10.254
- PC2
- 192.168.20.1
- 255.255.255.0
- 192.168.20.254
- PC3
- 192.168.30.1
- 255.255.255.0
- 192.168.30.254
- PC4
- 192.168.40.1
- 255.255.255.0
- 192.168.40.254
- 最终测试:
终端
之间互Ping
没有问题
注意事项: 同一个交换机上面,Trunk
和Hybrid
|| Dynamic
不能并存(简单来说,有你没我)
- 命令学习: 设置三种端口模式
- switchport mode access
- switchport mode trunk
- switchport mode dynamic
三层交换机
的g0/1口
不能直接设置为trunk
Switch(config-if)#switchport mode trunk
Command rejected: An interface whose trunk encapsulation is "Auto" can not be configured to "trunk" mode.
Switch(config-if)#
- 解决办法: 封装一下
trunk
即可
Switch(config-if-range)#switchport trunk encapsulation dot1q //trunk协议封装为dot1q
Switch(config-if-range)#switchport mode trunk
Switch(config-if-range)#switchport trunk allowed vlan all
生成树协议
- 作用: 解决
链路闭合
造成的网络风暴
问题 - 交换机默认开启这个功能
- 默认交换机的优先级都是 32769
- 优先级可修改的范围为: 0~61440
- 数值越小越优先
-
spanning tree protocol 简称
STP
-
实验: 两台
交换机
故意环路
,结果第二路被默认阻塞了
- 交换机
vlan 1
的mac地址
,就是交换机的mac地址
- show mac add
- show interface vlan 1
- 查看
生成树协议
的详情命令
Switch#show spanning-tree
- 根网桥
VLAN0001
Spanning tree enabled protocol ieee
Root ID Priority 32769
Address 000A.F316.340D
This bridge is the root # 这台交换机被标识为"根网桥"
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32769 (priority 32768 sys-id-ext 1)
Address 000A.F316.340D
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 20
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/3 Desg FWD 19 128.3 P2p
Fa0/1 Desg FWD 19 128.1 P2p
- 另外一台交换机
VLAN0001
Spanning tree enabled protocol ieee
Root ID Priority 32769
Address 000A.F316.340D
Cost 19
Port 1(FastEthernet0/1)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32769 (priority 32768 sys-id-ext 1)
Address 000B.BE66.4A48
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 20
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1 Root FWD 19 128.1 P2p
Fa0/3 Altn BLK 19 128.3 P2p
根网桥
配置实例
- 交换机一号的"根网桥"信息如下
Switch#show spanning-tree
VLAN0001
Spanning tree enabled protocol ieee
Root ID Priority 32769
Address 000C.8593.812C # 本交换机不是根网桥,这里展示根网桥的mac地址
Cost 19
Port 1(FastEthernet0/1)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32769 (priority 32768 sys-id-ext 1)
Address 0060.7007.9C1D
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 20
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1 Root FWD 19 128.1 P2p
Fa0/2 Altn BLK 19 128.2 P2p
- 交换机二号的"根网桥"信息如下
Switch#show spanning-tree
VLAN0001
Spanning tree enabled protocol ieee
Root ID Priority 32769
Address 000C.8593.812C # 这个mac地址对应"交换机一号"的"根网桥"信息
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32769 (priority 32768 sys-id-ext 1)
Address 000C.8593.812C
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 20
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/2 Desg FWD 19 128.2 P2p
Fa0/1 Desg FWD 19 128.1 P2p
- 现在,把
交换机一号
设置成根网桥
- Switch(config)#spanning-tree vlan 1 priority 0
Switch(config)#spanning-tree vlan 1 priority 0 # 设置成"根网桥"(通过设置'优先级'达成目的)
Switch(config)#do show spanning
VLAN0001
Spanning tree enabled protocol ieee
Root ID Priority 1
Address 0060.7007.9C1D
This bridge is the root # 已经被设置成"根网桥"
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 1 (priority 0 sys-id-ext 1)
Address 0060.7007.9C1D
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 20
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1 Desg FWD 19 128.1 P2p
Fa0/2 Desg FWD 19 128.2 P2p
Switch(config)#
- 重新把
二号交换机
配置成根网桥
- spanning vlan 1 root primary
Switch(config)#spanning-tree vlan 1 root primary
Switch(config)#exit
Switch#show spanning-tree
VLAN0001
Spanning tree enabled protocol ieee
Root ID Priority 1
Address 000C.8593.812C
This bridge is the root # 重新变成"根网桥"
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 1 (priority 0 sys-id-ext 1)
Address 000C.8593.812C
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 20
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/2 Desg LSN 19 128.2 P2p
Fa0/1 Desg FWD 19 128.1 P2p
- 注意事项
- 作为"根网桥"的交换机(sw1),是不会被阻塞的,阻塞端口一定是在"非根网桥"交换机
sw1#show spanning-tree
VLAN0001
Spanning tree enabled protocol ieee
Root ID Priority 32769
Address 0001.C954.2768
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32769 (priority 32768 sys-id-ext 1)
Address 0001.C954.2768
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 20
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/2 Desg FWD 19 128.2 P2p # 两个端口均不会被阻塞
Fa0/1 Desg FWD 19 128.1 P2p # 两个端口均属于'指定端口'
- 查看"非根网桥"交换机的'STP协议'
而"根端口"是存在于"非根网桥"交换机,它是距离"根网桥"最近的端口(用来向"根网桥"转发数据)
Switch#show spanning-tree
VLAN0001
Spanning tree enabled protocol ieee
Root ID Priority 32769
Address 0001.C954.2768
Cost 19
Port 1(FastEthernet0/1)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32769 (priority 32768 sys-id-ext 1)
Address 0090.2BD8.5A0A
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 20
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1 Root FWD 19 128.1 P2p # 根端口
Fa0/2 Altn BLK 19 128.2 P2p # 可以看到,fa0/2口被阻塞了
- 分析两台设备之间的阻塞端口
- 在"非根网桥"上面除了一个'根端口',另外一个肯定就是'阻塞端口',如何改变这种关系呢?
- 解决办法: 进入'对端'交换机,设置优先级即可: spanning-tree vlan 1 port-priority 0
- 配置实践
- 默认阻塞在 sw2的fa0/2 端口,现在提升 sw1的 fa0/2 端口优先级,从而使sw2的fa0/1变成'阻塞端口'
sw1(config)#interface fa0/2
sw1(config-if)#spanning-tree vlan 1 port-priority 0
sw1(config-if)#exit
端口聚合
- 定义: 将若干个
物理端口
打包作为一个逻辑端口
对外通信 - 作用有两个
- 冗余备份: 当一条干线挂掉以后,另外一个干线马上顶上,不至于断网
- 负载均衡: 比如监测到一条干线的数据流量很大,另外一条干线的数据流量很小,就可以作'负载均衡'
- 均衡方式
- Dst-ip : 负载均衡方式根据目的地IP地址
- Dst-mac
- src-dst-ip
- src-dst-mac
- src-ip
- src-mac
- 端口汇聚的配置步骤和方法
- 明确数据量大的链路
- 明确要打包的物理端口
- 使用'channel-group'打包
- 使用'port-channel'配置负载均衡方式
- 进入刚刚配置的'物理端口'配置成'trunk'(干道)
实验环境: 配置同网段下,打包成逻辑端口
实例
- 思路分析
- 不管二层还是三层交换机,均划分 vlan10,vlan20,vlan30
- 二层接终端的接口设置成access并加入vlan 10,接三层交换机的接口设置成trunk
- 三层交换机接二层的接口设置成 trunk
- 核心部分,就是'配置汇聚端口'
- 配置
汇聚端口
# 批量进入端口
Switch(config)#interface range fa0/22-24
# 可以看出,这种打包方式,最多支持6组
Switch(config-if-range)#channel-group ?
<1-6> Channel group number
# 打包成'1号物理端口'
Switch(config-if-range)#channel-group 1 mode on
# 配置负载均衡
Switch(config)#port-channel load-balance src-dst-mac
# 进入打包后的'物理端口',配置trunk
Switch(config)#interface port-channel 1
Switch(config-if)#switchport mode trunk
负载均衡
的几种模式选项
Switch(config)#port-channel load-balance ?
dst-ip Dst IP Addr
dst-mac Dst Mac Addr
src-dst-ip Src XOR Dst IP Addr
src-dst-mac Src XOR Dst Mac Addr
src-ip Src IP Addr
src-mac Src Mac Addr
不同VLAN之间的互通实验
- 思路分析
- 三层交换机创建vlan并配置IP地址和网关
- 连接终端的端口配置成access并加入对应的vlan
- 连接二层交换机的接口
- 先开启 dot1q 协议(保证和二层交换机通信协议一致)
- 再修改成trunk(直接修改成trunk会报错,是不行的)
- 开启'路由功能'
- 二层交换机
- 创建vlan(不设置IP地址和网关)
- 连接终端的接口配置成access并加入vlan
- 连接三层的接口,配置成trunk即可
### 三层
Switch(config)#vlan 10
Switch(config-vlan)#vlan 20
Switch(config)#interface vlan 10 # vlan 20 同样的操作
Switch(config-if)#ip address 192.168.1.254 255.255.255.0
Switch(config)#interface fa0/1 # 终端设置成access并加入vlan
Switch(config-if)#switchport access vlan 10
Switch(config)#ip routing # 开启路由功能
Switch(config)#interface fa0/3 # 开启dot1q协议并设置成trunk
Switch(config-if)#switchport trunk encapsulation dot1q
Switch(config-if)#switchport mode trunk
### 二层交换机的配置不再赘述
- 注意事项
- vlan也可以取'别名'
- vlan 10
- name PD
- 作"三层跨vlan互通"的时候,一定要手动开启`路由功能`
- 实验小结
- 以上实验并没有作vlan互通限制,比如说只允许vlan 10和vlan 20 互通,vlan 30 作为一个独立的网段,不与其他vlan交互
把Access口变成路由端口
- 好处: 不必再配置
vlan
,与其它网段的通讯,全部由这个路由端口
来承担
- 进入该端口
- no swithport # 变成路由端口
- 为端口配置IP地址和网关(从这个口出去的终端要填写该网段的地址)
- 思路分析
- 三层交换机右边的配置,即 vlan 之间的互通,和之前一样,无需特别的设置
- 二层创建vlan 10,vlan 20
- 把连接终端的接口配置为access并加入相应的vlan
- 连接三层的接口配置成trunk
- 三层交换机的配置
- 创建vlan 10 和 vlan 20 配置IP地址并设置网关
- 开启路由功能
- 进入连接'二层'的口
- 配置'dot1q'
- 切换为trunk
- 路由端口的切换
- 进入连接终端的接口
- no switchport,然后配置IP地址和网关(若不先no switchport,默认的access是不支持配置'IP地址'和'网关'的)
路由器
- 功能: 实现不同网络之间的互联互通
- 路由器每个端口都需要配置IP地址,因为要进行数据的转发
- 注意事项: 每个端口配置的网段需不同,不可以出现相同网段的端口
- 实验: 实现两个终端网络之间的
互联互通
- 思路分析
- 二层交换机当'傻瓜交换机'使用
- 路由器
- 进入连接二层的接口,配置网关IP地址和掩码,并开启端口(默认是关闭的)
Router(config)#interface fa0/1
Router(config-if)#ip address 192.168.1.254 255.255.255.0
Router(config-if)#no shutdown
......
Router(config-if)#ip address 192.168.2.254 255.255.255.0
Router(config-if)#no shutdown
......
- 测试结果
- PC之间实现互联互通
- 注意事项: 教程的演示中,这么操作只能Ping通自己网段的网关,终端之间互Ping是不行的,因为还没有写'静态路由'
- 如果没有加上'WIC-1T'的硬件串口线接口,PC之间是可以互联互通的;加了以后,PC之间就不能互联互通的,需写'静态路由'
- 同异步串口线
- 作用: 不同路由器之间实现网络互通
- 需要了解的东东:由DCE端(需配置'时钟频率')和DTE端组成
- 使用
同异步串口线
连接路由器
实现互联互通思路
- 硬件方面: 从 DCE端 连接到 DTE端
- 软件方面:
- 进入DCE端的路由器
- 进入DCE端的接口,配置IP地址和掩码,no shutdown,并开启'时钟频率'
- 进入DTE端的路由器
- 进入DTE端的接口,配置IP地址和掩码,no shutdown即可
### DCE端
Router(config)#interface se0/0/0
Router(config-if)#clock rate 64000
Router(config-if)#no shutdown
Router(config-if)#ip address 10.1.1.1 255.255.255.0
### DTE端
Router(config)#interface se0/0/0
Router(config-if)#ip address 10.1.1.2 255.255.255.0
Router(config-if)#no shutdown
### 测试
Router#ping 10.1.1.1
......
Success rate is 100 percent (5/5), round-trip min/avg/max = 3/8/11 ms
静态路由
- 网管手工配置的路由信息(若拓扑图发生变化,需要手工修改)
- 使用范围: 较为简单的网络(复杂的网络如果需要天天改~~累死网管~)
- 设置路由规则命令
- ip route 目标网络地址 目标网络地址子网 目标链路直连的下一跳
- show ip route # 查看路由命令
- 思路分析
- 左边的路由器
- 首先进入路由器连接终端的接口,设置ip address 并 no shutdown
- 进入路由器连接路由器的接口,设置ip address 并 no shutdown
- 书写静态路由: ip route 192.168.20.0 255.255.255.0 192.168.30.2
- 右边的路由器作相同的事情
- 测试: 互联互通了
- 注意事项: 单单配置左边的静态路由,而不管右边的静态路由,网络是不会通的
缺省路由
- 作用: 当路由器不知道该如何转发数据包的时候,就转到
缺省路由
- 适用: 比较复杂的网络(比如广域网,N个网络,N台服务器之间交互)
- 注意事项:
网络地址
和子网
都表示为0.0.0.0
利用静态路由
控制链路流量
的分配
- 实验要求
- 配置一个静态路由功能,实现全网通
- 根据"流量"指定路由通路: 具体做法,就是"删除路由"
- 实现
全网通
思路分析: 以最上方路由器作为示例,左右两台路由器一样的思路
- 进入三个物理接口,配置对应的IP地址和子网
- 编写"静态路由"
ip route 192.168.1.0 255.255.255.0 192.168.10.2 # 配置通往1网段的路由,可以走两条网路
ip route 192.168.1.0 255.255.255.0 192.168.20.2
ip route 192.168.2.0 255.255.255.0 192.168.20.2 # 配置通往2网段的路由,可以走两条网路
ip route 192.168.2.0 255.255.255.0 192.168.10.2
ip route 192.168.30.0 255.255.255.0 192.168.10.2 # 配置中间路由的通路(拓扑图看对面线路就对了)
ip route 192.168.30.0 255.255.255.0 192.168.20.2
- 其余两台路由器一样的思路配置,然后测试终端之间能否ping通(有的终端ping可能会出现'丢包'的现象,这是路由选择的结果)
- no ip route xxx # 删除路由命令
- 比如说: 1网段的终端通往2网段的网路,其实走最近的 30 网段就可以了
没有必要走 10 网段 再经过 20网段 最后到达2网段
所以,可以删除这条相对长的路由
- no ip route 192.168.20.0 255.255.255.0 192.168.10.1
路由器的调试模式
- 分两种
- Realtime模式(实时模式): 这个模式只看结果,平常用的就是这个模式
- 单步调试模式(simulation模式): 本质就是ping包(ICMP包)断点调试,一步一步来
- 操作方法: 模拟器右下角点击"simulation"调试即可(可以看出,平常默认的是"Realtime模式")
-
路由距离
概念.以上图
为例,通过show ip route
命令,可以看出添加
静态路由
以后,路由管理距离
都是相等的(以最左边路由器为例)
# 查看路由信息
Router#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is not set
C 192.168.1.0/24 is directly connected, FastEthernet0/0 # "C"表示直连
S 192.168.2.0/24 [1/0] via 192.168.10.1 # "S"就是手写的'静态路由'
[1/0] via 192.168.30.2 # "[1/0]"表示管理距离都是1,'0'表示经过的节点(不理解)
S 192.168.3.0/24 [1/0] via 192.168.10.1
[1/0] via 192.168.30.2
C 192.168.10.0/24 is directly connected, FastEthernet0/1
S 192.168.20.0/24 [1/0] via 192.168.30.2
C 192.168.30.0/24 is directly connected, Ethernet0/0/0
- 假设现在发现,其中两个路由器之间通讯的流量比较大,我们通过增加
管理距离
来分担流量鸭梨
- "路由距离"的作用: 讲白了,就是当发现某线路流量很大的时候,可以指定这个参数,让流量从其他地方分流走
从而减轻当前线路的流量鸭梨
- 语法: ip route 目标网络地址 目标网络地址子网 目标链路直连的下一跳 路由距离 # 在之前'静态路由'的基础上,添加'路由距离'参数即可
C 192.168.1.0/24 is directly connected, FastEthernet0/0
C 192.168.10.0/24 is directly connected, FastEthernet0/1
C 192.168.30.0/24 is directly connected, Ethernet0/0/0
S 192.168.2.0/24 [1/0] via 192.168.10.1
[1/0] via 192.168.30.2
S 192.168.3.0/24 [1/0] via 192.168.10.1
[1/0] via 192.168.30.2
S 192.168.20.0/24 [1/0] via 192.168.30.2
- 实验
- 现在假设最左边的路由器和最上面的路由器,10.1/24 网络流量很大,想让数据包从其他链路走,可以这么处理
- 在原先静态路由的基础上,增加'路由距离'参数即可
# 增加距离为100
Router(config)#ip route 192.168.3.0 255.255.255.0 192.168.10.1 100
Router(config)#exit
Router#show ip route
......
Gateway of last resort is not set
C 192.168.1.0/24 is directly connected, FastEthernet0/0
S 192.168.2.0/24 [1/0] via 192.168.10.1
[1/0] via 192.168.30.2
S 192.168.3.0/24 [1/0] via 192.168.30.2 # 可以看到,原先的静态路由不见了
C 192.168.10.0/24 is directly connected, FastEthernet0/1
S 192.168.20.0/24 [1/0] via 192.168.30.2
C 192.168.30.0/24 is directly connected, Ethernet0/0/0
- 通过调试ping包发现: 数据包去往最上方的终端时候
- 去的方向,永远不会再走 10.1 段的链路
- 回的方向,仍有可能走 10.1 段的链路
- 通过'show run'命令查看发现: 这条路由其实还是存在的,只不过 后面加了'路由距离'参数而已
Router#show run
......
ip classless
ip route 192.168.3.0 255.255.255.0 192.168.30.2
ip route 192.168.2.0 255.255.255.0 192.168.30.2
ip route 192.168.2.0 255.255.255.0 192.168.10.1 # 旧的静态路由
ip route 192.168.20.0 255.255.255.0 192.168.30.2
ip route 192.168.3.0 255.255.255.0 192.168.10.1 100 # 新的静态路由
......
利用RIP动态路由协议
配置全网通
- 配置
RIP协议
步骤
- 确实网络是否需要"VLSM"支持,以便确定 RIPv1 还是 RIPv2 版本
- 确定与路由设备(路由器 && 三层交换机)直连的网络
- 在路由设备上面,配置"直连网络"
-
实验拓扑图如下
-
配置思路如下
### 二层交换机配置
- 创建vlan10 和 vlan20,把连接终端的接口加进去
- 连接三层的接口,配置成Trunk
### 三层交换机配置
- 开启路由功能
- 划分vlan10 和 vlan20,并设置ip地址
- 连接二层交换机的接口,配置成 trunk # 注意先使用 dot1q 协议
- 连接路由器的接口,直接no switchport 再配置IP地址和网关
- 连接终端的接口,直接配置ip地址(不划分vlan,直接no switchport 再配置IP地址和网关 )
### 路由器
- 连接终端的接口,直接配置IP地址
- 连接三层交换机的接口,直接配置IP地址
- 配置rip协议并添加直连网络
# 进入rip
Router(config)#router rip
# 配置直连网络
Router(config-router)#network 192.168.5.0
Router(config-router)#network 192.168.4.0
Router(config-router)#exit
- 注意事项: 这里三层交换机也要做一样的事情,即 配置rip协议并添加直连网络
Switch(config)#router rip
Switch(config-router)#net
Switch(config-router)#network 192.168.1.0
Switch(config-router)#network 192.168.2.0
Switch(config-router)#network 192.168.3.0
Switch(config-router)#network 192.168.5.0
Switch(config-router)#exit
- 最终测试: 终端之间互ping通了
为什么要使用ripV2
版本
- ripV1无法学习邻居路由的网络和掩码问题
- 可以解决路由器之间普通交叉线传输数据包的问题
- 如何配置
ripV2
- 先按照ripV1进行配置
- 宣告V2版本同时关闭"自动汇聚"
- 通俗理解:就是在"ripV1"的基础上,加上两句命令即可
- 三个路由器之间是3个网段
- 三台终端之间又是另外的3个网段
- 实验思路分析
- 先配置所有设备和节点的IP地址
- 配置RIP_v1版本(以RA为例,RB和RC类同)
RA(config)#router rip
RA(config-router)#net
RA(config-router)#network 10.1.1.0
RA(config-router)#network 20.1.1.0
RA(config-router)#network 40.1.1.0
RA(config-router)#exit
- 目前的测试结果
- PC0可以ping通自己的网关,可以ping通RA路由器的20.1.1.1 和 40.1.1.1
- PC0无法ping通 20.1.1.2 和 40.1.1.2
- 结论: 使用RIP_v1版本,终端只能ping通直连路由器的接口,无法ping通其他路由器和其他终端
- 此时如何
ping
通其他终端呢?升级配置RIP_v2
版本即可
- 本质上,加两条命令就可以了(RA,RB,RC均需如此操作)
RA(config)#router rip
RA(config-router)#version 2 # 声明v2版本
RA(config-router)#no auto-summary # 关闭"自动汇聚"
- 最终测试结果
- 终端之间实现互联互通!