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

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

网络学习系列 · 第二篇

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

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

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

目录

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

1. 什么是子网

子网可以理解为一个独立的网络区域。同一子网内的设备通常可以直接通信;前往其他子网时,则需要把数据交给网关转发。

例如,下面三台设备处于 192.168.10.0/24 子网:

text 复制代码
电脑 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 就会把数据发送给默认网关。
#mermaid-svg-6FrYyx1agGSmEjqQ{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-6FrYyx1agGSmEjqQ .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-6FrYyx1agGSmEjqQ .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-6FrYyx1agGSmEjqQ .error-icon{fill:#552222;}#mermaid-svg-6FrYyx1agGSmEjqQ .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-6FrYyx1agGSmEjqQ .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-6FrYyx1agGSmEjqQ .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-6FrYyx1agGSmEjqQ .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-6FrYyx1agGSmEjqQ .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-6FrYyx1agGSmEjqQ .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-6FrYyx1agGSmEjqQ .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-6FrYyx1agGSmEjqQ .marker{fill:#333333;stroke:#333333;}#mermaid-svg-6FrYyx1agGSmEjqQ .marker.cross{stroke:#333333;}#mermaid-svg-6FrYyx1agGSmEjqQ svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-6FrYyx1agGSmEjqQ p{margin:0;}#mermaid-svg-6FrYyx1agGSmEjqQ .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-6FrYyx1agGSmEjqQ .cluster-label text{fill:#333;}#mermaid-svg-6FrYyx1agGSmEjqQ .cluster-label span{color:#333;}#mermaid-svg-6FrYyx1agGSmEjqQ .cluster-label span p{background-color:transparent;}#mermaid-svg-6FrYyx1agGSmEjqQ .label text,#mermaid-svg-6FrYyx1agGSmEjqQ span{fill:#333;color:#333;}#mermaid-svg-6FrYyx1agGSmEjqQ .node rect,#mermaid-svg-6FrYyx1agGSmEjqQ .node circle,#mermaid-svg-6FrYyx1agGSmEjqQ .node ellipse,#mermaid-svg-6FrYyx1agGSmEjqQ .node polygon,#mermaid-svg-6FrYyx1agGSmEjqQ .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-6FrYyx1agGSmEjqQ .rough-node .label text,#mermaid-svg-6FrYyx1agGSmEjqQ .node .label text,#mermaid-svg-6FrYyx1agGSmEjqQ .image-shape .label,#mermaid-svg-6FrYyx1agGSmEjqQ .icon-shape .label{text-anchor:middle;}#mermaid-svg-6FrYyx1agGSmEjqQ .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-6FrYyx1agGSmEjqQ .rough-node .label,#mermaid-svg-6FrYyx1agGSmEjqQ .node .label,#mermaid-svg-6FrYyx1agGSmEjqQ .image-shape .label,#mermaid-svg-6FrYyx1agGSmEjqQ .icon-shape .label{text-align:center;}#mermaid-svg-6FrYyx1agGSmEjqQ .node.clickable{cursor:pointer;}#mermaid-svg-6FrYyx1agGSmEjqQ .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-6FrYyx1agGSmEjqQ .arrowheadPath{fill:#333333;}#mermaid-svg-6FrYyx1agGSmEjqQ .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-6FrYyx1agGSmEjqQ .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-6FrYyx1agGSmEjqQ .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-6FrYyx1agGSmEjqQ .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-6FrYyx1agGSmEjqQ .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-6FrYyx1agGSmEjqQ .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-6FrYyx1agGSmEjqQ .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-6FrYyx1agGSmEjqQ .cluster text{fill:#333;}#mermaid-svg-6FrYyx1agGSmEjqQ .cluster span{color:#333;}#mermaid-svg-6FrYyx1agGSmEjqQ div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-6FrYyx1agGSmEjqQ .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-6FrYyx1agGSmEjqQ rect.text{fill:none;stroke-width:0;}#mermaid-svg-6FrYyx1agGSmEjqQ .icon-shape,#mermaid-svg-6FrYyx1agGSmEjqQ .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-6FrYyx1agGSmEjqQ .icon-shape p,#mermaid-svg-6FrYyx1agGSmEjqQ .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-6FrYyx1agGSmEjqQ .icon-shape .label rect,#mermaid-svg-6FrYyx1agGSmEjqQ .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-6FrYyx1agGSmEjqQ .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-6FrYyx1agGSmEjqQ .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-6FrYyx1agGSmEjqQ :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 子网 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 位用于表示主机。

text 复制代码
IP 地址:192.168.10.25/24
网络部分:192.168.10
主机部分:25

/24 对应的子网掩码是:

text 复制代码
255.255.255.0

