期末
本文最后更新于120 天前,如有错误请发送邮件到2176284372@qq.com

你好!我是思科之王。很高兴能协助你攻克这个网络拓扑。这张图涵盖了交换技术(VLAN、Trunk、SVI)、路由技术(OSPF)、服务配置(DHCP、DNS、WWW、IoT)以及边界安全技术(ACL、NAT),是一个非常经典且综合的 CCNA/CCNP 级别实战案例。

为了确保你能够顺利完成配置,我们将把任务拆解为 六大模块。请务必按照顺序操作,切勿跳步。

前置说明:

  • 关于 *:题目中所有的 * 代表你的个人标识(如学号后一位或特定数字)。在下方的教学代码中,我将统一使用数字 1 代替 *。请你在配置时,务必将 1 替换为你实际的数字(例如你的学号是 ZhangSan,可能对应数字 8,那就把 192.1.10.254 换成 192.8.10.254)。
  • 关于端口:由于截图无法完全看清具体连接的物理接口号(如 Fa0/1 还是 Gi0/1),我将基于题目描述和通用习惯进行假设。请你在连线时,务必确认线缆插在正确的端口上,或者根据实际端口调整我的命令。

模块一:基础配置与左侧内网接入 (题目要求 1 & 2.1-2.2)

首先,我们要打好地基,配置设备名并划分 VLAN。

1. 设备命名 (所有设备)

进入每个设备,配置 Hostname。

Bash

Router> enable
Router# conf t
Router(config)# hostname SW1-zhangsan  ! 请按图示修改 R0, R1, SW2 等名称

2. 配置二层接入交换机 SW21 和 SW22

我们需要创建 VLAN,并将端口划分进去,同时配置上联口为 Trunk。

  • SW21 配置:

Bash

SW21(config)# vlan 10
SW21(config-vlan)# exit
SW21(config)# vlan 20
SW21(config-vlan)# exit
! 配置 VLAN 10 接口
SW21(config)# interface range fa0/6-10, fa0/22
SW21(config-if-range)# switchport mode access
SW21(config-if-range)# switchport access vlan 10
SW21(config-if-range)# exit
! 配置 VLAN 20 接口 (左侧似乎只用到了VLAN10和20,题目说VLAN20包含11-21,23)
SW21(config)# interface range fa0/11-21, fa0/23
SW21(config-if-range)# switchport mode access
SW21(config-if-range)# switchport access vlan 20
SW21(config-if-range)# exit
! 配置上联口 (假设连接 SW1 的是 fa0/1)
SW21(config)# interface fa0/1
SW21(config-if)# switchport mode trunk
  • SW22 配置:

Bash

! 创建 VLAN
SW22(config)# vlan 20
SW22(config)# vlan 30
! 配置 VLAN 20 接口
SW22(config)# interface range fa0/11-21, fa0/23
SW22(config-if-range)# switchport mode access
SW22(config-if-range)# switchport access vlan 20
! 配置 VLAN 30 接口 (IoT风扇)
SW22(config)# interface range fa0/6-10, fa0/24
SW22(config-if-range)# switchport mode access
SW22(config-if-range)# switchport access vlan 30
! 配置上联口 trunk
SW22(config)# interface fa0/1
SW22(config-if)# switchport mode trunk

模块二:核心交换与 DHCP 服务 (题目要求 2.3 – 2.4)

SW1 是左侧网络的核心,它承担网关角色。

1. SW1 三层交换配置

重要: 三层交换机必须开启路由功能!

Bash

