交换机划了VLAN之后跨网段就访问不了共享文件夹了怎么办
公司做网络改造,把办公网划成了两个 VLAN:行政 192.168.10.0/24、生产 192.168.20.0/24,文件服务器在 10 网段。改造完发现 20 网段的电脑 ping 不通服务器,也打不开共享(\192.168.1.15\共享)。VLAN 之间访问共享要放行什么?
原因
VLAN 隔离后,跨网段流量必须经过三层设备(核心交换机 VLAN 接口或路由器)转发,共享访问被卡住通常是三层这关没过:
- 三层互通没配或被 ACL 策略拦了:VLAN 间默认可能不转发,或防火墙策略只放行了部分端口。
- SMB 相关端口没放行:文件共享需要 TCP 445(SMB 直连),老配置还依赖 TCP 139/UDP 137、138(NetBIOS)。
- DNS 没通或没配:跨网段后 NetBIOS 广播命名解析天然失效,靠主机名"浏览"到服务器的老路走不通,必须靠 DNS 或直接 IP。
- 服务器网关/掩码配置错误,回包发不回 20 网段。
解决办法
-
先验证三层连通:在 20 网段电脑上 ping 192.168.1.15。不通 → 检查三层交换机 VLAN 接口(SVI)是否都建了、各 VLAN 下发的网关是否正确、服务器自身网关是否指向所属 VLAN 的网关;有 ACL/防火墙策略的,确认 10↔20 网段间放行。
-
定位到端口层:PowerShell 测试 445 端口:
Test-NetConnection 192.168.1.15 -Port 445TcpTestSucceeded 为 True 说明 SMB 通道已通,问题在命名解析;False 则回三层交换机/防火墙放行 TCP 445(以及如有旧客户端的 139/137/138)。
-
命名问题:跨网段后"网络邻居/浏览"基本作废,两种正解——
- DNS:内网 DNS 上给服务器建 A 记录(如 filesrv.company.local → 192.168.1.15),各 VLAN 客户端 DNS 都指内网 DNS,然后用
\\filesrv\共享访问; - 或简单粗暴用 IP:
\\192.168.1.15\共享映射盘符(注意 IP 与主机名会生成两套凭据,统一用一种)。
- DNS:内网 DNS 上给服务器建 A 记录(如 filesrv.company.local → 192.168.1.15),各 VLAN 客户端 DNS 都指内网 DNS,然后用
-
防火墙复核:Windows 服务器自带防火墙的"文件和打印机共享"规则要允许来自任何配置文件的入站(改造后源网段变了,某些"本地子网"限定的旧规则会拦远网段);网络设备侧如有状态防火墙,放行 10↔20 的 445 即可,不要全端口敞开。
-
安全加分项:既然划了 VLAN,顺手做隔离策略——只允许 20 网段访问服务器的 445,不允许访问服务器的 3389 等管理端口;打印机、监控等各自 VLAN 同理白名单化。
-
验证清单:ping 通 → 445 通 → DNS 名解析正常 → 共享打开且读写正常 → 映射盘重连无密码问题(跨网段不影响凭据,但顺带检查)。
预防
- 网络改造方案里就列好"跨 VLAN 应用矩阵"(谁要访问谁的哪些端口),实施时逐项放行+验证,避免"通了再说"的裸奔。
- 服务器、NAS 固定 IP 并入 DNS;告别 NetBIOS 浏览依赖。
- 交换机 ACL 变更留配置备份,出问题可快速回滚。