#mermaid-svg-TeyAu1cazIt8u7UU{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-TeyAu1cazIt8u7UU .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-TeyAu1cazIt8u7UU .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-TeyAu1cazIt8u7UU .error-icon{fill:#552222;}#mermaid-svg-TeyAu1cazIt8u7UU .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-TeyAu1cazIt8u7UU .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-TeyAu1cazIt8u7UU .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-TeyAu1cazIt8u7UU .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-TeyAu1cazIt8u7UU .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-TeyAu1cazIt8u7UU .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-TeyAu1cazIt8u7UU .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-TeyAu1cazIt8u7UU .marker{fill:#333333;stroke:#333333;}#mermaid-svg-TeyAu1cazIt8u7UU .marker.cross{stroke:#333333;}#mermaid-svg-TeyAu1cazIt8u7UU svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-TeyAu1cazIt8u7UU p{margin:0;}#mermaid-svg-TeyAu1cazIt8u7UU .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-TeyAu1cazIt8u7UU .cluster-label text{fill:#333;}#mermaid-svg-TeyAu1cazIt8u7UU .cluster-label span{color:#333;}#mermaid-svg-TeyAu1cazIt8u7UU .cluster-label span p{background-color:transparent;}#mermaid-svg-TeyAu1cazIt8u7UU .label text,#mermaid-svg-TeyAu1cazIt8u7UU span{fill:#333;color:#333;}#mermaid-svg-TeyAu1cazIt8u7UU .node rect,#mermaid-svg-TeyAu1cazIt8u7UU .node circle,#mermaid-svg-TeyAu1cazIt8u7UU .node ellipse,#mermaid-svg-TeyAu1cazIt8u7UU .node polygon,#mermaid-svg-TeyAu1cazIt8u7UU .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-TeyAu1cazIt8u7UU .rough-node .label text,#mermaid-svg-TeyAu1cazIt8u7UU .node .label text,#mermaid-svg-TeyAu1cazIt8u7UU .image-shape .label,#mermaid-svg-TeyAu1cazIt8u7UU .icon-shape .label{text-anchor:middle;}#mermaid-svg-TeyAu1cazIt8u7UU .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-TeyAu1cazIt8u7UU .rough-node .label,#mermaid-svg-TeyAu1cazIt8u7UU .node .label,#mermaid-svg-TeyAu1cazIt8u7UU .image-shape .label,#mermaid-svg-TeyAu1cazIt8u7UU .icon-shape .label{text-align:center;}#mermaid-svg-TeyAu1cazIt8u7UU .node.clickable{cursor:pointer;}#mermaid-svg-TeyAu1cazIt8u7UU .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-TeyAu1cazIt8u7UU .arrowheadPath{fill:#333333;}#mermaid-svg-TeyAu1cazIt8u7UU .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-TeyAu1cazIt8u7UU .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-TeyAu1cazIt8u7UU .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-TeyAu1cazIt8u7UU .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-TeyAu1cazIt8u7UU .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-TeyAu1cazIt8u7UU .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-TeyAu1cazIt8u7UU .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-TeyAu1cazIt8u7UU .cluster text{fill:#333;}#mermaid-svg-TeyAu1cazIt8u7UU .cluster span{color:#333;}#mermaid-svg-TeyAu1cazIt8u7UU div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-TeyAu1cazIt8u7UU .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-TeyAu1cazIt8u7UU rect.text{fill:none;stroke-width:0;}#mermaid-svg-TeyAu1cazIt8u7UU .icon-shape,#mermaid-svg-TeyAu1cazIt8u7UU .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-TeyAu1cazIt8u7UU .icon-shape p,#mermaid-svg-TeyAu1cazIt8u7UU .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-TeyAu1cazIt8u7UU .icon-shape .label rect,#mermaid-svg-TeyAu1cazIt8u7UU .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-TeyAu1cazIt8u7UU .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-TeyAu1cazIt8u7UU .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-TeyAu1cazIt8u7UU :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 192
168
10
25
网络位 8
网络位 8
网络位 8
主机位 8

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

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

text 复制代码
可用主机数 = 2^(32 - 掩码位数) - 2

减去的两个地址分别是网络地址和广播地址。

/31/32 有特殊用途,不应直接套用上述普通主机网段公式。

3. 判断两个 IP 是否属于同一子网

示例一:同一子网

text 复制代码
192.168.10.20/24
192.168.10.88/24

两者的网络地址都是 192.168.10.0,因此处于同一子网。

示例二:不同子网

text 复制代码
192.168.10.20/24
192.168.20.88/24

网络地址分别为 192.168.10.0192.168.20.0,必须经过网关才能通信。

示例三:IP 很像,但不一定是同一子网

text 复制代码
192.168.10.20/27
192.168.10.50/27

/27 每个子网包含 32 个地址:

text 复制代码
第一个子网:192.168.10.0  ~ 192.168.10.31
第二个子网:192.168.10.32 ~ 192.168.10.63

