【网络基础进阶】:看懂子网划分与 VLAN
网络基础进阶:看懂子网划分与 VLAN
网络学习系列 · 第二篇
上一篇我们认识了 IP、网关、DNS、端口和基本排障方法。这一篇继续解决两个常见问题:为什么同一网段的设备通常可以直接通信?为什么有些设备接在同一台交换机上却不能互相访问?
学完本文后,你应该能够:
- 看懂
192.168.10.0/24这类网段表示方法; - 判断两个 IP 是否处于同一子网;
- 计算常见子网的地址范围和可用主机数;
- 理解 VLAN、Access 口和 Trunk 口;
- 看懂 PVE、交换机及企业网络中的基本 VLAN 配置;
- 按顺序排查跨 VLAN 通信故障。
目录
- 什么是子网
- 看懂 CIDR 和子网掩码
- 判断两个 IP 是否属于同一子网
- 子网如何划分
- 什么是 VLAN
- Access 口和 Trunk 口
- VLAN 之间如何通信
- PVE 中的 VLAN
- 常见故障排查
- 动手实验与学习计划
1. 什么是子网
子网可以理解为一个独立的网络区域。同一子网内的设备通常可以直接通信;前往其他子网时,则需要把数据交给网关转发。
例如,下面三台设备处于 192.168.10.0/24 子网:
电脑 A:192.168.10.11/24
电脑 B:192.168.10.12/24
服务器:192.168.10.100/24
网关: 192.168.10.1/24
它们之间可以通过交换机直接通信。如果电脑 A 要访问 192.168.20.100,目标不在同一子网,电脑 A 就会把数据发送给默认网关。
**核心规则:**同一子网内直接通信,不同子网之间需要经过三层设备,例如路由器、三层交换机或防火墙。
2. 看懂 CIDR 和子网掩码
2.1 /24 是什么意思
IP 地址由 32 个二进制位组成。/24 表示前 24 位是网络部分,剩余 8 位用于表示主机。
IP 地址:192.168.10.25/24
网络部分:192.168.10
主机部分:25
/24 对应的子网掩码是:
255.255.255.0
2.2 常见掩码速查表
| CIDR | 子网掩码 | 地址总数 | 通常可用主机数 |
|---|---|---|---|
/8 | 255.0.0.0 | 16,777,216 | 16,777,214 |
/16 | 255.255.0.0 | 65,536 | 65,534 |
/24 | 255.255.255.0 | 256 | 254 |
/25 | 255.255.255.128 | 128 | 126 |
/26 | 255.255.255.192 | 64 | 62 |
/27 | 255.255.255.224 | 32 | 30 |
/28 | 255.255.255.240 | 16 | 14 |
/29 | 255.255.255.248 | 8 | 6 |
/30 | 255.255.255.252 | 4 | 2 |
通常可用主机数的计算方法为:
可用主机数 = 2^(32 - 掩码位数) - 2
减去的两个地址分别是网络地址和广播地址。
/31、/32有特殊用途,不应直接套用上述普通主机网段公式。
3. 判断两个 IP 是否属于同一子网
示例一:同一子网
192.168.10.20/24
192.168.10.88/24
两者的网络地址都是 192.168.10.0,因此处于同一子网。
示例二:不同子网
192.168.10.20/24
192.168.20.88/24
网络地址分别为 192.168.10.0 和 192.168.20.0,必须经过网关才能通信。
示例三:IP 很像,但不一定是同一子网
192.168.10.20/27
192.168.10.50/27
/27 每个子网包含 32 个地址:
第一个子网:192.168.10.0 ~ 192.168.10.31
第二个子网:192.168.10.32 ~ 192.168.10.63
所以 .20 和 .50 虽然前三段相同,却属于两个不同子网。
使用命令辅助计算
Linux 安装了 ipcalc 后,可以执行:
ipcalc 192.168.10.20/27
也可以使用可信的子网计算器进行验证,但应先学会判断常见的 /24、/25、/26 和 /27。
4. 子网如何划分
假设公司获得了一个网段:
192.168.10.0/24
现在需要划分给四个部门,每个部门最多约 50 台设备。可以将 /24 划分成四个 /26 子网:
| 部门 | 网段 | 可用地址 | 广播地址 |
|---|---|---|---|
| 技术部 | 192.168.10.0/26 | .1 ~ .62 | .63 |
| 财务部 | 192.168.10.64/26 | .65 ~ .126 | .127 |
| 客服部 | 192.168.10.128/26 | .129 ~ .190 | .191 |
| 测试部 | 192.168.10.192/26 | .193 ~ .254 | .255 |
划分子网的意义包括:
- 控制广播范围;
- 隔离不同业务或部门;
- 方便设置访问策略;
- 提高地址规划和故障定位效率。
5. 什么是 VLAN
VLAN 是 Virtual Local Area Network 的缩写,即虚拟局域网。它可以在同一套物理交换网络上划分多个相互隔离的二层网络。
假设技术部和财务部的电脑都接在同一台交换机上:
- 技术部端口加入 VLAN 10;
- 财务部端口加入 VLAN 20;
- 两个 VLAN 默认不能直接进行二层通信。
VLAN 的主要作用:
- 进行网络隔离;
- 减少广播影响;
- 按部门、业务或安全级别划分网络;
- 不受设备实际位置限制,方便统一规划。
**子网与 VLAN 不是同一个概念:**子网属于三层 IP 规划,VLAN 属于二层网络隔离。实际工作中通常让一个 VLAN 对应一个 IP 子网。
例如:
VLAN 10 → 192.168.10.0/24
VLAN 20 → 192.168.20.0/24
VLAN 30 → 192.168.30.0/24
6. Access 口和 Trunk 口
6.1 Access 口
Access 口通常连接电脑、打印机、物理服务器等终端设备。一个 Access 口一般只属于一个 VLAN。
交换机 1 号口:Access VLAN 10 → 技术部电脑
交换机 2 号口:Access VLAN 20 → 财务部电脑
终端设备通常不需要知道 VLAN 标签,交换机会替它完成处理。
6.2 Trunk 口
Trunk 口可以承载多个 VLAN,通常用于连接:
- 两台交换机;
- 交换机与路由器;
- 交换机与防火墙;
- 交换机与 PVE、VMware 等虚拟化宿主机。
Trunk 链路通过 802.1Q 标签区分不同 VLAN 的数据。
容易混淆的地方
| 类型 | 一般连接对象 | 承载 VLAN | 数据是否通常带标签 |
|---|---|---|---|
| Access | 电脑、打印机、普通服务器 | 1 个 | 终端看到的通常不带标签 |
| Trunk | 交换机、路由器、防火墙、虚拟化宿主机 | 多个 | 通常携带 802.1Q 标签 |
7. VLAN 之间如何通信
VLAN 10 和 VLAN 20 属于不同的二层广播域,默认不能直接通信。它们要互相访问,必须经过三层设备进行路由。
此时三层设备还可以配置访问控制策略,例如:
允许技术部访问财务系统的 TCP 443
禁止技术部直接访问财务数据库的 TCP 3306
允许运维网段通过 SSH 管理所有服务器
因此,VLAN 不只是为了“分开”,更重要的是让访问关系变得可控制。
8. PVE 中的 VLAN
在 PVE 中,虚拟机通过 Linux Bridge 接入物理网络。常见结构如下:
要让这种配置正常工作,通常需要同时满足:
- PVE 网桥启用了 VLAN aware;
- 虚拟机网卡填写了正确的 VLAN Tag;
- PVE 物理网卡连接的交换机端口配置为 Trunk;
- Trunk 允许对应 VLAN 通过;
- 对应 VLAN 中存在正确的网关或 DHCP 服务;
- 防火墙没有拦截需要的通信。
示例
虚拟机 A:VLAN Tag 10,IP 192.168.10.20/24,网关 192.168.10.1
虚拟机 B:VLAN Tag 20,IP 192.168.20.20/24,网关 192.168.20.1
如果虚拟机填写了 VLAN 10,但交换机 Trunk 没有放行 VLAN 10,这台虚拟机通常无法正常访问网关。
修改生产环境的 PVE 或交换机 VLAN 配置前,应确认管理网络所在 VLAN,避免错误配置导致宿主机失联。
9. 常见故障排查
9.1 同一 VLAN 内无法通信
按以下顺序检查:
- 网卡、网线和交换机端口是否正常;
- 两台设备的 IP 和子网掩码是否正确;
- 交换机端口是否加入同一个 VLAN;
- 是否存在 IP 地址冲突;
- 主机防火墙是否拦截 ICMP 或目标端口;
- 使用 ARP 表确认是否学到了对方 MAC 地址。
Windows:
ipconfig /all
arp -a
ping 192.168.10.20
Linux:
ip addr
ip neigh
ping -c 4 192.168.10.20
9.2 同一 VLAN 能通信,跨 VLAN 不通
重点检查:
- 默认网关是否填写正确;
- 三层设备上是否创建对应 VLAN 接口;
- 三层路由是否存在;
- 防火墙或 ACL 是否禁止访问;
- 返回方向是否有正确路由。
9.3 虚拟机配置 VLAN 后无法联网
重点检查:
- 虚拟机 VLAN Tag 是否正确;
- PVE 网桥是否开启 VLAN aware;
- 交换机端口是不是 Trunk;
- Trunk 是否允许该 VLAN;
- 虚拟机 IP、掩码和网关是否属于同一规划;
- PVE 防火墙、虚拟机防火墙是否放行流量。
9.4 排障流程图
10. 动手实验与学习计划
实验一:验证同一子网通信
准备两台虚拟机:
虚拟机 A:192.168.10.11/24
虚拟机 B:192.168.10.12/24
确认两者在同一虚拟交换机或网桥,然后互相执行 ping。
实验二:制造掩码错误
将虚拟机 B 的地址临时修改为:
192.168.10.130/25
观察它与 192.168.10.11/25 的通信情况,并计算两台设备分别属于哪个 /25 子网。实验完成后恢复原配置。
实验三:划分两个 VLAN
在测试环境中规划:
VLAN 10:192.168.10.0/24
VLAN 20:192.168.20.0/24
分别创建两台虚拟机并验证:
- 相同 VLAN 的设备能否通信;
- 不同 VLAN 的设备在没有网关时能否通信;
- 配置三层网关后是否可以跨 VLAN 通信;
- 添加防火墙规则后,能否只允许指定端口通过。
课后自测
1. 192.168.1.10/24 和 192.168.1.200/24 是同一子网吗?
是。两者的网络地址都是 192.168.1.0/24。
2. 192.168.1.10/25 和 192.168.1.200/25 是同一子网吗?
不是。前者属于 192.168.1.0/25,后者属于 192.168.1.128/25。
3. VLAN 10 和 VLAN 20 默认能直接通信吗?
不能。它们需要经过路由器、三层交换机或防火墙进行三层转发。
4. PVE 连接交换机的端口为什么通常需要配置为 Trunk?
因为一台 PVE 宿主机中的多台虚拟机可能属于不同 VLAN,需要通过同一个物理端口传输多个带有不同 VLAN 标签的数据流。
5. 设备能 ping 通网关,但不能访问另一个 VLAN,应先检查什么?
先检查三层路由、防火墙或 ACL,以及目标网络的返回路由。
本篇总结
子网:决定 IP 地址是否属于同一个三层网络
VLAN:在交换网络中实现二层隔离
Access:通常只承载一个 VLAN,连接普通终端
Trunk:可以承载多个 VLAN,连接网络设备或虚拟化宿主机
跨 VLAN:必须经过三层设备,并受路由和安全策略控制
学习时不要只记定义。建议在 PVE 或其他虚拟化环境中搭建两个 VLAN,亲自观察“同 VLAN 能通信、跨 VLAN 需要网关、策略可以限制端口”的完整过程。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)