思科模拟器企业组网

目录

使用思科模拟器简单搭建一个企业网络

网络拓扑图

序

包含以下知识点:

  • 双机热备

  • STP

  • 无线 / AP 接入

  • DHCP / DNS / WEB / FTP 服务器

  • OSPF 动态路由

  • 串口广域网

  • 动态 NAT

  • 2960:接入层二层交换机,只负责 Access / Trunk

  • 3560:汇聚层三层交换机,负责 SVI + ip routing + HSRP + STP

  • 4331:核心 / 出口路由器,负责 OSPF + 串口 + 默认路由 + NAT

推荐配置顺序

  1. 先画拓扑,给每条链路和每个 VLAN 编号
  2. 先配服务器静态 IP,再开 DHCP / DNS / WEB / FTP
  3. 打通二层:VLAN + Access + Trunk + STP
  4. 配三层网关:SVI + ip routing + HSRP
  5. 配路由器互联:园区链路、串口、OSPF
  6. 配出口:默认路由、默认路由发布、NAT
  7. 最后逐段验证:拿地址、跨 VLAN、跨区域、出外网、DNS 解析、主备切换

IP 分配

  • 192.168.11.0/24:服务器区,DHCP / DNS / WEB / FTP 所在网段
  • 192.168.12.0/24:服务器接入路由器到核心路由器
  • 192.168.13.0/24:核心路由器到总公司接入路由器
  • 192.168.14.0/24、192.168.15.0/24:总公司接入路由器与双核心交换机之间的三层互联
  • 192.168.17.0/24:核心路由器到出口路由器
  • 100.1.1.0/24:出口到外网路由器
  • 192.168.1.0/24 到 192.168.8.0/24:业务 VLAN 网段

相关知识点

技术解决的问题关键点
VLAN + Trunk二层隔离与跨交换机承载多个 VLANAccess 口给终端,Trunk 口给交换机 / 汇聚
STP二层冗余链路防环通过选根桥和阻塞端口避免广播风暴
HSRP默认网关冗余客户端始终指向虚拟 IP,不关心当前主设备是谁
SVI + ip routingVLAN 间路由三层交换机必须开启 ip routing
ip helper-address跨网段 DHCP把广播转换为单播转发到 DHCP 服务器
OSPF全网动态路由只在真正的三层邻居之间建邻接
NAT私网访问公网出口路由器要分清 inside / outside
默认路由去未知网段的出口方向常在出口设备上配置,并发布给内部

一个很重要的配合关系:

  • HSRP 决定“谁当默认网关”
  • STP 决定“二层流量先走哪条链路”

实际设计里,最好让同一个 VLAN 的 HSRP Active 和 STP Root 尽量落在同一台设备上,避免流量先绕远路再去找网关。

内部服务器配置

服务器区需要配置 WEB、DNS、DHCP、FTP,其中最关键的是 DHCP。

基本要求:

  • 所有服务器都用静态 IP
  • 正确填写默认网关
  • DNS 服务器为 WEB 服务器添加 A 记录
  • DHCP 地址池为各 VLAN 分配地址、网关、DNS
  • FTP 配置本地用户名和密码
  • WEB 开启 HTTP 和 HTTPS

DHCP 地址池示意: DHCP 地址池

FTP 服务器配置用户名和密码。

同时需要给内部服务器配置静态 IP 和网关。

路由器与交换机配置

1. 服务器接入路由器

作用:

  • 连接服务器区和园区核心
  • 为非本地网段的客户端转发 DHCP 请求
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
interface GigabitEthernet0/0/0
 ip address 192.168.11.5 255.255.255.0

interface GigabitEthernet0/0/1
 ip address 192.168.12.1 255.255.255.0
 ip helper-address 192.168.11.3

router ospf 10
 log-adjacency-changes
 network 192.168.11.0 0.0.0.255 area 0
 network 192.168.12.0 0.0.0.255 area 0

说明:

  • ip helper-address 192.168.11.3 表示把 DHCP 广播转发给中心 DHCP 服务器
  • router ospf 10 里的 10 是本地进程号,只在本设备上有意义,不要求全网一致

2. 核心路由器

作用:

  • 连接服务器区、总公司园区、串口广域网和出口路由器
  • 是整个实验的三层骨干之一
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
interface GigabitEthernet0/0/0
 ip address 192.168.12.2 255.255.255.0