所以 .20.50 虽然前三段相同,却属于两个不同子网。
#mermaid-svg-uiJjPUPQeLBkZzU1{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-uiJjPUPQeLBkZzU1 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-uiJjPUPQeLBkZzU1 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-uiJjPUPQeLBkZzU1 .error-icon{fill:#552222;}#mermaid-svg-uiJjPUPQeLBkZzU1 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-uiJjPUPQeLBkZzU1 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-uiJjPUPQeLBkZzU1 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-uiJjPUPQeLBkZzU1 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-uiJjPUPQeLBkZzU1 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-uiJjPUPQeLBkZzU1 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-uiJjPUPQeLBkZzU1 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-uiJjPUPQeLBkZzU1 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-uiJjPUPQeLBkZzU1 .marker.cross{stroke:#333333;}#mermaid-svg-uiJjPUPQeLBkZzU1 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-uiJjPUPQeLBkZzU1 p{margin:0;}#mermaid-svg-uiJjPUPQeLBkZzU1 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-uiJjPUPQeLBkZzU1 .cluster-label text{fill:#333;}#mermaid-svg-uiJjPUPQeLBkZzU1 .cluster-label span{color:#333;}#mermaid-svg-uiJjPUPQeLBkZzU1 .cluster-label span p{background-color:transparent;}#mermaid-svg-uiJjPUPQeLBkZzU1 .label text,#mermaid-svg-uiJjPUPQeLBkZzU1 span{fill:#333;color:#333;}#mermaid-svg-uiJjPUPQeLBkZzU1 .node rect,#mermaid-svg-uiJjPUPQeLBkZzU1 .node circle,#mermaid-svg-uiJjPUPQeLBkZzU1 .node ellipse,#mermaid-svg-uiJjPUPQeLBkZzU1 .node polygon,#mermaid-svg-uiJjPUPQeLBkZzU1 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-uiJjPUPQeLBkZzU1 .rough-node .label text,#mermaid-svg-uiJjPUPQeLBkZzU1 .node .label text,#mermaid-svg-uiJjPUPQeLBkZzU1 .image-shape .label,#mermaid-svg-uiJjPUPQeLBkZzU1 .icon-shape .label{text-anchor:middle;}#mermaid-svg-uiJjPUPQeLBkZzU1 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-uiJjPUPQeLBkZzU1 .rough-node .label,#mermaid-svg-uiJjPUPQeLBkZzU1 .node .label,#mermaid-svg-uiJjPUPQeLBkZzU1 .image-shape .label,#mermaid-svg-uiJjPUPQeLBkZzU1 .icon-shape .label{text-align:center;}#mermaid-svg-uiJjPUPQeLBkZzU1 .node.clickable{cursor:pointer;}#mermaid-svg-uiJjPUPQeLBkZzU1 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-uiJjPUPQeLBkZzU1 .arrowheadPath{fill:#333333;}#mermaid-svg-uiJjPUPQeLBkZzU1 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-uiJjPUPQeLBkZzU1 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-uiJjPUPQeLBkZzU1 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-uiJjPUPQeLBkZzU1 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-uiJjPUPQeLBkZzU1 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-uiJjPUPQeLBkZzU1 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-uiJjPUPQeLBkZzU1 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-uiJjPUPQeLBkZzU1 .cluster text{fill:#333;}#mermaid-svg-uiJjPUPQeLBkZzU1 .cluster span{color:#333;}#mermaid-svg-uiJjPUPQeLBkZzU1 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-uiJjPUPQeLBkZzU1 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-uiJjPUPQeLBkZzU1 rect.text{fill:none;stroke-width:0;}#mermaid-svg-uiJjPUPQeLBkZzU1 .icon-shape,#mermaid-svg-uiJjPUPQeLBkZzU1 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-uiJjPUPQeLBkZzU1 .icon-shape p,#mermaid-svg-uiJjPUPQeLBkZzU1 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-uiJjPUPQeLBkZzU1 .icon-shape .label rect,#mermaid-svg-uiJjPUPQeLBkZzU1 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-uiJjPUPQeLBkZzU1 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-uiJjPUPQeLBkZzU1 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-uiJjPUPQeLBkZzU1 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 192.168.10.32/27
网络地址 .32
可用地址 .33 ~ .62
广播地址 .63
192.168.10.0/27
网络地址 .0
可用地址 .1 ~ .30
广播地址 .31

使用命令辅助计算

Linux 安装了 ipcalc 后,可以执行:

bash 复制代码
ipcalc 192.168.10.20/27

也可以使用可信的子网计算器进行验证,但应先学会判断常见的 /24/25/26/27

4. 子网如何划分

假设公司获得了一个网段:

text 复制代码
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