SW1(config)# ip routing  ! 开启路由功能,非常重要!
SW1(config)# vlan 10
SW1(config)# vlan 20
SW1(config)# vlan 30
! 配置 SVI (VLAN 接口) 作为网关
SW1(config)# interface vlan 10
SW1(config-if)# ip address 192.1.10.254 255.255.255.0
SW1(config-if)# no shutdown
SW1(config)# interface vlan 20
SW1(config-if)# ip address 192.1.20.254 255.255.255.0
SW1(config)# interface vlan 30
SW1(config-if)# ip address 192.1.30.254 255.255.255.0
! 配置连接下层交换机的接口为 Trunk (假设 fa0/1 连接 SW21, fa0/2 连接 SW22)
SW1(config)# interface range fa0/1 - 2
SW1(config-if-range)# switchport trunk encapsulation dot1q
SW1(config-if-range)# switchport mode trunk

2. 配置 DHCP 服务

排除地址段,并建立地址池。

Bash

! 排除地址 (注意:Packet Tracer 中通常先配排除)
SW1(config)# ip dhcp excluded-address 192.1.10.240 192.1.10.254
SW1(config)# ip dhcp excluded-address 192.1.20.240 192.1.20.254
SW1(config)# ip dhcp excluded-address 192.1.30.240 192.1.30.254

! 配置 VLAN 10 地址池
SW1(config)# ip dhcp pool VLAN10
SW1(dhcp-config)# network 192.1.10.0 255.255.255.0
SW1(dhcp-config)# default-router 192.1.10.254
SW1(dhcp-config)# dns-server 200.1.2.241  ! 假设 DNS 服务器IP,后续需对应

! 配置 VLAN 20 地址池
SW1(config)# ip dhcp pool VLAN20
SW1(dhcp-config)# network 192.1.20.0 255.255.255.0
SW1(dhcp-config)# default-router 192.1.20.254
SW1(dhcp-config)# dns-server 200.1.2.241

! 配置 VLAN 30 地址池
SW1(config)# ip dhcp pool VLAN30
SW1(dhcp-config)# network 192.1.30.0 255.255.255.0
SW1(dhcp-config)# default-router 192.1.30.254

验证:此时 PC1, PC2, PC3 应设置为 DHCP 模式,并能获取到 IP 地址。


模块三:右侧服务器群与骨干链路 (题目要求 3)

1. 配置 SW23 (二层)

Bash

SW23(config)# vlan 2
SW23(config)# interface range fa0/1 - 10 ! 假设服务器接在这里
SW23(config-if-range)# switchport mode access
SW23(config-if-range)# switchport access vlan 2
SW23(config)# interface fa0/24 ! 上联 SW2
SW23(config-if)# switchport mode trunk

2. 配置 SW2 (三层)

Bash

SW2(config)# ip routing
SW2(config)# vlan 2
SW2(config)# interface vlan 2
SW2(config-if)# ip address 200.1.2.254 255.255.255.240 ! 注意题目是 /28 掩码 (255.255.255.240)
SW2(config-if)# no shutdown
! 连接 SW23 的接口
SW2(config)# interface fa0/24
SW2(config-if)# switchport trunk encapsulation dot1q
SW2(config-if)# switchport mode trunk

3. 配置三层路由端口 (骨干连接)

题目要求 SW2 启用三层路由端口(No Switchport)连接 R1。我们需要配置 SW1, R1, SW2 之间的互联地址。

  • SW1 连接 R0 (左): (100.1.100.0/30) -> SW1 IP: .2, R0 IP: .1
  • SW1 连接 R1 (右): (172.1.10.0/30) -> SW1 IP: .1, R1 IP: .2
  • R1 连接 SW2 (右): (172.1.20.0/30) -> R1 IP: .1, SW2 IP: .2

SW1 配置:

Bash

! 连接 R0 的接口 (假设 Fa0/23)
SW1(config)# interface fa0/23
SW1(config-if)# no switchport   ! 变为三层口
SW1(config-if)# ip address 100.1.100.2 255.255.255.252
! 连接 R1 的接口 (假设 Fa0/24)
SW1(config)# interface fa0/24
SW1(config-if)# no switchport
SW1(config-if)# ip address 172.1.10.1 255.255.255.252

R1 配置:

Bash