interface GigabitEthernet0/0/1
 ip address 192.168.13.1 255.255.255.0
 ip helper-address 192.168.11.3

interface Serial0/2/0
 ip address 192.168.16.1 255.255.255.0
 ip helper-address 192.168.11.3

interface Serial0/2/1
 ip address 192.168.17.1 255.255.255.0
 clock rate 64000

router ospf 20
 log-adjacency-changes
 network 192.168.12.0 0.0.0.255 area 0
 network 192.168.13.0 0.0.0.255 area 0
 network 192.168.16.0 0.0.0.255 area 0
 network 192.168.17.0 0.0.0.255 area 0

说明:

  • 串口如果是 DCE 端,需要 clock rate 64000
  • 这里依然把 DHCP 请求中继到 192.168.11.3
  • 这台设备是很多网段的汇聚点,一旦 OSPF 漏宣告,这里最容易出问题

3. 出口路由器

作用:

  • 对内连接企业私网
  • 对外连接 ISP / 模拟互联网
  • 做动态 NAT,并向 OSPF 发布默认路由
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
interface Serial0/1/0
 ip address 192.168.17.2 255.255.255.0
 ip nat inside

interface Serial0/1/1
 ip address 100.1.1.1 255.255.255.0
 ip nat outside
 clock rate 64000

router ospf 80
 log-adjacency-changes
 network 192.168.17.0 0.0.0.255 area 0
 default-information originate

ip nat pool DZC 100.1.1.3 100.1.1.10 netmask 255.255.255.0
ip nat inside source list 1 pool DZC
ip classless
ip route 0.0.0.0 0.0.0.0 100.1.1.2

access-list 1 permit 192.168.0.0 0.0.255.255

说明:

  • ip nat inside source list 1 pool DZC 是动态 NAT 地址池,不是 PAT
  • 如果希望很多内网主机共享少量公网地址,通常写成 overload
  • default-information originate 的前提是本机路由表里已经有默认路由,所以 ip route 0.0.0.0 0.0.0.0 100.1.1.2 不能漏
  • inside / outside 配反时,NAT 一定不生效

4. 外网路由器

1
2
3
4
5
interface Serial0/1/0
 ip address 100.1.1.2 255.255.255.0

interface GigabitEthernet0/0/0
 ip address 100.1.2.1 255.255.255.0

这一台主要用于模拟 ISP / 互联网,只要把去出口的下一跳配通即可。

5. 总公司接入路由器

作用:

  • 上联核心路由器
  • 下联双核心交换机
  • 其中 NIM-ES 2-4 模块提供的是二层交换口,所以需要用 VLAN + SVI 的方式承载三层地址
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
interface GigabitEthernet0/0/0
 ip address 192.168.13.2 255.255.255.0

interface GigabitEthernet0/0/1
 ip address 192.168.14.1 255.255.255.0
 ip helper-address 192.168.11.3

interface GigabitEthernet0/1/0
 switchport mode access
 switchport access vlan 101

interface Vlan101
 mac-address 0060.471d.b601
 ip address 192.168.15.1 255.255.255.0
 ip helper-address 192.168.11.3

router ospf 50
 log-adjacency-changes
 network 192.168.13.0 0.0.0.255 area 0
 network 192.168.14.0 0.0.0.255 area 0
 network 192.168.15.0 0.0.0.255 area 0

说明:

  • NIM-ES 模块出来的是交换端口,不能一边 no switchport 一边又 switchport mode access
  • 正确思路是把物理口加入 VLAN 101,然后把 IP 配在 interface Vlan101 上
  • 与它相连的交换机接口也要落到同一个 VLAN

与之相连的交换机接口示例:

1
2
3
interface FastEthernet0/8
 switchport mode access
 switchport access vlan 101

6. 双机热备与双核心交换机

这部分是整套实验最容易配乱的地方。建议先明确三个事实:

  • 三层交换机必须先开启 ip routing
  • HSRP 给终端提供虚拟网关
  • OSPF 只在真正连接到三层邻居的接口上建邻接,普通用户 VLAN 接口一般保持 passive

先看 OSPF 的思路:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
router ospf 60
 passive-interface default
 no passive-interface FastEthernet0/1
 network 192.168.1.0 0.0.0.255 area 0
 network 192.168.2.0 0.0.0.255 area 0
 network 192.168.3.0 0.0.0.255 area 0
 network 192.168.4.0 0.0.0.255 area 0
 network 192.168.5.0 0.0.0.255 area 0
 network 192.168.10.0 0.0.0.255 area 0
 network 192.168.14.0 0.0.0.255 area 0