#mermaid-svg-GiDUdaoFIV5tWONV{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-GiDUdaoFIV5tWONV .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-GiDUdaoFIV5tWONV .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-GiDUdaoFIV5tWONV .error-icon{fill:#552222;}#mermaid-svg-GiDUdaoFIV5tWONV .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-GiDUdaoFIV5tWONV .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-GiDUdaoFIV5tWONV .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-GiDUdaoFIV5tWONV .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-GiDUdaoFIV5tWONV .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-GiDUdaoFIV5tWONV .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-GiDUdaoFIV5tWONV .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-GiDUdaoFIV5tWONV .marker{fill:#333333;stroke:#333333;}#mermaid-svg-GiDUdaoFIV5tWONV .marker.cross{stroke:#333333;}#mermaid-svg-GiDUdaoFIV5tWONV svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-GiDUdaoFIV5tWONV p{margin:0;}#mermaid-svg-GiDUdaoFIV5tWONV .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-GiDUdaoFIV5tWONV .cluster-label text{fill:#333;}#mermaid-svg-GiDUdaoFIV5tWONV .cluster-label span{color:#333;}#mermaid-svg-GiDUdaoFIV5tWONV .cluster-label span p{background-color:transparent;}#mermaid-svg-GiDUdaoFIV5tWONV .label text,#mermaid-svg-GiDUdaoFIV5tWONV span{fill:#333;color:#333;}#mermaid-svg-GiDUdaoFIV5tWONV .node rect,#mermaid-svg-GiDUdaoFIV5tWONV .node circle,#mermaid-svg-GiDUdaoFIV5tWONV .node ellipse,#mermaid-svg-GiDUdaoFIV5tWONV .node polygon,#mermaid-svg-GiDUdaoFIV5tWONV .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-GiDUdaoFIV5tWONV .rough-node .label text,#mermaid-svg-GiDUdaoFIV5tWONV .node .label text,#mermaid-svg-GiDUdaoFIV5tWONV .image-shape .label,#mermaid-svg-GiDUdaoFIV5tWONV .icon-shape .label{text-anchor:middle;}#mermaid-svg-GiDUdaoFIV5tWONV .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-GiDUdaoFIV5tWONV .rough-node .label,#mermaid-svg-GiDUdaoFIV5tWONV .node .label,#mermaid-svg-GiDUdaoFIV5tWONV .image-shape .label,#mermaid-svg-GiDUdaoFIV5tWONV .icon-shape .label{text-align:center;}#mermaid-svg-GiDUdaoFIV5tWONV .node.clickable{cursor:pointer;}#mermaid-svg-GiDUdaoFIV5tWONV .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-GiDUdaoFIV5tWONV .arrowheadPath{fill:#333333;}#mermaid-svg-GiDUdaoFIV5tWONV .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-GiDUdaoFIV5tWONV .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-GiDUdaoFIV5tWONV .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-GiDUdaoFIV5tWONV .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-GiDUdaoFIV5tWONV .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-GiDUdaoFIV5tWONV .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-GiDUdaoFIV5tWONV .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-GiDUdaoFIV5tWONV .cluster text{fill:#333;}#mermaid-svg-GiDUdaoFIV5tWONV .cluster span{color:#333;}#mermaid-svg-GiDUdaoFIV5tWONV div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-GiDUdaoFIV5tWONV .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-GiDUdaoFIV5tWONV rect.text{fill:none;stroke-width:0;}#mermaid-svg-GiDUdaoFIV5tWONV .icon-shape,#mermaid-svg-GiDUdaoFIV5tWONV .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-GiDUdaoFIV5tWONV .icon-shape p,#mermaid-svg-GiDUdaoFIV5tWONV .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-GiDUdaoFIV5tWONV .icon-shape .label rect,#mermaid-svg-GiDUdaoFIV5tWONV .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-GiDUdaoFIV5tWONV .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-GiDUdaoFIV5tWONV .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-GiDUdaoFIV5tWONV :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 原网段

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 默认不能直接进行二层通信。

#mermaid-svg-H6V5Tfgc1FrP4Mzh{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-H6V5Tfgc1FrP4Mzh .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-H6V5Tfgc1FrP4Mzh .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-H6V5Tfgc1FrP4Mzh .error-icon{fill:#552222;}#mermaid-svg-H6V5Tfgc1FrP4Mzh .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-H6V5Tfgc1FrP4Mzh .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-H6V5Tfgc1FrP4Mzh .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-H6V5Tfgc1FrP4Mzh .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-H6V5Tfgc1FrP4Mzh .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-H6V5Tfgc1FrP4Mzh .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-H6V5Tfgc1FrP4Mzh .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-H6V5Tfgc1FrP4Mzh .marker{fill:#333333;stroke:#333333;}#mermaid-svg-H6V5Tfgc1FrP4Mzh .marker.cross{stroke:#333333;}#mermaid-svg-H6V5Tfgc1FrP4Mzh svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-H6V5Tfgc1FrP4Mzh p{margin:0;}#mermaid-svg-H6V5Tfgc1FrP4Mzh .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-H6V5Tfgc1FrP4Mzh .cluster-label text{fill:#333;}#mermaid-svg-H6V5Tfgc1FrP4Mzh .cluster-label span{color:#333;}#mermaid-svg-H6V5Tfgc1FrP4Mzh .cluster-label span p{background-color:transparent;}#mermaid-svg-H6V5Tfgc1FrP4Mzh .label text,#mermaid-svg-H6V5Tfgc1FrP4Mzh span{fill:#333;color:#333;}#mermaid-svg-H6V5Tfgc1FrP4Mzh .node rect,#mermaid-svg-H6V5Tfgc1FrP4Mzh .node circle,#mermaid-svg-H6V5Tfgc1FrP4Mzh .node ellipse,#mermaid-svg-H6V5Tfgc1FrP4Mzh .node polygon,#mermaid-svg-H6V5Tfgc1FrP4Mzh .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-H6V5Tfgc1FrP4Mzh .rough-node .label text,#mermaid-svg-H6V5Tfgc1FrP4Mzh .node .label text,#mermaid-svg-H6V5Tfgc1FrP4Mzh .image-shape .label,#mermaid-svg-H6V5Tfgc1FrP4Mzh .icon-shape .label{text-anchor:middle;}#mermaid-svg-H6V5Tfgc1FrP4Mzh .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-H6V5Tfgc1FrP4Mzh .rough-node .label,#mermaid-svg-H6V5Tfgc1FrP4Mzh .node .label,#mermaid-svg-H6V5Tfgc1FrP4Mzh .image-shape .label,#mermaid-svg-H6V5Tfgc1FrP4Mzh .icon-shape .label{text-align:center;}#mermaid-svg-H6V5Tfgc1FrP4Mzh .node.clickable{cursor:pointer;}#mermaid-svg-H6V5Tfgc1FrP4Mzh .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-H6V5Tfgc1FrP4Mzh .arrowheadPath{fill:#333333;}#mermaid-svg-H6V5Tfgc1FrP4Mzh .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-H6V5Tfgc1FrP4Mzh .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-H6V5Tfgc1FrP4Mzh .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-H6V5Tfgc1FrP4Mzh .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-H6V5Tfgc1FrP4Mzh .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-H6V5Tfgc1FrP4Mzh .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-H6V5Tfgc1FrP4Mzh .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-H6V5Tfgc1FrP4Mzh .cluster text{fill:#333;}#mermaid-svg-H6V5Tfgc1FrP4Mzh .cluster span{color:#333;}#mermaid-svg-H6V5Tfgc1FrP4Mzh div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-H6V5Tfgc1FrP4Mzh .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-H6V5Tfgc1FrP4Mzh rect.text{fill:none;stroke-width:0;}#mermaid-svg-H6V5Tfgc1FrP4Mzh .icon-shape,#mermaid-svg-H6V5Tfgc1FrP4Mzh .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-H6V5Tfgc1FrP4Mzh .icon-shape p,#mermaid-svg-H6V5Tfgc1FrP4Mzh .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-H6V5Tfgc1FrP4Mzh .icon-shape .label rect,#mermaid-svg-H6V5Tfgc1FrP4Mzh .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-H6V5Tfgc1FrP4Mzh .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-H6V5Tfgc1FrP4Mzh .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-H6V5Tfgc1FrP4Mzh :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} VLAN 20:财务部
VLAN 10:技术部
同一台物理交换机
电脑 A
电脑 B
电脑 C
电脑 D

