网络基础进阶:看懂子网划分与 VLAN

网络学习系列 · 第二篇

上一篇我们认识了 IP、网关、DNS、端口和基本排障方法。这一篇继续解决两个常见问题:为什么同一网段的设备通常可以直接通信?为什么有些设备接在同一台交换机上却不能互相访问?

学完本文后,你应该能够:

  • 看懂 192.168.10.0/24 这类网段表示方法;
  • 判断两个 IP 是否处于同一子网;
  • 计算常见子网的地址范围和可用主机数;
  • 理解 VLAN、Access 口和 Trunk 口;
  • 看懂 PVE、交换机及企业网络中的基本 VLAN 配置;
  • 按顺序排查跨 VLAN 通信故障。

目录

  1. 什么是子网
  2. 看懂 CIDR 和子网掩码
  3. 判断两个 IP 是否属于同一子网
  4. 子网如何划分
  5. 什么是 VLAN
  6. Access 口和 Trunk 口
  7. VLAN 之间如何通信
  8. PVE 中的 VLAN
  9. 常见故障排查
  10. 动手实验与学习计划

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 就会把数据发送给默认网关。

子网 B:192.168.20.0/24

子网 A:192.168.10.0/24

电脑 A
192.168.10.11

服务器 A
192.168.10.100

三层网关/路由器
192.168.10.1
192.168.20.1

电脑 B
192.168.20.11

服务器 B
192.168.20.100

**核心规则:**同一子网内直接通信,不同子网之间需要经过三层设备,例如路由器、三层交换机或防火墙。

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

192

168

10

25

网络位 8

网络位 8

网络位 8

主机位 8

2.2 常见掩码速查表

CIDR子网掩码地址总数通常可用主机数
/8255.0.0.016,777,21616,777,214
/16255.255.0.065,53665,534
/24255.255.255.0256254
/25255.255.255.128128126
/26255.255.255.1926462
/27255.255.255.2243230
/28255.255.255.2401614
/29255.255.255.24886
/30255.255.255.25242

通常可用主机数的计算方法为:

可用主机数 = 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.0192.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 虽然前三段相同,却属于两个不同子网。

192.168.10.32/27

网络地址 .32

可用地址 .33 ~ .62

广播地址 .63

192.168.10.0/27

网络地址 .0

可用地址 .1 ~ .30

广播地址 .31

使用命令辅助计算

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

原网段
192.168.10.0/24
256 个地址

技术部
192.168.10.0/26

财务部
192.168.10.64/26

客服部
192.168.10.128/26

测试部
192.168.10.192/26

划分子网的意义包括:

  • 控制广播范围;
  • 隔离不同业务或部门;
  • 方便设置访问策略;
  • 提高地址规划和故障定位效率。

5. 什么是 VLAN

VLAN 是 Virtual Local Area Network 的缩写,即虚拟局域网。它可以在同一套物理交换网络上划分多个相互隔离的二层网络。

假设技术部和财务部的电脑都接在同一台交换机上:

  • 技术部端口加入 VLAN 10;
  • 财务部端口加入 VLAN 20;
  • 两个 VLAN 默认不能直接进行二层通信。

VLAN 20:财务部

VLAN 10:技术部

同一台物理交换机

电脑 A

电脑 B

电脑 C

电脑 D

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:允许 VLAN 10、20

技术部电脑
Access VLAN 10

交换机 A

财务部电脑
Access VLAN 20

交换机 B

技术部服务器
Access VLAN 10

财务部服务器
Access VLAN 20

Trunk 链路通过 802.1Q 标签区分不同 VLAN 的数据。

容易混淆的地方

类型一般连接对象承载 VLAN数据是否通常带标签
Access电脑、打印机、普通服务器1 个终端看到的通常不带标签
Trunk交换机、路由器、防火墙、虚拟化宿主机多个通常携带 802.1Q 标签

7. VLAN 之间如何通信

VLAN 10 和 VLAN 20 属于不同的二层广播域,默认不能直接通信。它们要互相访问,必须经过三层设备进行路由。

技术部电脑
VLAN 10
192.168.10.20

交换机

三层交换机/路由器/防火墙
VLAN 10 网关:192.168.10.1
VLAN 20 网关:192.168.20.1

财务服务器
VLAN 20
192.168.20.100

此时三层设备还可以配置访问控制策略,例如:

允许技术部访问财务系统的 TCP 443
禁止技术部直接访问财务数据库的 TCP 3306
允许运维网段通过 SSH 管理所有服务器

因此,VLAN 不只是为了“分开”,更重要的是让访问关系变得可控制。

8. PVE 中的 VLAN

在 PVE 中,虚拟机通过 Linux Bridge 接入物理网络。常见结构如下:

Trunk:允许 VLAN 10、20

虚拟机 A
VLAN Tag 10

vmbr0
VLAN aware

虚拟机 B
VLAN Tag 20

物理网卡 eno1

物理交换机

要让这种配置正常工作,通常需要同时满足:

  1. PVE 网桥启用了 VLAN aware;
  2. 虚拟机网卡填写了正确的 VLAN Tag;
  3. PVE 物理网卡连接的交换机端口配置为 Trunk;
  4. Trunk 允许对应 VLAN 通过;
  5. 对应 VLAN 中存在正确的网关或 DHCP 服务;
  6. 防火墙没有拦截需要的通信。

示例

虚拟机 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 内无法通信

按以下顺序检查:

  1. 网卡、网线和交换机端口是否正常;
  2. 两台设备的 IP 和子网掩码是否正确;
  3. 交换机端口是否加入同一个 VLAN;
  4. 是否存在 IP 地址冲突;
  5. 主机防火墙是否拦截 ICMP 或目标端口;
  6. 使用 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 排障流程图

设备无法联网

能 ping 通本 VLAN 网关吗?

检查网卡、IP、掩码、Access/Trunk 和 VLAN Tag

能 ping 通目标 IP 吗?

检查跨 VLAN 路由、防火墙、ACL 和返回路由

目标端口能连接吗?

检查安全组、防火墙和服务监听

检查 DNS、证书、应用配置和日志

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

分别创建两台虚拟机并验证:

  1. 相同 VLAN 的设备能否通信;
  2. 不同 VLAN 的设备在没有网关时能否通信;
  3. 配置三层网关后是否可以跨 VLAN 通信;
  4. 添加防火墙规则后,能否只允许指定端口通过。

课后自测

1. 192.168.1.10/24192.168.1.200/24 是同一子网吗?

是。两者的网络地址都是 192.168.1.0/24

2. 192.168.1.10/25192.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 需要网关、策略可以限制端口”的完整过程。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