这段配置的意思不是“VLAN 口不能跑 OSPF”,而是:

  • 默认所有接口都不发 Hello
  • 只有真正要与其他三层设备建邻居的口,才用 no passive-interface 打开
  • 普通接用户的 SVI 依然可以被 network 宣告进 OSPF,只是不参与邻居建立

左侧多层交换机

特点:

  • 作为 VLAN 10 / 20 / 30 的主网关
  • 同时承担这些 VLAN 的 STP 主根桥
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
ip routing
spanning-tree mode pvst
spanning-tree vlan 10,20,30 priority 24576
spanning-tree vlan 40,50 priority 28672

interface FastEthernet0/1
 no switchport
 ip address 192.168.14.2 255.255.255.0

interface FastEthernet0/2
 switchport mode access
 switchport access vlan 100

interface FastEthernet0/3
 switchport trunk encapsulation dot1q
 switchport mode trunk

interface FastEthernet0/4
 switchport trunk encapsulation dot1q
 switchport mode trunk

interface FastEthernet0/5
 switchport trunk encapsulation dot1q
 switchport mode trunk

interface FastEthernet0/6
 switchport trunk encapsulation dot1q
 switchport mode trunk

interface FastEthernet0/7
 switchport trunk encapsulation dot1q
 switchport mode trunk

interface FastEthernet0/8
 switchport trunk encapsulation dot1q
 switchport mode trunk

interface FastEthernet0/9
 switchport trunk encapsulation dot1q
 switchport mode trunk

interface Vlan10
 mac-address 0001.c950.e401
 ip address 192.168.1.1 255.255.255.0
 ip helper-address 192.168.11.3
 standby 10 ip 192.168.1.254
 standby 10 priority 101
 standby 10 preempt
 standby 10 track FastEthernet0/1

interface Vlan20
 mac-address 0001.c950.e402
 ip address 192.168.2.1 255.255.255.0
 ip helper-address 192.168.11.3
 standby 20 ip 192.168.2.254
 standby 20 priority 101
 standby 20 preempt
 standby 20 track FastEthernet0/1

interface Vlan30
 mac-address 0001.c950.e403
 ip address 192.168.3.1 255.255.255.0
 ip helper-address 192.168.11.3
 standby 30 ip 192.168.3.254
 standby 30 priority 101
 standby 30 preempt
 standby 30 track FastEthernet0/1

interface Vlan40
 mac-address 0001.c950.e404
 ip address 192.168.4.1 255.255.255.0
 ip helper-address 192.168.11.3
 standby 40 ip 192.168.4.254
 standby 40 preempt
 standby 40 track FastEthernet0/1

interface Vlan50
 mac-address 0001.c950.e405
 ip address 192.168.5.1 255.255.255.0
 ip helper-address 192.168.11.3
 standby 50 ip 192.168.5.254
 standby 50 preempt
 standby 50 track FastEthernet0/1

interface Vlan100
 mac-address 0001.c950.e406
 ip address 192.168.10.254 255.255.255.0
 ip helper-address 192.168.11.3

router ospf 60
 log-adjacency-changes
 passive-interface default
 no passive-interface FastEthernet0/1
 network 192.168.14.0 0.0.0.255 area 0
 network 192.168.1.0 0.0.0.255 area 0
 network 192.168.2.0 0.0.0.255 area 0
 network 192.168.3.0 0.0.0.255 area 0
 network 192.168.4.0 0.0.0.255 area 0
 network 192.168.5.0 0.0.0.255 area 0
 network 192.168.10.0 0.0.0.255 area 0

右侧多层交换机

特点:

  • 作为 VLAN 40 / 50 的主网关
  • 同时承担这些 VLAN 的 STP 主根桥
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
ip routing
spanning-tree mode pvst
spanning-tree vlan 40,50 priority 24576
spanning-tree vlan 10,20,30 priority 28672

interface FastEthernet0/1
 switchport trunk encapsulation dot1q
 switchport mode trunk

interface FastEthernet0/2
 switchport trunk encapsulation dot1q
 switchport mode trunk

interface FastEthernet0/3
 switchport trunk encapsulation dot1q
 switchport mode trunk