VLAN 的主要作用:

  • 进行网络隔离;
  • 减少广播影响;
  • 按部门、业务或安全级别划分网络;
  • 不受设备实际位置限制,方便统一规划。

**子网与 VLAN 不是同一个概念:**子网属于三层 IP 规划,VLAN 属于二层网络隔离。实际工作中通常让一个 VLAN 对应一个 IP 子网。

例如:

text 复制代码
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。

text 复制代码
交换机 1 号口:Access VLAN 10 → 技术部电脑
交换机 2 号口:Access VLAN 20 → 财务部电脑

终端设备通常不需要知道 VLAN 标签,交换机会替它完成处理。

6.2 Trunk 口

Trunk 口可以承载多个 VLAN,通常用于连接:

  • 两台交换机;
  • 交换机与路由器;
  • 交换机与防火墙;
  • 交换机与 PVE、VMware 等虚拟化宿主机。

#mermaid-svg-NwW97oOy8o3EaRqj{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-NwW97oOy8o3EaRqj .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-NwW97oOy8o3EaRqj .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-NwW97oOy8o3EaRqj .error-icon{fill:#552222;}#mermaid-svg-NwW97oOy8o3EaRqj .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-NwW97oOy8o3EaRqj .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-NwW97oOy8o3EaRqj .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-NwW97oOy8o3EaRqj .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-NwW97oOy8o3EaRqj .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-NwW97oOy8o3EaRqj .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-NwW97oOy8o3EaRqj .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-NwW97oOy8o3EaRqj .marker{fill:#333333;stroke:#333333;}#mermaid-svg-NwW97oOy8o3EaRqj .marker.cross{stroke:#333333;}#mermaid-svg-NwW97oOy8o3EaRqj svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-NwW97oOy8o3EaRqj p{margin:0;}#mermaid-svg-NwW97oOy8o3EaRqj .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-NwW97oOy8o3EaRqj .cluster-label text{fill:#333;}#mermaid-svg-NwW97oOy8o3EaRqj .cluster-label span{color:#333;}#mermaid-svg-NwW97oOy8o3EaRqj .cluster-label span p{background-color:transparent;}#mermaid-svg-NwW97oOy8o3EaRqj .label text,#mermaid-svg-NwW97oOy8o3EaRqj span{fill:#333;color:#333;}#mermaid-svg-NwW97oOy8o3EaRqj .node rect,#mermaid-svg-NwW97oOy8o3EaRqj .node circle,#mermaid-svg-NwW97oOy8o3EaRqj .node ellipse,#mermaid-svg-NwW97oOy8o3EaRqj .node polygon,#mermaid-svg-NwW97oOy8o3EaRqj .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-NwW97oOy8o3EaRqj .rough-node .label text,#mermaid-svg-NwW97oOy8o3EaRqj .node .label text,#mermaid-svg-NwW97oOy8o3EaRqj .image-shape .label,#mermaid-svg-NwW97oOy8o3EaRqj .icon-shape .label{text-anchor:middle;}#mermaid-svg-NwW97oOy8o3EaRqj .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-NwW97oOy8o3EaRqj .rough-node .label,#mermaid-svg-NwW97oOy8o3EaRqj .node .label,#mermaid-svg-NwW97oOy8o3EaRqj .image-shape .label,#mermaid-svg-NwW97oOy8o3EaRqj .icon-shape .label{text-align:center;}#mermaid-svg-NwW97oOy8o3EaRqj .node.clickable{cursor:pointer;}#mermaid-svg-NwW97oOy8o3EaRqj .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-NwW97oOy8o3EaRqj .arrowheadPath{fill:#333333;}#mermaid-svg-NwW97oOy8o3EaRqj .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-NwW97oOy8o3EaRqj .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-NwW97oOy8o3EaRqj .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-NwW97oOy8o3EaRqj .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-NwW97oOy8o3EaRqj .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-NwW97oOy8o3EaRqj .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-NwW97oOy8o3EaRqj .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-NwW97oOy8o3EaRqj .cluster text{fill:#333;}#mermaid-svg-NwW97oOy8o3EaRqj .cluster span{color:#333;}#mermaid-svg-NwW97oOy8o3EaRqj div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-NwW97oOy8o3EaRqj .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-NwW97oOy8o3EaRqj rect.text{fill:none;stroke-width:0;}#mermaid-svg-NwW97oOy8o3EaRqj .icon-shape,#mermaid-svg-NwW97oOy8o3EaRqj .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-NwW97oOy8o3EaRqj .icon-shape p,#mermaid-svg-NwW97oOy8o3EaRqj .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-NwW97oOy8o3EaRqj .icon-shape .label rect,#mermaid-svg-NwW97oOy8o3EaRqj .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-NwW97oOy8o3EaRqj .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-NwW97oOy8o3EaRqj .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-NwW97oOy8o3EaRqj :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 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 属于不同的二层广播域,默认不能直接通信。它们要互相访问,必须经过三层设备进行路由。
#mermaid-svg-IjS8MAGmt9DSaceM{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-IjS8MAGmt9DSaceM .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-IjS8MAGmt9DSaceM .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-IjS8MAGmt9DSaceM .error-icon{fill:#552222;}#mermaid-svg-IjS8MAGmt9DSaceM .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-IjS8MAGmt9DSaceM .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-IjS8MAGmt9DSaceM .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-IjS8MAGmt9DSaceM .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-IjS8MAGmt9DSaceM .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-IjS8MAGmt9DSaceM .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-IjS8MAGmt9DSaceM .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-IjS8MAGmt9DSaceM .marker{fill:#333333;stroke:#333333;}#mermaid-svg-IjS8MAGmt9DSaceM .marker.cross{stroke:#333333;}#mermaid-svg-IjS8MAGmt9DSaceM svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-IjS8MAGmt9DSaceM p{margin:0;}#mermaid-svg-IjS8MAGmt9DSaceM .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-IjS8MAGmt9DSaceM .cluster-label text{fill:#333;}#mermaid-svg-IjS8MAGmt9DSaceM .cluster-label span{color:#333;}#mermaid-svg-IjS8MAGmt9DSaceM .cluster-label span p{background-color:transparent;}#mermaid-svg-IjS8MAGmt9DSaceM .label text,#mermaid-svg-IjS8MAGmt9DSaceM span{fill:#333;color:#333;}#mermaid-svg-IjS8MAGmt9DSaceM .node rect,#mermaid-svg-IjS8MAGmt9DSaceM .node circle,#mermaid-svg-IjS8MAGmt9DSaceM .node ellipse,#mermaid-svg-IjS8MAGmt9DSaceM .node polygon,#mermaid-svg-IjS8MAGmt9DSaceM .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-IjS8MAGmt9DSaceM .rough-node .label text,#mermaid-svg-IjS8MAGmt9DSaceM .node .label text,#mermaid-svg-IjS8MAGmt9DSaceM .image-shape .label,#mermaid-svg-IjS8MAGmt9DSaceM .icon-shape .label{text-anchor:middle;}#mermaid-svg-IjS8MAGmt9DSaceM .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-IjS8MAGmt9DSaceM .rough-node .label,#mermaid-svg-IjS8MAGmt9DSaceM .node .label,#mermaid-svg-IjS8MAGmt9DSaceM .image-shape .label,#mermaid-svg-IjS8MAGmt9DSaceM .icon-shape .label{text-align:center;}#mermaid-svg-IjS8MAGmt9DSaceM .node.clickable{cursor:pointer;}#mermaid-svg-IjS8MAGmt9DSaceM .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-IjS8MAGmt9DSaceM .arrowheadPath{fill:#333333;}#mermaid-svg-IjS8MAGmt9DSaceM .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-IjS8MAGmt9DSaceM .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-IjS8MAGmt9DSaceM .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-IjS8MAGmt9DSaceM .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-IjS8MAGmt9DSaceM .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-IjS8MAGmt9DSaceM .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-IjS8MAGmt9DSaceM .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-IjS8MAGmt9DSaceM .cluster text{fill:#333;}#mermaid-svg-IjS8MAGmt9DSaceM .cluster span{color:#333;}#mermaid-svg-IjS8MAGmt9DSaceM div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-IjS8MAGmt9DSaceM .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-IjS8MAGmt9DSaceM rect.text{fill:none;stroke-width:0;}#mermaid-svg-IjS8MAGmt9DSaceM .icon-shape,#mermaid-svg-IjS8MAGmt9DSaceM .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-IjS8MAGmt9DSaceM .icon-shape p,#mermaid-svg-IjS8MAGmt9DSaceM .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-IjS8MAGmt9DSaceM .icon-shape .label rect,#mermaid-svg-IjS8MAGmt9DSaceM .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-IjS8MAGmt9DSaceM .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-IjS8MAGmt9DSaceM .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-IjS8MAGmt9DSaceM :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 技术部电脑

