☰
IP地址、子网掩码、网关与DNS:从零搭建网络模型与排障实战
2026/10/12 9:54:11 网站建设 项目流程

先说结论:如果你想把 IP地址、子网掩码、子网划分、网关、DNS 这五件事彻底弄明白,不要只看概念定义,而是先在自己的电脑或虚拟机上动手配一遍、ping 一遍、抓包看一眼。我是认真建议按“物理连接 -> 网卡配置 -> 网关连通 -> DNS 解析 -> 应用访问”这条链路去理解,而不是按教材目录一页一页背。下面这篇文章会把每个概念放到具体场景里讲,同时给出可以直接跟做的验证操作和排障思路。

文章主要面向刚接触网络技术的零基础学习者,也适合已经能配 IP 但遇到“改完之后不通”“DNS 有时好有时坏”“双网卡优先级混乱”等问题的初级网工。阅读之后,你会得到一套判断问题、检查配置、动手实验的方法,而不是一堆孤立术语。

网络技术里最容易劝退新手的,不是命令复杂,而是概念之间互相牵连。IP 地址解决“我是谁”,子网掩码解决“谁和我同住一个小区”,网关解决“出小区走哪个门”,DNS 解决“我记不住对方门牌号时怎么查”。把这四件事串成一条线,后面再看 VLAN、DHCP、路由、端口,就会顺很多。

1. 先建立整体网络模型:IP地址、子网掩码、网关、DNS分别扮演什么角色

很多人把 IP 地址当成一台电脑的唯一身份证,这个说法不算错,但容易误导。IP 地址更准确的描述是“网卡在网络中的位置编号”。同一个网卡,换一个网络环境,IP 就可能变,身份证可不会随便变。所以学习时先把“设备身份”和“网络位置”分开。

1.1 用一栋楼模型理解网络通信的基本流程

把局域网想象成一栋居民楼。每家每户的门牌号就是 IP 地址。但只有门牌号还不够,还需要知道“这栋楼属于哪个片区”,否则寄快递时只知道门牌号,不知道哪个城市、哪个小区,快递员没法送。

子网掩码就是用来划定“片区范围”的。它告诉主机:哪些 IP 和我在同一个楼道里,可以不用通过物业直接敲门;哪些 IP 在别的楼栋,必须先把包裹送到物业,再由物业转交。这个“物业”就是网关。

当你有访问外网的请求时,流程大概是:

  1. 你的电脑发出数据包,目标 IP 是某个网站地址。
  2. 网卡拿到目标 IP 后,结合自己的子网掩码算出目标和自己是否在同一子网。
  3. 如果在同一子网,直接通过 ARP 找到对方 MAC 地址,把数据包发过去。
  4. 如果不在同一子网,数据包先交给默认网关。
  5. 网关路由到目标网络,最终到达服务器。
  6. 但你的电脑不认识“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.255
  • B 类私网:172.16.0.0 到 172.31.255.255
  • C 类私网: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 是否在同一个子网,方法很简单:

  1. 把两个 IP 都转成二进制。
  2. 把子网掩码也转成二进制。
  3. IP 和子网掩码做“与”运算。
  4. 结果相同,就在同一子网;结果不同,就不在。

例如:

  • IP1:192.168.1.10,掩码 255.255.255.0,子网号 192.168.1.0。
  • IP2:192.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 个子网为例,完整步骤:

  1. 确定需要的子网数量。4 个,需要 2 位,因为 2^2 = 4。
  2. 新的前缀长度:24 + 2 = 26。
  3. 地址块大小:256 除以 4 = 64,每个子网包含 64 个 IP 地址。
  4. 列出子网:
  • 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 部门分配 /28(14 个可用),给 B 部门分配 /29(6 个可用),给其他部门按需分配。这就是变长子网掩码的意义。

判断划分是否正确,有三个快速检查点:

  • 每个子网的网络地址是否都是地址块大小的整数倍。
  • 每个子网的第一个可用 IP 是网络地址加 1。
  • 每个子网的广播地址是下一个子网网络地址减 1。

如果三个条件都满足,划分基本没有问题。

2.3 实战校验:用IP计算器和命令行验证划分结果