interface FastEthernet0/4
 switchport trunk encapsulation dot1q
 switchport mode trunk

interface FastEthernet0/5
 switchport trunk encapsulation dot1q
 switchport mode trunk

interface FastEthernet0/6
 switchport trunk encapsulation dot1q
 switchport mode trunk

interface FastEthernet0/7
 switchport mode access
 switchport access vlan 110

interface FastEthernet0/8
 switchport mode access
 switchport access vlan 101

interface Vlan10
 mac-address 0001.c74b.9801
 ip address 192.168.1.2 255.255.255.0
 ip helper-address 192.168.11.3
 standby 10 ip 192.168.1.254
 standby 10 preempt
 standby 10 track FastEthernet0/8

interface Vlan20
 mac-address 0001.c74b.9802
 ip address 192.168.2.2 255.255.255.0
 ip helper-address 192.168.11.3
 standby 20 ip 192.168.2.254
 standby 20 preempt
 standby 20 track FastEthernet0/8

interface Vlan30
 mac-address 0001.c74b.9803
 ip address 192.168.3.2 255.255.255.0
 ip helper-address 192.168.11.3
 standby 30 ip 192.168.3.254
 standby 30 preempt
 standby 30 track FastEthernet0/8

interface Vlan40
 mac-address 0001.c74b.9804
 ip address 192.168.4.2 255.255.255.0
 ip helper-address 192.168.11.3
 standby 40 ip 192.168.4.254
 standby 40 priority 101
 standby 40 preempt
 standby 40 track FastEthernet0/8

interface Vlan50
 mac-address 0001.c74b.9805
 ip address 192.168.5.2 255.255.255.0
 ip helper-address 192.168.11.3
 standby 50 ip 192.168.5.254
 standby 50 priority 101
 standby 50 preempt
 standby 50 track FastEthernet0/8

interface Vlan101
 mac-address 0001.c74b.9807
 ip address 192.168.15.2 255.255.255.0

interface Vlan110
 mac-address 0001.c74b.9806
 ip address 192.168.11.1 255.255.255.0
 ip helper-address 192.168.11.3

router ospf 70
 log-adjacency-changes
 passive-interface default
 no passive-interface Vlan101
 network 192.168.1.0 0.0.0.255 area 0
 network 192.168.2.0 0.0.0.255 area 0
 network 192.168.3.0 0.0.0.255 area 0
 network 192.168.4.0 0.0.0.255 area 0
 network 192.168.5.0 0.0.0.255 area 0
 network 192.168.11.0 0.0.0.255 area 0
 network 192.168.15.0 0.0.0.255 area 0

补充说明:

  • 左右两台交换机都要 ip routing
  • standby x priority 101 的一侧会优先成为 Active
  • track 上联口断开时,会降低优先级,方便主备切换
  • 右侧设备上 Vlan101 是三层互联 VLAN,所以取消 passive 是合理的
  • 普通用户 VLAN 如果没有直接连接三层邻居,就不需要 no passive-interface

7. 分公司接入路由器

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
interface FastEthernet0/1
 no switchport
 ip address 192.168.18.2 255.255.255.0
 duplex auto
 speed auto

interface FastEthernet0/2
 switchport mode access
 switchport access vlan 80

interface FastEthernet0/3
 switchport trunk encapsulation dot1q
 switchport mode trunk

interface FastEthernet0/4
 switchport trunk encapsulation dot1q
 switchport mode trunk

interface Vlan60
 mac-address 0009.7c59.3801
 ip address 192.168.6.254 255.255.255.0
 ip helper-address 192.168.11.3

interface Vlan70
 mac-address 0009.7c59.3802
 ip address 192.168.7.254 255.255.255.0
 ip helper-address 192.168.11.3

interface Vlan80
 mac-address 0009.7c59.3803
 ip address 192.168.8.254 255.255.255.0
 ip helper-address 192.168.11.3

router ospf 40
 log-adjacency-changes
 network 192.168.6.0 0.0.0.255 area 0
 network 192.168.7.0 0.0.0.255 area 0
 network 192.168.8.0 0.0.0.255 area 0
 network 192.168.18.0 0.0.0.255 area 0

8. 二层交换机

二层交换机只做接入和转发,不承担网关职责。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
interface FastEthernet0/1
 switchport mode trunk

interface FastEthernet0/2
 switchport mode trunk