VLAN 10

192.168.10.20
交换机
三层交换机/路由器/防火墙

VLAN 10 网关:192.168.10.1

VLAN 20 网关:192.168.20.1
财务服务器

VLAN 20

192.168.20.100

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

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

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

8. PVE 中的 VLAN

在 PVE 中,虚拟机通过 Linux Bridge 接入物理网络。常见结构如下:
#mermaid-svg-VmVpggd4ixbZqVa6{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-VmVpggd4ixbZqVa6 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-VmVpggd4ixbZqVa6 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-VmVpggd4ixbZqVa6 .error-icon{fill:#552222;}#mermaid-svg-VmVpggd4ixbZqVa6 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-VmVpggd4ixbZqVa6 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-VmVpggd4ixbZqVa6 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-VmVpggd4ixbZqVa6 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-VmVpggd4ixbZqVa6 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-VmVpggd4ixbZqVa6 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-VmVpggd4ixbZqVa6 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-VmVpggd4ixbZqVa6 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-VmVpggd4ixbZqVa6 .marker.cross{stroke:#333333;}#mermaid-svg-VmVpggd4ixbZqVa6 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-VmVpggd4ixbZqVa6 p{margin:0;}#mermaid-svg-VmVpggd4ixbZqVa6 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-VmVpggd4ixbZqVa6 .cluster-label text{fill:#333;}#mermaid-svg-VmVpggd4ixbZqVa6 .cluster-label span{color:#333;}#mermaid-svg-VmVpggd4ixbZqVa6 .cluster-label span p{background-color:transparent;}#mermaid-svg-VmVpggd4ixbZqVa6 .label text,#mermaid-svg-VmVpggd4ixbZqVa6 span{fill:#333;color:#333;}#mermaid-svg-VmVpggd4ixbZqVa6 .node rect,#mermaid-svg-VmVpggd4ixbZqVa6 .node circle,#mermaid-svg-VmVpggd4ixbZqVa6 .node ellipse,#mermaid-svg-VmVpggd4ixbZqVa6 .node polygon,#mermaid-svg-VmVpggd4ixbZqVa6 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-VmVpggd4ixbZqVa6 .rough-node .label text,#mermaid-svg-VmVpggd4ixbZqVa6 .node .label text,#mermaid-svg-VmVpggd4ixbZqVa6 .image-shape .label,#mermaid-svg-VmVpggd4ixbZqVa6 .icon-shape .label{text-anchor:middle;}#mermaid-svg-VmVpggd4ixbZqVa6 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-VmVpggd4ixbZqVa6 .rough-node .label,#mermaid-svg-VmVpggd4ixbZqVa6 .node .label,#mermaid-svg-VmVpggd4ixbZqVa6 .image-shape .label,#mermaid-svg-VmVpggd4ixbZqVa6 .icon-shape .label{text-align:center;}#mermaid-svg-VmVpggd4ixbZqVa6 .node.clickable{cursor:pointer;}#mermaid-svg-VmVpggd4ixbZqVa6 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-VmVpggd4ixbZqVa6 .arrowheadPath{fill:#333333;}#mermaid-svg-VmVpggd4ixbZqVa6 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-VmVpggd4ixbZqVa6 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-VmVpggd4ixbZqVa6 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-VmVpggd4ixbZqVa6 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-VmVpggd4ixbZqVa6 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-VmVpggd4ixbZqVa6 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-VmVpggd4ixbZqVa6 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-VmVpggd4ixbZqVa6 .cluster text{fill:#333;}#mermaid-svg-VmVpggd4ixbZqVa6 .cluster span{color:#333;}#mermaid-svg-VmVpggd4ixbZqVa6 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-VmVpggd4ixbZqVa6 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-VmVpggd4ixbZqVa6 rect.text{fill:none;stroke-width:0;}#mermaid-svg-VmVpggd4ixbZqVa6 .icon-shape,#mermaid-svg-VmVpggd4ixbZqVa6 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-VmVpggd4ixbZqVa6 .icon-shape p,#mermaid-svg-VmVpggd4ixbZqVa6 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-VmVpggd4ixbZqVa6 .icon-shape .label rect,#mermaid-svg-VmVpggd4ixbZqVa6 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-VmVpggd4ixbZqVa6 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-VmVpggd4ixbZqVa6 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-VmVpggd4ixbZqVa6 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 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. 防火墙没有拦截需要的通信。

