IP地址、子网掩码、网关与DNS:从零搭建网络模型与排障实战

📅 发布时间:2026/9/1 1:39:09
IP地址、子网掩码、网关与DNS:从零搭建网络模型与排障实战
先说结论如果你想把 IP地址、子网掩码、子网划分、网关、DNS 这五件事彻底弄明白不要只看概念定义而是先在自己的电脑或虚拟机上动手配一遍、ping 一遍、抓包看一眼。我是认真建议按“物理连接 - 网卡配置 - 网关连通 - DNS 解析 - 应用访问”这条链路去理解而不是按教材目录一页一页背。下面这篇文章会把每个概念放到具体场景里讲同时给出可以直接跟做的验证操作和排障思路。文章主要面向刚接触网络技术的零基础学习者也适合已经能配 IP 但遇到“改完之后不通”“DNS 有时好有时坏”“双网卡优先级混乱”等问题的初级网工。阅读之后你会得到一套判断问题、检查配置、动手实验的方法而不是一堆孤立术语。网络技术里最容易劝退新手的不是命令复杂而是概念之间互相牵连。IP 地址解决“我是谁”子网掩码解决“谁和我同住一个小区”网关解决“出小区走哪个门”DNS 解决“我记不住对方门牌号时怎么查”。把这四件事串成一条线后面再看 VLAN、DHCP、路由、端口就会顺很多。1. 先建立整体网络模型IP地址、子网掩码、网关、DNS分别扮演什么角色很多人把 IP 地址当成一台电脑的唯一身份证这个说法不算错但容易误导。IP 地址更准确的描述是“网卡在网络中的位置编号”。同一个网卡换一个网络环境IP 就可能变身份证可不会随便变。所以学习时先把“设备身份”和“网络位置”分开。1.1 用一栋楼模型理解网络通信的基本流程把局域网想象成一栋居民楼。每家每户的门牌号就是 IP 地址。但只有门牌号还不够还需要知道“这栋楼属于哪个片区”否则寄快递时只知道门牌号不知道哪个城市、哪个小区快递员没法送。子网掩码就是用来划定“片区范围”的。它告诉主机哪些 IP 和我在同一个楼道里可以不用通过物业直接敲门哪些 IP 在别的楼栋必须先把包裹送到物业再由物业转交。这个“物业”就是网关。当你有访问外网的请求时流程大概是你的电脑发出数据包目标 IP 是某个网站地址。网卡拿到目标 IP 后结合自己的子网掩码算出目标和自己是否在同一子网。如果在同一子网直接通过 ARP 找到对方 MAC 地址把数据包发过去。如果不在同一子网数据包先交给默认网关。网关路由到目标网络最终到达服务器。但你的电脑不认识“www.example.com”这种域名需要先问 DNS这个域名对应的 IP 是多少拿到 IP 后才开始上面的发送流程。所以网络访问的启动顺序是 DNS 查询在前IP 发包在后。如果你只配了 IP 和网关但 DNS 错误就会出现“能 ping 通网关和公网 IP但浏览器打不开网站”的现象。1.2 IP地址的分类、公网与私网、IPv4与IPv6的基本认知IPv4 地址是 32 位二进制数通常写成四段十进制比如 192.168.1.10。32 位意味着最多只有约 42 亿个地址显然不够全球设备用所以出现了私网地址和 NAT 技术。私网地址段是专门留给内部网络使用的不会在公网上路由A 类私网10.0.0.0 到 10.255.255.255B 类私网172.16.0.0 到 172.31.255.255C 类私网192.168.0.0 到 192.168.255.255你家路由器默认网段一般是 192.168.1.0 或 192.168.0.0就是 C 类私网地址。公司网络可能用 10.0.0.0也可能是 172.16.0.0完全看规划。IPv6 是 128 位地址主要是为了解决 IPv4 耗尽问题。现在很多路由器默认开启 IPv6但在国内实际使用中IPv4 仍占主导。学习阶段建议先把 IPv4 理解透IPv6 只需要知道它的地址长度更长、不需要 NAT 也能全球唯一配置方式也类似。1.3 为什么子网掩码必须和IP地址一起出现给一台电脑配置静态 IP 时必须同时写子网掩码。常见写法是 255.255.255.0对应二进制就是前面 24 位是 1后面 8 位是 0。这表示 IP 地址的前 24 位是网络位后 8 位是主机位。判断两个 IP 是否在同一个子网方法很简单把两个 IP 都转成二进制。把子网掩码也转成二进制。IP 和子网掩码做“与”运算。结果相同就在同一子网结果不同就不在。例如IP1192.168.1.10掩码 255.255.255.0子网号 192.168.1.0。IP2192.168.1.20掩码 255.255.255.0子网号 192.168.1.0。两者子网号一致所以这两台主机可以直接通信不需要经过网关。如果 IP2 改为 192.168.2.20即使掩码一样子网号也不同通信就要走网关。这就是子网掩码的实际作用。初学者最容易出现的配置错误是IP 地址在同一网段但掩码写错导致互相 ping 不通。我建议你在验证时先把掩码固定写 255.255.255.0等理解清楚后再引入变长子网掩码。注意同一局域网内两台电脑的 IP 不能相同。如果冲突其中一台会报“IP 地址冲突”网络时通时断。2. 子网划分为什么要划怎么划如何判断划对了子网划分不是一个“纯粹的理论题”。在实际工作中你很可能遇到这样的需求公司有一个 192.168.1.0/24 网段需要分给四个部门使用每个部门要求互相隔离但又能通过网关访问外网。这时候不能随便给每个部门分配一个大段而是要把原来的一个网段拆成多个子网。2.1 CIDR与变长子网掩码的基础概念传统 IP 分类A/B/C太死板后来有了 CIDR无类域间路由表示法。例如 192.168.1.0/24斜杠后面的 24 表示网络位有 24 位。/24 等价于子网掩码 255.255.255.0。变长子网掩码VLSM允许在同一网络中使用不同长度的掩码这是为了更高效地分配 IP避免浪费。划分子网的核心逻辑是从主机位借位变成网络位。比如 /24 有 8 个主机位。如果需要 4 个子网需要借 2 位因为 2 的 2 次方等于 4。借完之后掩码变成 /26也就是 255.255.255.192。每个子网的主机位变成 6 位可用主机数为 2 的 6 次方减 2等于 62。这里必须记住主机位全 0 是网络地址全 1 是广播地址都不能分配给设备。所以可用主机数总是“2 的 n 次方减 2”。2.2 手算子网划分的步骤地址块、网络位、主机位以 192.168.1.0/24 划分 4 个子网为例完整步骤确定需要的子网数量。4 个需要 2 位因为 2^2 4。新的前缀长度24 2 26。地址块大小256 除以 4 64每个子网包含 64 个 IP 地址。列出子网192.168.1.0/26可用地址 192.168.1.1 到 192.168.1.62广播 192.168.1.63。192.168.1.64/26可用地址 192.168.1.65 到 192.168.1.126广播 192.168.1.127。192.168.1.128/26可用地址 192.168.1.129 到 192.168.1.190广播 192.168.1.191。192.168.1.192/26可用地址 192.168.1.193 到 192.168.1.254广播 192.168.1.255。如果一个部门只需要 10 个可用 IP用 /26 会浪费大量地址。这时可以用 VLSM给 A 部门分配 /2814 个可用给 B 部门分配 /296 个可用给其他部门按需分配。这就是变长子网掩码的意义。判断划分是否正确有三个快速检查点每个子网的网络地址是否都是地址块大小的整数倍。每个子网的第一个可用 IP 是网络地址加 1。每个子网的广播地址是下一个子网网络地址减 1。如果三个条件都满足划分基本没有问题。2.3 实战校验用IP计算器和命令行验证划分结果手算容易出错建议先用工具辅助校验。很多在线 IP 计算器可以输入 192.168.1.0/26直接显示子网掩码、网络地址、广播地址、可用 IP 范围。也可以用命令验证。Windows 上查本机 IP 配置ipconfig /allLinux 上ip addr show如果你想快速测试某两个 IP 是否在同一子网Linux 上可以用 ipcalc 工具ipcalc 192.168.1.10/26 ipcalc 192.168.1.20/26 ipcalc 192.168.1.80/26比较输出的 Network 字段是否一致。如果一致说明两台主机处于同一子网可以直接通信。我实测时的一个经验子网规划做完后不要只看算出来的表格一定要实际配置两台机器一台用子网内地址一台用子网外地址然后互相 ping。通过通与不通来验证你对手算的理解。注意子网划分只能在私网地址段自由操作。公网 IP 的划分由运营商或上级机构分配不能自己随意改。3. 网关和DNS日常配置和故障排查中最容易出问题的两个环节网关和 DNS 是局域网能否上网的关键也是问题高发区。3.1 网关的作用跨网络通信的出口网关本质上是一个路由器的接口 IP通常也是局域网内每台主机的“默认网关”。默认网关的意思是如果目标 IP 不在本网段主机就把数据包交给这个地址由它继续路由。实际配置中最容易出现的误区是把网关配成和本机 IP 不在同一网段或者把网关配成了别的电脑的 IP。这两种情况都会导致能 ping 通自己但出不了局域网。验证网关是否正常的最简单方法ping 默认网关IP比如 Windows 上执行ping 192.168.1.1如果能通说明本机到网关的二层链路正常。如果不同先检查网线、Wi-Fi 连接、网关地址是否写错。3.2 双网卡双网关、默认网关被清空等场景怎么处理双网卡场景在工作中很常见。比如一台服务器同时连接内网和办公网内网网卡需要访问 10.0.0.0/8 网段办公网网卡需要上外网。如果两张网卡都配置了默认网关系统会按照路由优先级选择其中一条另一条可能失效。这种场景的正确做法是只给外网网卡配置默认网关内网网卡不写默认网关而是添加静态路由。Windows 上可以用 route 命令route add 10.0.0.0 mask 255.0.0.0 10.0.0.1 -p-p 表示永久生效。Linux 上可以用 ip routeip route add 10.0.0.0/8 via 10.0.0.1 dev eth1默认网关被清空是另一种常见故障。检查时先看网卡是否被设置为 DHCP。如果 DHCP 服务器没有下发网关或者手动配置时“默认网关”字段为空系统就无法跨网段访问。解决方法确保 DHCP 正常或者在网卡属性中手动填写正确的默认网关。3.3 DNS解析流程从域名到IP到底发生了什么DNS 全称是域名系统作用是完成域名到 IP 地址的转换。当你输入 www.example.com 时系统会按以下顺序查询检查本地 hosts 文件和 DNS 缓存。查询配置的首选 DNS 服务器。如果首选 DNS 没有记录它会向根服务器、顶级域服务器、权威服务器逐级查询。拿到 IP 后返回给客户端并缓存在本地。看到重点没DNS 是树状查询结构。所以自建 DNS 或者配置错误 DNS 地址时影响范围是全局的。3.4 DNS常见故障设置哪个、缓存问题、劫持与自建DNS的注意点关于“DNS 设置哪个最好最快”我不推荐盲目跟风。判断标准不是广告文案而是响应时间和解析结果的准确性。你可以用命令行工具 nslookup 测试nslookup www.baidu.com 223.5.5.5上面命令指定使用 223.5.5.5 解析百度域名。如果返回结果正常说明该 DNS 可达且能正确解析。常见 DNS 故障现象和排查顺序现象一浏览器打不开网页但 QQ 能登录。很可能是 DNS 解析失败先看 DNS 配置。现象二能 ping 通域名但无法访问网页。可能是 HTTP/HTTPS 端口被防火墙拦截也可能是代理设置问题。现象三同一域名不同设备解析结果不一致。可能是本地 hosts 被篡改也可能是 DNS 劫持。Windows 上刷新 DNS 缓存的命令是ipconfig /flushdns如果你被配置了不合理的 DNS或者怀疑 DNS 异常可以临时改成公共 DNS 验证。公共 DNS 有很多比如 223.5.5.5、119.29.29.29、114.114.114.114。但要注意公共 DNS 只是排查手段不一定是所有场景下的最优选择。企业内网常常需要自建 DNS 解析内部域名这时就不能直接套用公共 DNS否则内网域名解析不出来。自建 DNS 看起来简单实际操作中容易忽略几个点是否开启了递归查询能否解析外网域名。内网域名和公网域名冲突时优先走哪个 zone。缓存时间设置多长修改域名记录后客户端多久生效。有没有做防劫持、防污染的安全加固。如果你的场景只是“加速解析”自建 DNS 不一定能带来明显收益。因为解析结果是否快速取决于上游链路和缓存命中率而不是简单地“换一个本地解析器”就能解决。建议先在多台设备上对比测试再决定是否投入维护成本。注意如果遇到 DNS 故障先看 hosts 文件是否被改动再看网卡里的 DNS 地址是否生效最后才考虑清缓存和换 DNS。顺序不要搞反。4. 一张网卡多个IP、查看本机信息、修改IP地址的实用操作这部分内容是零基础最容易上手的。不需要理解太深但必须会。4.1 Windows和Linux下查看IP、子网掩码、网关、DNS的常用命令Windows 上最常用的命令是 ipconfigipconfig /all返回信息里需要看几个关键字段IPv4 地址就是当前 IP。子网掩码通常 255.255.255.0。默认网关跨网段出口。DNS 服务器解析域名用的服务器地址。Linux 上常用ip addr show ip route cat /etc/resolv.confip addr 显示网卡 IP 和掩码ip route 显示默认网关resolv.conf 显示 DNS 配置。4.2 修改IP地址的两种方式图形界面和命令行Windows 图形界面改 IP 的路径是控制面板 - 网络和共享中心 - 更改适配器设置 - 右键网卡 - 属性 - Internet 协议版本 4 (TCP/IPv4)。在属性里选择“使用下面的 IP 地址”填入 IP、子网掩码、默认网关再填 DNS。命令行方式可以用 netshnetsh interface ip set address name以太网 static 192.168.1.100 255.255.255.0 192.168.1.1设置 DNSnetsh interface ip set dns name以太网 static 223.5.5.5Linux 不同发行版配置方式不一样。CentOS/RHEL 老版本用 ifcfg 文件新版本用 NetworkManager 的 nmcliUbuntu 用 netplan。这里给一个通用思路尽量使用系统自带的网络管理工具避免直接改 resolv.conf因为很多系统重启后会自动覆盖。如果你只是做实验临时改 IP 可以用sudo ip addr add 192.168.1.100/24 dev eth0这个命令不会保存到配置文件重启后失效适合测试。4.3 一张网卡配置多个IP地址的场景和操作方法有些场景需要一张网卡同时使用多个 IP。比如调试设备时需要访问两个不同网段而电脑只有一个网口。Windows 图形界面不支持像 Linux 那样直接 add secondary IP但可以通过高级设置添加辅助 IP在 TCP/IPv4 属性里点击“高级”然后添加多个 IP 地址。Linux 上更简单sudo ip addr add 192.168.1.100/24 dev eth0 sudo ip addr add 192.168.2.100/24 dev eth0这样 eth0 上就有两个网段地址。注意如果这两个网段分别需要访问外网同一个网卡无法同时生效两个默认网关。你需要按子网静态路由区分走哪个网关。这也是前面提过的双网关问题。一张网卡绑定多个 IP适合临时访问不同网段资源但不适合作为生产环境常驻方案。生产环境建议用单独的 VLAN 和路由策略来隔离。5. 从零到能干活网络排障的标准排查链路和常见误区很多新手遇到“网络不通”就慌了开始乱改 IP、重装驱动。我自己踩过几次坑之后总结出一套固定排查顺序。5.1 排查顺序先物理层再链路层再网络层再应用层不要一上来就改 IP。先做以下步骤看网卡指示灯是否正常网线是否松动Wi-Fi 是否断开。在命令行执行 ping 本机回环地址 127.0.0.1。能通说明 TCP/IP 协议栈正常。执行 ping 本机 IP。能通说明网卡驱动和 IP 配置基本正常。执行 ping 默认网关。能通说明本机到路由器链路正常。执行 ping 一个公网 IP比如 223.5.5.5。能通说明网络层路由正常。执行 nslookup 一个域名。能通说明 DNS 解析正常。最后用浏览器访问网站。能打开说明应用层正常。每一步都有明确含义。如果第一步失败看物理连接如果第三步失败看网卡和 IP 配置如果第四步失败看默认网关和路由器如果第五步失败看路由器到运营商链路如果第六步失败看 DNS如果第七步失败看浏览器代理和防火墙。5.2 用ping和tracert判断问题出在哪一跳ping 只能判断“通”或“不通”但无法告诉你中间路径在哪里断。这时候用 tracertWindows或 tracerouteLinuxtracert -d www.baidu.com-d 参数表示不解析中间节点的域名速度更快。如果看到某个跳数之后全部超时或者返回目标不可达问题大概率出在这一跳附近。但要注意运营商网络中有些路由器会屏蔽 ICMP 探测所以不能只看某一个星号就断定故障。判断标准是最终能否到达目标以及多数路径是否稳定。5.3 配置合法但网络不通的典型原因有时候 IP、掩码、网关、DNS 看起来全部正确但就是不通。这种情况我会按以下顺序排查IP 冲突局域网内另一台设备用了相同 IP。网卡绑定服务异常比如 Windows 网卡上启用了不存在的高速协议。路由器 ACL 或防火墙规则可能把 ICMP 或特定端口屏蔽了。交换机端口 VLAN 不匹配导致虽然 IP 配置正确但二层隔离。安全软件拦截杀毒软件或主机防火墙不允许 ping 和相关服务。ARP 缓存异常导致数据包发给了错误的 MAC 地址。清 ARP 缓存bash arp -d *Linux 需要 sudo。配置合法不等于网络通这在企业网络中非常常见。配置只是必要条件不是充分条件。所以我在实际排障时会先用网络抓包工具看一眼 ARP 请求和响应。如果 ARP 请求发出了但没有响应先查二层隔离如果 ARP 能通但 TCP 连接失败再查防火墙和端口。5.4 零基础学习建议先动手搭一个最简单的局域网模型最后给零基础的读者一个学习路径。不要直接去啃路由协议、交换原理先把最简单的三台设备模型跑起来。准备条件一台家用路由器或虚拟机里的软路由。两台电脑或者一台电脑加一台虚拟机。一个有线/无线局域网网段使用 192.168.1.0/24。实验步骤把路由器管理地址设置为 192.168.1.1DHCP 开启。电脑 A 设置静态 IP192.168.1.10网关 192.168.1.1DNS 192.168.1.1。电脑 B 设置静态 IP192.168.1.20网关 192.168.1.1DNS 192.168.1.1。A ping B能通则验证了同网段通信。A ping 网关能通则验证了跨网段出口。把 A 的网关改成 192.168.1.2再 ping 外网观察结果。你会发现即使 IP 配置看起来合法但网关错了依然无法访问外网。做完这一步你对 IP、子网掩码、网关、DNS 的理解就会扎实很多。之后再去学 DHCP 自动分配、VLAN 隔离、路由协议会更容易对应上实际场景。最后留几个我自己排查时会优先看的点先看网卡是否拿到正确 IP再看路由表里的默认路由是否存在然后看 DNS 缓存是否干净最后才考虑是不是运营商链路或者服务器端问题。大多数故障其实都出在 IP 配置和网关配置这两个最基础、最不起眼的地方。把基础链路练熟比背更多协议名称有用得多。