R1(config)# interface gig0/0 ! 假设连接 SW1
R1(config-if)# ip address 172.1.10.2 255.255.255.252
R1(config-if)# no shutdown
R1(config)# interface gig0/1 ! 假设连接 SW2
R1(config-if)# ip address 172.1.20.1 255.255.255.252
R1(config-if)# no shutdown

SW2 配置:

Bash

! 连接 R1 的接口 (假设 Fa0/23) - 题目要求 3.3
SW2(config)# interface fa0/23
SW2(config-if)# no switchport
SW2(config-if)# ip address 172.1.20.2 255.255.255.252

R0 配置 (连接 SW1):

Bash

R0(config)# interface gig0/1 ! 假设连接 SW1
R0(config-if)# ip address 100.1.100.1 255.255.255.252
R0(config-if)# no shutdown

模块四:OSPF 全网通与远程管理 (题目要求 4)

我们将使用 OSPF 区域 0 实现互通。注意:不要在连接 PC0 的外网接口上启用 OSPF,或者将其设为被动接口。

1. R0 OSPF 配置

Bash

R0(config)# router ospf 1
R0(config-router)# network 100.1.100.0 0.0.0.3 area 0
R0(config-router)# network 200.200.200.0 0.0.0.3 area 0

2. SW1 OSPF 配置

SW1 需要宣告直连网段(包括 VLAN 网段)。

Bash

SW1(config)# router ospf 1
SW1(config-router)# network 192.1.10.0 0.0.0.255 area 0
SW1(config-router)# network 192.1.20.0 0.0.0.255 area 0
SW1(config-router)# network 192.1.30.0 0.0.0.255 area 0
SW1(config-router)# network 100.1.100.0 0.0.0.3 area 0
SW1(config-router)# network 172.1.10.0 0.0.0.3 area 0

3. R1 OSPF 与 远程登录配置

Bash

! Loopback 接口
R1(config)# interface loopback 0
R1(config-if)# ip address 4.4.4.4 255.255.255.0
! OSPF
R1(config)# router ospf 1
R1(config-router)# network 172.1.10.0 0.0.0.3 area 0
R1(config-router)# network 172.1.20.0 0.0.0.3 area 0
R1(config-router)# network 4.4.4.0 0.0.0.255 area 0
! Telnet 配置
R1(config)# enable secret cisco ! 必须配特权密码
R1(config)# line vty 0 4
R1(config-line)# password cisco
R1(config-line)# login

4. SW2 OSPF 配置

Bash

SW2(config)# router ospf 1
SW2(config-router)# network 172.1.20.0 0.0.0.3 area 0
SW2(config-router)# network 200.1.2.0 0.0.0.255 area 0

验证:此时,内网 PC 应能 Ping 通右侧网关 200.1.2.254。


模块五:服务器配置 (题目要求 5)

此部分主要在 Packet Tracer 的“Config”或“Services”选项卡中进行,而非命令行。

  1. 静态 IP 配置
    • DNS Server: IP 200.1.2.241, Mask 255.255.255.240, Gateway 200.1.2.254
    • WWW Server: IP 200.1.2.242, Mask 255.255.255.240, Gateway 200.1.2.254, DNS 200.1.2.1
    • IoT Server: IP 200.1.2.243, Mask 255.255.255.240, Gateway 200.1.2.254
  2. WWW 服务
    • 点击 WWW Server -> Services -> HTTP。修改 index.html,内容改为 Welcome to 223350zhangsan’s web!
  3. DNS 服务
    • 点击 DNS Server -> Services -> DNS -> On。
    • 添加记录:Name: www.zs.com (你的缩写), Type: A Record, Address: 200.1.2.242 (WWW Server IP)。
  4. IoT 服务
    • Server 端: 点击 IOT Server -> Services -> IoT -> On (Enable)。
    • 风扇 (IoT0): 点击风扇 -> Config -> Settings -> Gateway (192.1.30.254), DNS (200.1.2.1)。
    • 风扇 IoT Config: 选择 “Remote Server”。Server Address 填 200.1.2.243,用户名/密码自行创建(如 admin/admin)并点击 Connect。连接成功后会显示 “Refresh”。
    • PC1 控制: PC1 需要打开 Web 浏览器,输入 IoT Server IP,登录后即可控制。