手算容易出错,建议先用工具辅助校验。很多在线 IP 计算器可以输入 192.168.1.0/26,直接显示子网掩码、网络地址、广播地址、可用 IP 范围。也可以用命令验证。

Windows 上查本机 IP 配置:

ipconfig /all

Linux 上:

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 route:

ip 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 时,系统会按以下顺序查询:

  1. 检查本地 hosts 文件和 DNS 缓存。
  2. 查询配置的首选 DNS 服务器。
  3. 如果首选 DNS 没有记录,它会向根服务器、顶级域服务器、权威服务器逐级查询。
  4. 拿到 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 上最常用的命令是 ipconfig:

ipconfig /all

返回信息里需要看几个关键字段:

  • IPv4 地址:就是当前 IP。
  • 子网掩码:通常 255.255.255.0。
  • 默认网关:跨网段出口。
  • DNS 服务器:解析域名用的服务器地址。

Linux 上常用:

ip addr show ip route cat /etc/resolv.conf

ip addr 显示网卡 IP 和掩码,ip route 显示默认网关,resolv.conf 显示 DNS 配置。

4.2 修改IP地址的两种方式:图形界面和命令行

Windows 图形界面改 IP 的路径是:控制面板 -> 网络和共享中心 -> 更改适配器设置 -> 右键网卡 -> 属性 -> Internet 协议版本 4 (TCP/IPv4)。在属性里选择“使用下面的 IP 地址”,填入 IP、子网掩码、默认网关,再填 DNS。

命令行方式可以用 netsh:

netsh interface ip set address name="以太网" static 192.168.1.100 255.255.255.0 192.168.1.1

设置 DNS:

netsh interface ip set dns name="以太网" static 223.5.5.5

Linux 不同发行版配置方式不一样。CentOS/RHEL 老版本用 ifcfg 文件,新版本用 NetworkManager 的 nmcli;Ubuntu 用 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。先做以下步骤:

  1. 看网卡指示灯是否正常,网线是否松动,Wi-Fi 是否断开。
  2. 在命令行执行 ping 本机回环地址 127.0.0.1。能通说明 TCP/IP 协议栈正常。
  3. 执行 ping 本机 IP。能通说明网卡驱动和 IP 配置基本正常。
  4. 执行 ping 默认网关。能通说明本机到路由器链路正常。
  5. 执行 ping 一个公网 IP,比如 223.5.5.5。能通说明网络层路由正常。
  6. 执行 nslookup 一个域名。能通说明 DNS 解析正常。
  7. 最后用浏览器访问网站。能打开说明应用层正常。

每一步都有明确含义。如果第一步失败,看物理连接;如果第三步失败,看网卡和 IP 配置;如果第四步失败,看默认网关和路由器;如果第五步失败,看路由器到运营商链路;如果第六步失败,看 DNS;如果第七步失败,看浏览器代理和防火墙。

5.2 用ping和tracert判断问题出在哪一跳

ping 只能判断“通”或“不通”,但无法告诉你中间路径在哪里断。这时候用 tracert(Windows)或 traceroute(Linux):

tracert -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。

实验步骤:

  1. 把路由器管理地址设置为 192.168.1.1,DHCP 开启。
  2. 电脑 A 设置静态 IP:192.168.1.10,网关 192.168.1.1,DNS 192.168.1.1。
  3. 电脑 B 设置静态 IP:192.168.1.20,网关 192.168.1.1,DNS 192.168.1.1。
  4. A ping B,能通则验证了同网段通信。
  5. A ping 网关,能通则验证了跨网段出口。
  6. 把 A 的网关改成 192.168.1.2,再 ping 外网,观察结果。你会发现即使 IP 配置看起来合法,但网关错了,依然无法访问外网。

做完这一步,你对 IP、子网掩码、网关、DNS 的理解就会扎实很多。之后再去学 DHCP 自动分配、VLAN 隔离、路由协议,会更容易对应上实际场景。

最后留几个我自己排查时会优先看的点:先看网卡是否拿到正确 IP,再看路由表里的默认路由是否存在,然后看 DNS 缓存是否干净,最后才考虑是不是运营商链路或者服务器端问题。大多数故障,其实都出在 IP 配置和网关配置这两个最基础、最不起眼的地方。把基础链路练熟,比背更多协议名称有用得多。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询