尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

网络分类与IP编址:子网划分、VLAN隔离及排错实战

网络分类与IP编址:子网划分、VLAN隔离及排错实战 很多人第一次深入接触网络是从“怎么查看自己电脑的IP地址”开始的。Windows上敲一句ipconfig手机上打开无线详情看到一串192.168.x.x觉得网络也不过如此。但等你真正收到“网络异常990002请使用正确网段的网络”这种报错或者需要手动修改虚拟机IP、跨网段访问公司共享盘、配置Docker网络时才会发现IP地址根本不是几个数字那么简单它背后站着一整套网络分类和编址规则。这篇文章就把这块地基系统过一遍。内容按五个部分展开先建立网络分类的坐标系再拆解IP地址的编址逻辑接着动手做子网划分计算然后延伸到VLAN和ACL这些隔离手段最后结合日常排错讲实际操作。适合刚入行的运维、网络方向的学生以及想彻底搞懂手动配IP的开发商和自建NAS玩家。放心我不是在念教材而是把这些年实际踩过的坑、用过的命令、见过的报错都揉进这些基础概念里讲。1. 网络分类坐标系先弄清你处在哪张网里网络分类不是考试知识点它是排错的第一步。不同规模的网络地址规划逻辑、故障表现、排查手段完全不一样。你拿着家庭路由器的经验去处理机房网络大概率会懵。1.1 按覆盖范围划分PAN、LAN、MAN、WAN这是最基础也最实用的分类。个人局域网PAN覆盖半径就几米蓝牙耳机、手机热点都是这个范畴。局域网LAN通常是办公室、家庭、一栋楼的规模核心特征是二层广播可以到达每一个端口也就是说所有设备处在同一个“广播域”里。城域网MAN覆盖一座城市比如运营商在城区搭建的接入环网。广域网WAN则是跨城市、跨地区的骨干网络用来连接各个局域网的“高速公路”。为什么这个分类对IP地址很重要因为私网地址和公网地址的分工本质上就是按这个尺度来的。局域网内部设备采用私网地址比如10.x、172.16-31.x、192.168.x因为局域网不需要直接面对互联网私网地址完全够用而WAN链路上运行的通常是公网地址或者至少经过NAT转换后的公网出口。看到一台设备的IP以192.168开头基本可以判断它处在某个局域网内属于私网通信范畴看到设备IP是公网地址那它要么是服务器要么是网络出口设备。提示判断一台设备“在几层网络”先看它的IP段再看它能不能被外网直接访问。这个判断能帮你区分大量“连得上但访问不了”的问题到底是路由问题还是NAT问题。1.2 按拓扑结构划分星型、总线型、环型、网状刚才是地域尺度接下来是设备之间的连接方式。拓扑结构决定了网络的可靠性也直接影响IP地址的规划方式。星型拓扑最直观所有设备连接到一个中心节点。家庭里路由器连几台电脑、手机公司里核心交换机连几十台接入交换机都是星型结构。优点是布线简单、故障隔离方便——网线坏了只影响一台设备缺点是中心节点一旦挂掉全网瘫痪。总线型拓扑在早期同轴电缆组网时很常见一根主干线串起所有设备任何一处断路都会导致整个网段无法通信排错极其痛苦现在的有线局域网基本见不到这种玩法。环型拓扑大家了解即可最典型的是早期令牌环网络数据沿着环逐站传递故障定位相对困难。网状拓扑则是现代大型网络的主流每个节点与多个节点互联数据中心里的Spine-Leaf架构就是多路径冗余的典型单条链路、甚至单台设备故障都不会让网络中断。拓扑对IP地址规划的直接影响在于星型网络适合“一个网段一个广播域”的简单规划网状网络通常配合动态路由协议设备上配置的是接口IP、环回IP、路由通告地址规划时得为每条链路预留独立网段。所以你会看到有人把头几个IP地址专门分配给路由器和交换机管理口这就是“链路地址与管理地址分离”的规划经验。1.3 按通信模式划分单播、广播、组播网络的通信模式也影响地址的使用。单播是一对一通信源设备把数据包发往唯一目的IP这是最普遍的模式。广播是一对全部设备目标地址是所在子网的广播地址比如192.168.1.255交换机收到后会向同一子网的所有主机转发。组播是一对多但不是发给所有人而是只发给加入特定组播组的设备地址范围是224.0.0.0/4常用于视频会议、IPTV这类场景。这里要特别强调广播域和子网的关系一个子网就是一个广播域。如果一个网段里设备太多广播流量会持续占用带宽设备CPU也要处理大量与自己无关的广播帧。这就是“一个/24网段下面挂300台设备会变卡”的根本原因也是后面子网划分和VLAN隔离的出发点。理解了这层关系你就能看懂为什么公司要把不同部门拆成不同网段而不是在一张大网里硬塞设备。2. IP地址编址32位二进制如何变成一串数字接下来进入正题。IPv4地址本质上是32位二进制数为了人类好读每8位一组转成十进制中间用点分隔于是有了192.168.1.10这种写法。每个十进制段的范围必然是0到255出现256或者-1这种值基本可以断定是配置错了。2.1 IPv4的四段八位结构与网络位/主机位真正关键的是地址里“网络位”和“主机位”的分工。一句话概括网络位标识你处在哪个网段主机位标识你在该网段里的具体编号。这跟送快递一样网络位是城市和街道主机位是门牌号。光有门牌号不告诉你在哪条街快递肯定送不到。拿192.168.1.10和192.168.1.66举例。在/24掩码下网络位都是192.168.1两个地址属于同一个网段二层可以直接互通如果把掩码改成/25前者落在192.168.1.0/25子网里后者落在192.168.1.64/25子网里变成了两个不同网段通信就必须经过路由器。这就是掩码改变地址归属的直观例子。很多人会犯一个概念错误以为IP地址里“192”是A类、“172”是B类、“168”是C类。其实现在早就不用这种“有类地址”的标准去划分了无类域间路由CIDR才是主流。判断两个地址是否同网段唯一的标准是网络位是否相同而网络位长度由掩码决定。2.2 子网掩码与CIDR决定街道范围的关键参数子网掩码和IP地址做逐位“与”运算后得到网络地址。掩码的二进制形式必须是从左往右连续的1比如255.255.255.0对应11111111.11111111.11111111.00000000。这种连续1的特性决定了网络位永远是前缀式的这也是CIDR能简化表达的原因。CIDR表示法本质就是记录“掩码里有多少个连续的1”所以192.168.1.0/24等价于掩码255.255.255.0。/24表示前24位是网络位后8位是主机位可选主机数是2的8次方减2也就是254个去掉的是网络地址和广播地址。注意掩码的1必须是连续的吗必须是。如果掩码写成255.255.255.10这种不连续形式网络位和主机位会交叉混在一起路由器做最长前缀匹配时直接没法算现实中所有合法掩码都从/0到/32连续存在不要自己造奇怪的路由掩码。下面这张表是日常最常用的掩码建议直接记住掩码CIDR可用主机数典型场景255.255.255.0/24254家庭、小型办公网255.255.255.128/25126中等规模网段255.255.255.192/2662部门级网段255.255.255.240/2814小型服务器网络255.255.0.0/1665534大型园区网2.3 公网IP、私网IP与特殊地址公网IP在全球范围内唯一由互联网号码分配机构统一管理需要申请和购买可以直接在互联网上路由。私网IP是RFC 1918规定的三个地址段10.0.0.0/8、172.16.0.0/12、192.168.0.0/16。任何组织内部都能随意使用但不能直接在公网路由需要经过NAT转换才能访问公网。NAT的作用就是把私网地址转换成公网地址。家庭宽带场景里运营商通常只分配一个公网IP路由器通过端口复用让整栋楼共享同一个出口IP的不同端口这就是为什么家里十几台设备都能同时上网的原理。特殊地址也必须认识。127.0.0.0/8是回环地址127.0.0.1指本机169.254.0.0/16是自动私有地址设备配置了DHCP却拿不到地址时会自动分配一个看到这个地址基本能断定DHCP服务有问题0.0.0.0代表“任意地址”常用于监听或默认路由255.255.255.255是受限广播地址。IPv6简单提一句。IPv6地址是128位用冒号十六进制表示比如2001:db8::1优势是地址空间足够大自带安全特性和自动配置机制。实际工作中很多内网仍然以IPv4为主但理解IPv6的链路本地地址fe80::/10和全球单播地址的区别对排查双栈网络很有帮助。3. 子网划分实战把一段地址拆成多个网段前面讲了原理这一节是动手环节。为什么要划分怎么计算配置到哪里一条龙讲清楚。3.1 为什么要划分子网广播域、安全、地址利用率好好的一个192.168.1.0/24不用非要拆成几个小网段核心原因有三个。第一缩小广播域。前面说过一个网段就是一个广播域设备越多广播冲突越严重。把大网段拆小每个网段里设备数量有限某个节点的广播风暴影响范围就会被限制住。第二方便做访问控制。不同部门、不同业务放到不同网段才能靠ACL和路由规则控制互相访问安全边界才立得起来。你不可能在同一个广播域里对A部门禁止访问B部门的服务器因为二层根本分不清“谁是谁”。第三提高地址利用率。如果每开一条小业务就分配一个/24几百条业务很快耗尽私网地址。按实际主机数分配/26、/28地址利用率会高很多。服务器区域用/24PC终端区域用/25或/26摄像头单独划段这是很实用的规划习惯。3.2 手工计算把192.168.1.0/24拆成4个/26以最典型的192.168.1.0/24拆成4个/26为例。/26意味着掩码位数是26主机位还剩6位每个子网共有2的6次方等于64个地址可用主机数62个。向主机位借2位变成子网位2的2次方等于4得到4个子网。具体计算结果如下子网序号网络地址广播地址可用主机范围1192.168.1.0/26192.168.1.63192.168.1.1 - 192.168.1.622192.168.1.64/26192.168.1.127192.168.1.65 - 192.168.1.1263192.168.1.128/26192.168.1.191192.168.1.129 - 192.168.1.1904192.168.1.192/26192.168.1.255192.168.1.193 - 192.168.1.254计算顺序不复杂子网大小是64子网网络地址的步长就是64所以四个网络地址是0、64、128、192网络地址加上63得到广播地址两边夹出来的就是可用主机范围。所有主机地址包括网关都必须落在可用范围内不要把网关配成网络地址或者广播地址。实际操作中我建议养成一个习惯用一个子网计算工具或者表格把每个子网的网络地址、广播地址、可用范围列出来再开始配置。纯心算在/27、/28这种细划分母时容易出错尤其是网络边界算错一位两个子网就会重叠出现类似IP冲突的诡异现象。3.3 落地配置从DHCP池到三层网关子网划分之后不能停留在纸面上要落到设备上。家用路由器最简单进DHCP设置把地址池范围改为规划好的子网段比如起始地址192.168.1.10结束地址192.168.1.50再把网关和掩码写对。企业环境则要配合VLAN使用。每个VLAN对应一个子网三层交换机上为每个VLAN配置一个网关地址。比如上面拆出来的4个子网分别给四个部门二层交换机划分VLAN 10到40三层交换机上分别配置192.168.1.1/26、192.168.1.65/26、192.168.1.129/26、192.168.1.193/26然后开启VLAN间路由。这里最容易犯的错就是子网掩码仍然填255.255.255.0这种配置不会立刻报错但跨部门通信的路由会变得非常混乱排查起来很隐蔽。4. 网段隔离进阶VLAN、ACL与容器网络会划分子网只是第一步。现代网络里地址隔离往往要和VLAN、ACL、容器网络一起配合才能形成完整方案。4.1 二层隔离VLAN划分与端口类型子网划分之后物理交换机不会自动知道“这是两个网段”需要VLAN来告诉它。VLAN的作用是在一台物理交换机上切出多个逻辑广播域属于不同VLAN的端口在二层互不可见数据必须走三层转发。端口类型这块接入交换机的端口分为Access口和Trunk口。Access口接终端设备只能属于一个VLAN终端设备本身不需要懂VLAN直接在该VLAN里通信Trunk口用于交换机之间互连可以承载多个VLAN的流量靠802.1Q标记区分不同VLAN的帧。划VLAN的粒度推荐按部门、按业务划分而不是按物理位置划分。这样无论员工搬到哪个工位只要端口划到对应VLAN访问策略始终一致人跟着VLAN走不跟着座位走。在实际配置里最常见的坑是Trunk口忘了放行某个VLAN表现为“某些设备能通、某些设备不通”而且因为VLAN列表不显示在终端上排查起来比想象中费时间。加一个VLAN先确认Trunk放行再排查IP效率会高很多。4.2 三层过滤ACL配置与规则顺序有了VLAN解决的是“能不能在同一个广播域里通信”但“允许谁访问谁”的精细控制需要ACL。ACL的全称是访问控制列表本质是一系列匹配规则加动作允许或者拒绝。标准ACL只匹配源IP地址扩展ACL可以在源IP基础上再匹配目的IP、协议类型和端口。看一个典型场景财务网段192.168.1.0/26研发网段192.168.1.64/26需求是拒绝财务访问研发的服务器但允许财务访问其他所有资源。在核心交换机上配置思路是先拒绝再放行acl number 3001 rule 5 deny ip source 192.168.1.0 0.0.0.63 destination 192.168.1.100 0.0.0.0 rule 10 permit ip然后在VLAN接口上应用interface Vlanif10 traffic-filter inbound ip-group 3001这里有个顺序陷阱ACL规则是顺序匹配的匹配了第一条就不再检查后续条目。如果先写一条permit any后面写的拒绝规则全部失效。配置完一定要先测策略再上线否则你以为拒绝了实际上放行得干干净净到了安全审计时才追悔莫及。4.3 容器与虚拟化环境中的地址隔离除了物理和交换设备现代运维还要面对容器网络。Docker默认提供几种网络模式地址规划逻辑完全不同。bridge模式是默认桥接网络容器被分配在172.17.0.0/16这类内网网段里通过NAT访问宿主机外部网络容器之间可以互访但外部访问容器只能通过端口映射。host模式直接共享宿主机的网络命名空间没有独立IP容器和宿主机共用地址缺点是可移植性差端口冲突风险高。none模式没有网络适合做纯计算任务。overlay模式用于跨宿主的容器编排网络依靠VXLAN隧道实现二层互通是Kubernetes集群网络的基础。容器场景出现频率最高的问题是“Docker网络不通”。很多情况下宿主机和容器属于不同的二层域容器访问宿主机没问题但宿主机访问容器就得先确认容器IP和端口映射另外Docker自带的DNS指向127.0.0.11这个内嵌DNS如果改了网络模式DNS解析就会出问题。排查时建议先进入容器查看IP地址再回到宿主机检查路由和iptables规则思路清晰就不会乱。5. 地址相关的排错实战从报错到定位最后这一节讲实际问题。报纸到现在我越来越觉得大部分网络故障不是高深技术而是地址规划没想清楚、掩码网关写错、广播域没隔离这三类基础问题的变种。5.1 IP冲突时通时不通的典型元凶IP冲突的表现非常典型设备一会儿能上网一会儿不能反复掉线局域网里ping某个IP时通时不通。根本原因是两台设备配置了同一个IPARP表在两个MAC地址之间来回抖动数据帧发错对象。排查方法很简单。Windows下用arp -a查看ARP缓存如果同一个IP对应了两个MAC地址基本就是冲突。更彻底的办法是登录交换机查看MAC地址表找到该IP对应的具体端口顺着端口就能定位到是哪台设备抢了别人地址。预防措施是在DHCP服务器上配置静态绑定把IP和MAC绑死同时规范终端设备不给普通用户手动改静态IP的权限。5.2 网段错配各种“网段报错”的根源热搜里提到的“网络异常990002请使用正确网段的网络”本质就是网段不匹配。比如公司内网是192.168.10.0/24你在客户端里手动填了192.168.1.100/24网关又填了192.168.10.1这台设备根本不在同一个子网里连网关都ping不通。解决方案不复杂把设备的IP、掩码、网关三者代入子网计算确认它们是否属于同一个子网。以192.168.1.100/24为例网络地址是192.168.1.0网关192.168.10.1不在这个子网里直接不合法。很多报错提示并不直接说“掩码不对”而是说“网段不正确”本质上就是这种数学关系没有匹配。提示遇到“网段不对”类报错永远先检查掩码再检查网关。顺序反了容易做无用功。5.3 虚拟机IP修改网卡模式与静态配置虚拟机的网络适配器模式决定了你改IP之后到底能不能生效。VirtualBox和VMware都有NAT模式和桥接模式NAT模式下虚拟机从虚拟NAT网络中获取地址通常是192.168.x.0/24的一个子网外部访问虚拟机只能通过端口转发桥接模式下虚拟机直接复用宿主机所在物理网络的IP段相当于局域网里一台独立的设备。改虚拟机IP时最常见的失误是只改了IP没同步修改掩码和网关或者把网关写成了宿主机的虚拟机网卡地址。Ubuntu/Debian系统改静态IP一般在/etc/netplan/下面配置network: version: 2 ethernets: eth0: addresses: - 192.168.10.66/24 routes: - to: default via: 192.168.10.1 nameservers: addresses: - 192.168.10.1改完执行sudo netplan apply然后ip addr验证。CentOS/RHEL系统则改/etc/sysconfig/network-scripts/ifcfg-xxx文件。强烈建议修改前先备份原配置文件改崩了还能回退否则虚拟机连不上你是要用控制台一点点恢复的。5.4 一套通用排查链路从ipconfig到traceroute地址类故障五花八门但排查思路可以统一。常规链路是先在本机确认自己的IP、掩码、网关Windows用ipconfigLinux用ip addr然后ping网关通了说明二层和三层链路没问题再执行tracert或traceroute测试到目标的路径看卡在哪一跳最后检查目标设备的防火墙和端口监听状态。如果远程服务器能ping通但SSH连不上大概率是防火墙放行问题不是网络问题。如果ping目的地丢包但ping网关稳定就顺着tracert的结果找中间某跳重点看是否存在路由黑洞和MTU问题。还有一个小建议手头备一个网络运维工具箱把nmap、nc、mtr这些命令装好。nmap扫端口nc测连通性mtr做实时路由探测配合系统自带命令能覆盖绝大多数地址和连通性排查。我自己的实际体会是网络排错到最后拼的就是基础和计算对你官方文档里不会明确告诉你的那些计算技巧和顺序坑反而才是让你在工作效率上拉开差距的地方。从网络分类开始建立坐标系再把IP编址和子网划分练到条件反射的熟练度去处理VLAN、ACL、容器网络这些进阶层路径就清晰了。
返回列表