示例

text 复制代码
虚拟机 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:

powershell 复制代码
ipconfig /all
arp -a
ping 192.168.10.20

Linux:

bash 复制代码
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 排障流程图

#mermaid-svg-6CligmXKIFvO8jXj{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-6CligmXKIFvO8jXj .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-6CligmXKIFvO8jXj .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-6CligmXKIFvO8jXj .error-icon{fill:#552222;}#mermaid-svg-6CligmXKIFvO8jXj .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-6CligmXKIFvO8jXj .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-6CligmXKIFvO8jXj .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-6CligmXKIFvO8jXj .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-6CligmXKIFvO8jXj .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-6CligmXKIFvO8jXj .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-6CligmXKIFvO8jXj .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-6CligmXKIFvO8jXj .marker{fill:#333333;stroke:#333333;}#mermaid-svg-6CligmXKIFvO8jXj .marker.cross{stroke:#333333;}#mermaid-svg-6CligmXKIFvO8jXj svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-6CligmXKIFvO8jXj p{margin:0;}#mermaid-svg-6CligmXKIFvO8jXj .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-6CligmXKIFvO8jXj .cluster-label text{fill:#333;}#mermaid-svg-6CligmXKIFvO8jXj .cluster-label span{color:#333;}#mermaid-svg-6CligmXKIFvO8jXj .cluster-label span p{background-color:transparent;}#mermaid-svg-6CligmXKIFvO8jXj .label text,#mermaid-svg-6CligmXKIFvO8jXj span{fill:#333;color:#333;}#mermaid-svg-6CligmXKIFvO8jXj .node rect,#mermaid-svg-6CligmXKIFvO8jXj .node circle,#mermaid-svg-6CligmXKIFvO8jXj .node ellipse,#mermaid-svg-6CligmXKIFvO8jXj .node polygon,#mermaid-svg-6CligmXKIFvO8jXj .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-6CligmXKIFvO8jXj .rough-node .label text,#mermaid-svg-6CligmXKIFvO8jXj .node .label text,#mermaid-svg-6CligmXKIFvO8jXj .image-shape .label,#mermaid-svg-6CligmXKIFvO8jXj .icon-shape .label{text-anchor:middle;}#mermaid-svg-6CligmXKIFvO8jXj .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-6CligmXKIFvO8jXj .rough-node .label,#mermaid-svg-6CligmXKIFvO8jXj .node .label,#mermaid-svg-6CligmXKIFvO8jXj .image-shape .label,#mermaid-svg-6CligmXKIFvO8jXj .icon-shape .label{text-align:center;}#mermaid-svg-6CligmXKIFvO8jXj .node.clickable{cursor:pointer;}#mermaid-svg-6CligmXKIFvO8jXj .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-6CligmXKIFvO8jXj .arrowheadPath{fill:#333333;}#mermaid-svg-6CligmXKIFvO8jXj .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-6CligmXKIFvO8jXj .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-6CligmXKIFvO8jXj .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-6CligmXKIFvO8jXj .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-6CligmXKIFvO8jXj .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-6CligmXKIFvO8jXj .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-6CligmXKIFvO8jXj .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-6CligmXKIFvO8jXj .cluster text{fill:#333;}#mermaid-svg-6CligmXKIFvO8jXj .cluster span{color:#333;}#mermaid-svg-6CligmXKIFvO8jXj div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-6CligmXKIFvO8jXj .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-6CligmXKIFvO8jXj rect.text{fill:none;stroke-width:0;}#mermaid-svg-6CligmXKIFvO8jXj .icon-shape,#mermaid-svg-6CligmXKIFvO8jXj .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-6CligmXKIFvO8jXj .icon-shape p,#mermaid-svg-6CligmXKIFvO8jXj .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-6CligmXKIFvO8jXj .icon-shape .label rect,#mermaid-svg-6CligmXKIFvO8jXj .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-6CligmXKIFvO8jXj .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-6CligmXKIFvO8jXj .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-6CligmXKIFvO8jXj :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 否





