运维笔记

CCNA 200-301 子网速查表与排错命令:别再死记硬背了,用这些 CLI 命令现场算

Networking 技术可视化

兄弟们,最近 Reddit 上 r/ccna 版又炸了。有人发帖说“One thing about the CCNA that you should consider”,底下几百号人疯狂吐槽——考纲覆盖太广,IPv4 子网划分、QoS DSCP 值、802.3 标准,全得背。最惨的是,你根本不知道考试会出几道子网题。

我当年考 CCNA 200-301 的时候,最烦的就是子网计算。不是不会,是慢。考试时间就那么点,你还在纸上画二进制,别人已经用 CLI 排完错了。

今天这篇,我不跟你扯理论。直接上干货:一张能直接复制粘贴的子网速查表,外加真实路由器上能用的排错命令。看完你就能在 10 秒内算出任何子网,而且再也不会在 show ip route 面前懵逼。

先上速查表:CIDR、子网掩码、通配符、主机数

这张表是我当年打印出来贴在显示器边上的。CCNA 考试不让带,但你背熟了,考试就是送分题。

CIDR子网掩码通配符掩码可用主机数每个子网块大小
/30255.255.255.2520.0.0.324
/29255.255.255.2480.0.0.768
/28255.255.255.2400.0.0.151416
/27255.255.255.2240.0.0.313032
/26255.255.255.1920.0.0.636264
/25255.255.255.1280.0.0.127126128
/24255.255.255.00.0.0.255254256
/23255.255.254.00.0.1.255510512
/22255.255.252.00.0.3.25510221024
/21255.255.248.00.0.7.25520462048
/20255.255.240.00.0.15.25540944096
/19255.255.224.00.0.31.25581908192
/18255.255.192.00.0.63.2551638216384
/17255.255.128.00.0.127.2553276632768
/16255.255.0.00.0.255.2556553465536

怎么用这张表?
给你一个 IP 192.168.1.55/27,你不需要算。看表:/27 的块大小是 32。55 落在 32-63 这个区间。所以网络地址是 192.168.1.32,广播地址是 192.168.1.63,可用主机是 33-62。10 秒搞定。

排错命令:别再只会 ping 了

上周我们生产环境出过一次事故。新来的同事配了个 /29 的子网,结果网关地址配成了广播地址。整个段全炸了。他用 ping 测了半小时没发现问题,最后我过去一条命令就定位了。

1. show ip interface brief —— 看接口状态

Router# show ip interface brief
Interface          IP-Address      OK? Method Status                Protocol
GigabitEthernet0/0 192.168.1.33    YES manual up                    up
GigabitEthernet0/1 192.168.1.65    YES manual up                    up

这条命令告诉你接口是不是 up/up。如果 Protocol 是 down,别急着看 IP,先查物理层。我见过太多人 Protocol down 了还在算子网,浪费时间。

2. show ip route —— 看路由表

Router# show ip route
Codes: C - connected, S - static, O - OSPF, B - BGP
C    192.168.1.32/27 is directly connected, GigabitEthernet0/0
C    192.168.1.64/27 is directly connected, GigabitEthernet0/1

这里能直接看到你配的子网对不对。如果显示的是 /27 但你想的是 /28,那就是配置错了。这是最容易被忽略的排错步骤——很多人只盯着 IP 地址,忘了检查前缀长度。

3. show ip protocols —— 看路由协议

Router# show ip protocols
Routing Protocol is "ospf 1"
  Router ID 1.1.1.1
  Number of areas in this router is 1. 1 normal 0 stub 0 nssa
  Maximum path: 4
  Routing for Networks:
    192.168.1.32/27
    192.168.1.64/27

OSPF 邻居起不来?看看这里宣告的网络对不对。我见过最离谱的案例:有人把 192.168.1.0/24 宣告进了 OSPF,但接口配的是 /27,结果邻居死活起不来。

4. pingtraceroute —— 基础连通性验证