interface FastEthernet0/3
 switchport mode access
 switchport access vlan 10

interface FastEthernet0/4
 switchport mode access
 switchport access vlan 10

路由协议

路由协议里最常见的是 OSPF,RIP 也仍然是实验、题目和小型拓扑里经常出现的内容。这个实验主体用的是 OSPF,但 RIP 也建议会配、会查、会和 OSPF 做比较。

OSPF

OSPF 会维护三张关键表:

  1. 邻居表:已经建立邻接关系的设备
  2. 链路状态数据库(LSDB):全网链路状态信息
  3. 路由表:SPF 计算后的最优路径

工作过程可以粗记为:

  1. 用 Hello 发现邻居
  2. 交换 LSA
  3. 建立 LSDB
  4. 运行 SPF
  5. 安装路由

与 RIP 等距离矢量协议不同,OSPF 路由器不直接交换整张路由表,而是交换链路状态信息。

最基本的 OSPF 配置:

1
2
3
4
5
Router(config)# router ospf 10
Router(config-router)# network 192.168.11.0 0.0.0.255 area 0
Router(config-router)# network 192.168.12.0 0.0.0.255 area 0
Router(config-router)# passive-interface default
Router(config-router)# no passive-interface g0/0/1

几个关键点:

  • router ospf 10 里的 10 只是本机进程号,只在设备本地有意义
  • 不同设备写成 1、10、20 都可以,不影响建邻
  • 真正影响邻接是否建立的,是三层可达、Area 一致、Hello / Dead 定时器一致、认证一致,以及没有被 passive-interface 禁掉
  • passive-interface default 很适合企业网,默认把所有接口设为被动,只把真正需要建邻的口开放出来

常用 OSPF 检查命令:

1
2
3
4
show ip ospf neighbor
show ip protocols
show ip ospf
show ip route ospf

RIP

RIP 是典型的距离矢量协议,特点是简单,但能力也弱一些。

RIP 的几个考试 / 实验重点:

  • 以“跳数”作为度量值
  • 最大跳数是 15,16 代表不可达
  • 周期性发送更新,默认大约每 30 秒一次
  • 收敛速度比 OSPF 慢,不适合较大的企业网络
  • 一般在小型拓扑、入门实验、简单分支网络里使用

如果要在实验里用 RIP,建议直接上 RIPv2:

1
2
3
4
5
6
7
Router(config)# router rip
Router(config-router)# version 2
Router(config-router)# no auto-summary
Router(config-router)# network 192.168.0.0
Router(config-router)# passive-interface default
Router(config-router)# no passive-interface g0/0/0
Router(config-router)# no passive-interface s0/1/0

说明:

  • version 2:开启 RIPv2,支持无类路由
  • no auto-summary:关闭自动汇总,这句在实验里基本可以当成必敲
  • network 192.168.0.0:让落在这个主类网络内的接口参与 RIP
  • passive-interface default:让接用户的接口不发 RIP 更新,只保留真正互联链路发送更新

如果希望出口路由器把默认路由下发给全网,可以这样写:

1
2
3
Router(config)# ip route 0.0.0.0 0.0.0.0 100.1.1.2
Router(config)# router rip
Router(config-router)# default-information originate

RIP 常用检查命令:

1
2
3
4
show ip route
show ip protocols
show ip rip database
debug ip rip

OSPF 和 RIP 可以这样粗记:

协议类型度量值收敛速度适用场景
OSPF链路状态Cost快企业园区、中大型网络
RIP距离矢量跳数慢小型网络、入门实验

STP 与 HSRP

STP 和 HSRP 经常一起出现,因为企业网络里既要“二层不成环”,也要“三层网关不单点”。

技术控制什么核心目的
STP二层路径防环路、防广播风暴
HSRP三层网关网关冗余、主备切换

STP

STP(Spanning Tree Protocol,生成树协议)的作用是:

  • 在二层冗余链路中阻塞一部分端口,避免交换网络形成环路
  • 当主链路故障时,再把备用链路放通

STP 里最重要的几个概念:

  • Root Bridge:根桥,整棵生成树的中心
  • Root Port:每台非根桥设备上,去往根桥的最佳端口
  • Designated Port:每个网段负责转发的端口
  • Blocking / Discarding:被阻塞的端口,不参与正常转发

这里用的是 PVST,常见配置有两种写法。

写法 1:直接指定主根和备根