设备无法联网
能 ping 通本 VLAN 网关吗?
检查网卡、IP、掩码、Access/Trunk 和 VLAN Tag
能 ping 通目标 IP 吗?
检查跨 VLAN 路由、防火墙、ACL 和返回路由
目标端口能连接吗?
检查安全组、防火墙和服务监听
检查 DNS、证书、应用配置和日志

10. 动手实验与学习计划

实验一:验证同一子网通信

准备两台虚拟机:

text 复制代码
虚拟机 A:192.168.10.11/24
虚拟机 B:192.168.10.12/24

确认两者在同一虚拟交换机或网桥,然后互相执行 ping

实验二:制造掩码错误

将虚拟机 B 的地址临时修改为:

text 复制代码
192.168.10.130/25

观察它与 192.168.10.11/25 的通信情况,并计算两台设备分别属于哪个 /25 子网。实验完成后恢复原配置。

实验三:划分两个 VLAN

在测试环境中规划:

text 复制代码
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,以及目标网络的返回路由。


本篇总结

text 复制代码
子网:决定 IP 地址是否属于同一个三层网络
VLAN:在交换网络中实现二层隔离
Access:通常只承载一个 VLAN,连接普通终端
Trunk:可以承载多个 VLAN,连接网络设备或虚拟化宿主机
跨 VLAN:必须经过三层设备,并受路由和安全策略控制

学习时不要只记定义。建议在 PVE 或其他虚拟化环境中搭建两个 VLAN,亲自观察"同 VLAN 能通信、跨 VLAN 需要网关、策略可以限制端口"的完整过程。

相关推荐
2401_868534781 小时前
第7章 网络环境规划:综合篇考点梳理
网络·安全
mengge.cloud1 小时前
网络技术基础小白教程
linux·服务器·网络·云计算
cfm_29141 小时前
线程池阻塞队列
java·开发语言
xxwxx__1 小时前
C++ list 深度解析:从使用原理到模拟实现
开发语言·c++·list
坐吃山猪1 小时前
【多线程】ThreadPool线程池参数说明
java·网络
Chester_19992 小时前
CSP202303C.LDAP
开发语言·c++·蓝桥杯·stl
奋斗吧程序媛2 小时前
CSV文件导入功能
开发语言·javascript·ecmascript
evans在进步2 小时前
Java 常用设计模式(二):装饰器、适配器、责任链、模板方法、策略与观察者
java·开发语言·设计模式
0xBADCODE2 小时前
CTF Writeup 合集
安全·web安全·网络安全·系统安全·密码学·php·ctf