模块六:网络优化与安全 NAT/ACL (题目要求 6)

这是最难的一步。我们需要在边界(R0)做 NAT,并在 SW1 或 SW2 做 ACL。

1. 访问控制列表 (ACL) – 拒绝 VLAN 10 访问 WWW

我们在核心交换机 SW1 上做,并在 VLAN 10 的入口方向应用。WWW 服务 IP 为 200.1.2.2。

Bash

SW1(config)# access-list 100 deny tcp 192.1.10.0 0.0.0.255 host 200.1.2.2 eq www
SW1(config)# access-list 100 permit ip any any
! 应用到 VLAN 10 SVI 接口
SW1(config)# interface vlan 10
SW1(config-if)# ip access-group 100 in

2. 配置 NAT (内网访问外网)

题目要求 VLAN 10/20 可以上网。这需要在 R0 上配置,假设 R0 左侧连接 PC0 的接口为 gig0/0 (外网口),右侧连接 SW1 为 gig0/1 (内网口)。

注意:R0 还需要一条去往外网的默认路由。

Bash

! R0 默认路由指向 PC0 网关 (题目图示 PC0 IP 200.200.200.2, 网关 200.200.200.254,这里有点反常,通常路由器是网关。我们假设 R0 连接 ISP,ISP 对端是 .254,R0 接口是 .2,或者 R0 是 .254,PC0 是 .2。根据图示文字 "GW: 200.200.200.254",PC0 指向 R0,所以 R0 外网口是 .254)

! 配置 NAT 接口
R0(config)# interface gig0/0  ! 外网口
R0(config-if)# ip address 200.200.200.254 255.255.255.0
R0(config-if)# ip nat outside
R0(config)# interface gig0/1  ! 内网口
R0(config-if)# ip nat inside

! 定义允许 NAT 的流量 (VLAN 10 和 20)
R0(config)# access-list 1 permit 192.1.10.0 0.0.0.255
R0(config)# access-list 1 permit 192.1.20.0 0.0.0.255

! 配置 PAT (端口复用)
R0(config)# ip nat inside source list 1 interface gig0/0 overload

3. 映射内网 Server 到公网 (Static NAT)

题目要求映射 Server 的 Web 服务到公网。假设我们将 WWW Server (200.1.2.2) 映射到 R0 外网口的一个特定端口(例如 80)或直接映射 IP。由于 R0 外网口只有一个 IP,通常使用端口映射。

Bash

! 将公网口 200.200.200.254 的 80 端口映射到内部 200.1.2.2 的 80 端口
R0(config)# ip nat inside source static tcp 200.1.2.2 80 200.200.200.254 80

注意:如果 Packet Tracer 报错不支持接口重载映射,你可能需要配置一个 IP 地址池或使用 distinct IP,但通常 80 端口映射是支持的。


最后一步:思科之王给你的建议

  1. 保存配置:在所有设备上执行 copy run startwr
  2. Ping 测试
    • PC2 (VLAN 20) 应该能 Ping 通 www.zs.com (200.1.2.2)。
    • PC1 (VLAN 10) 应该无法打开 www.zs.com 的网页 (ACL生效),但可能可以 Ping 通 (如果只封了 TCP 80)。
    • PC3 应该能通过 DNS 域名访问 Web。
  3. 排错:如果 ping 不通,首先检查 show ip route 看是否有路由条目,其次检查 show ip interface brief 确认接口是否 up/up

现在,去征服这个拓扑吧!如果遇到具体的报错信息,请随时告诉我。

文章 期末 由 Axeuh 撰写
上一篇
下一篇