1
2
3
Switch(config)# spanning-tree mode pvst
Switch(config)# spanning-tree vlan 40,50 root primary
Switch(config)# spanning-tree vlan 10,20,30 root secondary

写法 2:手工改优先级

1
2
3
Switch(config)# spanning-tree mode pvst
Switch(config)# spanning-tree vlan 10,20,30 priority 24576
Switch(config)# spanning-tree vlan 40,50 priority 28672

说明:

  • 优先级越小,越容易成为根桥
  • root primary / root secondary 本质上也是自动帮你调优先级
  • Access 口如果确定只接终端,可以开 portfast,但不要在 Trunk 或交换机互联口上乱开

接入口常见的增强配置:

1
2
3
Switch(config)# interface range f0/3 - 24
Switch(config-if-range)# spanning-tree portfast
Switch(config-if-range)# spanning-tree bpduguard enable

常用 STP 检查命令:

1
2
3
show spanning-tree
show spanning-tree vlan 10
show spanning-tree root

HSRP

HSRP(Hot Standby Router Protocol,热备份路由协议)的作用是给终端提供一个“虚拟网关”,这样真实网关坏了,终端不用改默认网关,业务还能继续走。

HSRP 里最重要的概念:

  • Active:当前真正转发流量的设备
  • Standby:备用设备
  • Virtual IP:客户端填写的默认网关
  • Virtual MAC:跟着虚拟网关一起漂移的虚拟 MAC

最常见的 HSRP 配置:

1
2
3
4
5
6
Switch(config)# interface vlan 10
Switch(config-if)# ip address 192.168.1.1 255.255.255.0
Switch(config-if)# standby 10 ip 192.168.1.254
Switch(config-if)# standby 10 priority 101
Switch(config-if)# standby 10 preempt
Switch(config-if)# standby 10 track fastEthernet 0/1

每条命令的作用:

  • standby 10 ip 192.168.1.254:定义虚拟网关 IP
  • standby 10 priority 101:优先级高的一侧更容易成为 Active
  • standby 10 preempt:主设备恢复后允许重新抢回主用角色
  • standby 10 track fastEthernet 0/1:上联口挂了就自动降权,方便切到备机

常用 HSRP 检查命令:

1
2
3
show standby brief
show standby
show running-config interface vlan 10

为什么 STP 和 HSRP 要一起看

只配 HSRP 不看 STP,流量可能会绕路。

理想状态是:

  • VLAN 10 / 20 / 30 的 HSRP Active 和 STP Root 都落在左侧核心
  • VLAN 40 / 50 的 HSRP Active 和 STP Root 都落在右侧核心

这样二层路径和三层网关方向一致,终端发往网关的数据不会先绕到另一台核心再转发。

ACL

ACL(Access Control List,访问控制列表)本质上就是一串“从上到下匹配”的规则,用来决定哪些流量放行,哪些流量拒绝。

记住 ACL 的四条铁律:

  1. 自上而下逐条匹配
  2. 一旦命中,立即停止继续往下匹配
  3. 规则越具体,越应该写在前面
  4. 最后一条永远隐含 deny ip any any

标准 ACL 和扩展 ACL

类型能匹配什么常放位置编号范围
标准 ACL只看源 IP靠近目的端1-99、1300-1999
扩展 ACL看源 / 目的 / 协议 / 端口靠近源端100-199、2000-2699

标准 ACL

标准 ACL 一般用来做“谁能来”,因为它只能看源地址。

示例 1:只允许网管网段远程登录设备

1
2
3
Router(config)# access-list 10 permit 192.168.10.0 0.0.0.255
Router(config)# line vty 0 4
Router(config-line)# access-class 10 in

示例 2:只允许 192.168.6.0/24 访问某个接口后的资源

1
2
3
Router(config)# access-list 20 permit 192.168.6.0 0.0.0.255
Router(config)# interface g0/0/1
Router(config-if)# ip access-group 20 out

扩展 ACL

扩展 ACL 可以精确到协议和端口,企业网里更常用。

示例:禁止分公司 VLAN60 访问服务器区 FTP,但允许其访问其他业务

1
2
3
4
5
Router(config)# access-list 100 deny tcp 192.168.6.0 0.0.0.255 192.168.11.0 0.0.0.255 eq 21
Router(config)# access-list 100 deny tcp 192.168.6.0 0.0.0.255 192.168.11.0 0.0.0.255 eq 20
Router(config)# access-list 100 permit ip any any
Router(config)# interface FastEthernet0/1
Router(config-if)# ip access-group 100 in