Router# ping 192.168.1.34
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.34, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5)
Router# traceroute 10.0.0.1
Type escape sequence to abort.
Tracing the route to 10.0.0.1
  1 192.168.1.33 1 msec 0 msec 1 msec
  2 10.0.0.1 2 msec 2 msec 1 msec

ping 通了不代表路由没问题。traceroute 能告诉你路径对不对。有一次我们核心交换机到分支的路径多跳了一跳,就是 traceroute 抓出来的。

5. show ip arp —— 看 ARP 表

Router# show ip arp
Protocol  Address          Age (min)  Hardware Addr   Type   Interface
Internet  192.168.1.33            -   aabb.cc00.0100  ARPA   GigabitEthernet0/0
Internet  192.168.1.34          12   aabb.cc00.0200  ARPA   GigabitEthernet0/0

ARP 表能告诉你 IP 和 MAC 的映射关系。如果 ping 不通但 ARP 里有记录,说明二层是通的,问题出在三层。如果 ARP 里没有记录,那可能是子网掩码配错了——主机认为目标不在同一网段,所以不发 ARP 请求。

真实案例:一个 /27 引发的血案

上个月我们给一个新办公室做网络规划。需求是 30 个设备,我给了 192.168.1.32/27。结果现场工程师配成了 255.255.255.0(/24)。所有设备都能 ping 通网关,但无法访问公司内网 10.0.0.0/8。

分析过程:

  1. show ip route 一看,路由表里只有直连的 /24,没有到 10.0.0.0/8 的静态路由。
  2. 再查,发现 OSPF 邻居没起来。
  3. show ip ospf neighbor 显示邻居状态是 INIT。
  4. 最后发现:接口 IP 是 192.168.1.33/24,但对端路由器接口是 192.168.1.34/27——子网掩码不一致,OSPF 认为不在同一网段,不建立邻居。

解决方案: 把子网掩码改回 255.255.255.224(/27),OSPF 邻居秒起。

FAQ

Q: 子网划分时,可用主机数为什么总是减 2?

A: 因为网络地址和广播地址不能用。网络地址是主机位全 0,广播地址是主机位全 1。比如 192.168.1.32/27,32 是网络地址,63 是广播地址,33-62 才是可用主机。

Q: 通配符掩码和子网掩码有什么关系?

A: 通配符掩码 = 255.255.255.255 - 子网掩码。比如 /27 的子网掩码是 255.255.255.224,通配符就是 0.0.0.31。ACL 和 OSPF 里经常用到。

Q: show ip route 里看到两个相同网络但不同前缀长度,怎么选?

A: 最长前缀匹配原则。路由器会选掩码最长的那个。比如 192.168.1.0/24 和 192.168.1.32/27 同时存在,匹配 192.168.1.33 时会走 /27 的路由。

Q: 为什么我配了 /30 子网,但只有 2 个可用 IP?

A: /30 的块大小是 4,减去网络地址和广播地址,只剩 2 个可用。这是点对点链路的标配,不浪费 IP。

Q: CCNA 考试会考 VLSM 吗?

A: 必考。VLSM(可变长子网掩码)是 CCNA 200-301 的核心考点。你得学会在一个主类网络里划分不同大小的子网。比如把 192.168.1.0/24 分成一个 /27(30 个主机)、两个 /28(各 14 个主机)、一个 /30(2 个主机)。

最后说两句

子网划分这东西,说白了就是熟能生巧。你把速查表背下来,再在 Packet Tracer 或 GNS3 上练几遍,考试就是送分题。

排错命令也别死记。理解每条命令能告诉你什么信息,遇到问题自然知道该敲哪条。我见过太多人考试时把 show ip routeshow ip protocols 的输出搞混——这就是平时没在真机上练过的后果。

Reddit 上那个帖子里有人说:“你永远不知道考试会出多少子网题。” 但如果你准备好了,出多少都不怕。

下次再有人跟你说子网划分难,你就把这篇甩给他。