如果想用命名 ACL,可读性会更高:

1
2
3
4
5
6
Router(config)# ip access-list extended BLOCK_FTP
Router(config-ext-nacl)# deny tcp 192.168.6.0 0.0.0.255 192.168.11.0 0.0.0.255 eq 21
Router(config-ext-nacl)# deny tcp 192.168.6.0 0.0.0.255 192.168.11.0 0.0.0.255 eq 20
Router(config-ext-nacl)# permit ip any any
Router(config)# interface FastEthernet0/1
Router(config-if)# ip access-group BLOCK_FTP in

ACL 的放置原则

  • 标准 ACL:尽量靠近目的端
  • 扩展 ACL:尽量靠近源端
  • 控制谁能远程登录设备:优先用 line vty 下的 access-class
  • NAT 里用到的 ACL 往往只是“匹配谁做转换”,不一定是“拦截流量”

ACL 常用检查命令:

1
2
3
show access-lists
show ip interface
show running-config | section access-list

NAT

企业出口里的 NAT,本质上是把私网地址改成公网地址。最常见的是“内网用户访问外网”时做源地址转换。

PAT:多个内网地址复用一个公网地址

1
2
3
4
5
6
7
Router(config)# interface gigabitEthernet 0/0/0
Router(config-if)# ip nat inside
Router(config)# interface serial 0/2/0
Router(config-if)# ip nat outside

Router(config)# access-list 1 permit 192.168.0.0 0.0.255.255
Router(config)# ip nat inside source list 1 interface serial 0/2/0 overload

说明:

  • overload 的作用是端口复用,也就是常说的 PAT
  • 多台内网主机可以共用一个公网 IP

动态 NAT:从公网地址池里分配地址

1
2
3
4
5
6
7
8
Router(config)# interface gigabitEthernet 0/0/0
Router(config-if)# ip nat inside
Router(config)# interface serial 0/2/0
Router(config-if)# ip nat outside

Router(config)# access-list 1 permit 192.168.0.0 0.0.255.255
Router(config)# ip nat pool DZC 100.1.1.3 100.1.1.10 netmask 255.255.255.0
Router(config)# ip nat inside source list 1 pool DZC

如果希望“地址池 + 端口复用”一起用,可以写成:

1
Router(config)# ip nat inside source list 1 pool DZC overload

常用查看命令:

1
2
3
show ip nat translations
show ip nat statistics
clear ip nat translation *

故障排查

排错建议按“终端 -> 接入 -> 汇聚 -> 核心 -> 出口”的方向查,不要一上来就全网乱翻。

基础排错顺序

  1. 先确认终端 IP、掩码、网关、DNS 是否正确
  2. ping 本 VLAN 网关,看本地三层是否正常
  3. ping 内网服务器,看园区路由是否正常
  4. 用 tracert 看流量断在哪一跳
  5. 在对应设备上看 show ip route、show ip ospf neighbor、show standby brief
  6. 出外网异常时,再看 show ip nat translations

常见问题

  • 三层交换机忘记开启 ip routing
  • DHCP 地址池默认网关填成物理网关,而不是 HSRP 虚拟网关
  • default-information originate 配了,但本机没有默认路由
  • 串口 DCE 端忘记 clock rate
  • 把所有接口都 no passive-interface,导致用户 VLAN 也去建 OSPF 邻居
  • NIM-ES 交换模块口理解错,把二层口和三层口命令混着写
  • NAT 的 inside / outside 打反
  • ACL 写完忘了绑到接口,或者绑反了 in / out
  • ACL 只写了 deny,忘了最后补需要的 permit
  • HSRP 主设备和 STP 根桥不一致,导致流量绕路

一组常用命令

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
show running-config | include helper
show running-config | section access-list
show ip interface brief
show ip route
show ip protocols
show vlan brief
show interfaces trunk
show standby brief
show spanning-tree vlan 10
show ip ospf neighbor
show ip rip database
show access-lists
show ip nat translations
clear ip nat translation *

Ctrl + Shift + 6
default interface FastEthernet 0/1
erase startup-config
reload

参考

1.思科企业网搭建-企业网含无线-从零开始配置教程_哔哩哔哩_bilibili