TCP-IP属性设置与连通性测试:从ipconfig到ping的排障链路 简介这份PDF面向计算机网络课程的初学者与实验课学生聚焦局域网接入Internet时TCP/IP属性的配置与连通性测试帮助读者在动手实践中理解IP地址、子网掩码、默认网关和DNS服务器的作用与设置方法。资源包共1个PDF文件大小约557KB内容以实验指导文档形式呈现涵盖实验目的、设备与分组要求、预备知识及ping、ipconfig等命令的使用说明并给出从ping 127.0.0.1到ping远程主机的典型检测次序与故障分析思路。目前已有99人学习。读者可借助它完成两人一组的实验任务掌握TCP/IP属性修改流程学会依据ping与ipconfig的返回结果判断本地协议栈、网卡、网关及DNS配置是否正常从而积累网络排错经验适合作为课堂实验配套参考或课后复习材料。1. 从一份实验报告说起TCP-IP 属性设置与测试到底在测什么很多人第一次拿到「计算机网络 实验1 TCP-IP属性设置与测试.pdf」这类实验任务时第一反应是打开虚拟机敲两行ipconfig截图交差。但真正做过排障的人知道这个实验的核心不是背命令而是建立一套「先看本机属性、再验证连通性、最后定位故障层」的排查链路。它解决的是最朴素也最高频的问题两台机器为什么 ping 不通、DNS 为什么解析失败、IP 地址到底是静态配还是 DHCP 拿。适合网络运维、后端开发、嵌入式联网调试以及准备 linux 面试题测试里网络部分的人。下面按「属性怎么设 → 怎么测 → 坑在哪」把这条链路拆开讲透。2. TCP-IP 属性设置从 ipconfig 输出反推该配什么2.1 四个属性决定一台主机能不能上网一台主机的 TCP-IP 属性落到配置界面里其实就四项IP 地址、子网掩码、默认网关、DNS 服务器。这四项不是随便填的它们各自对应一个判断逻辑。IP 地址决定「我是谁」子网掩码决定「谁和我同网段」默认网关决定「跨网段找谁转发」DNS 决定「域名翻译成哪个 IP」。四者缺一现象完全不同缺网关只能通内网缺 DNS 能 ping 通 IP 但打不开域名掩码配错会出现「同网段却 ping 不通」这种最容易被误判成硬件故障的情况。在 Windows 上查看当前属性最直接的是ipconfig /all在 Linux 上是ip addr加ip route加cat /etc/resolv.conf三条组合。很多人只记ipconfig但ipconfig不带/all时看不到 DNS 和 DHCP 状态排障时信息不够。# Windows查看完整 TCP-IP 属性含 DNS、DHCP、MAC ipconfig /all # Linux分三条看比一条 ipconfig 更清晰 ip addr show # 看 IP 和掩码 ip route show # 看默认网关 cat /etc/resolv.conf # 看 DNS 服务器逻辑说明ipconfig /all输出里重点看「IPv4 地址」「子网掩码」「默认网关」「DNS 服务器」四行以及「DHCP 已启用」是 yes 还是 no。Linux 侧拆成三条是因为ip addr只管地址路由和 DNS 是独立子系统混在一起看容易漏。参数上ip addr show可以加网卡名如ip addr show eth0只看某块网卡ip route show默认只看主路由表多网卡场景要加table参数。2.2 静态配置和 DHCP 怎么选选静态还是 DHCP判断标准只有一个这台机器需不需要一个「别人能稳定找到它」的地址。服务器、打印机、网络设备管理口配静态员工笔记本、测试机、临时容器用 DHCP。Windows 下改静态图形界面路径是「网络适配器 → 属性 → Internet 协议版本 4 → 使用下面的 IP 地址」。命令行更可控# Windows用 netsh 配静态 IP适合脚本化 netsh interface ip set address name以太网 static 192.168.1.50 255.255.255.0 192.168.1.1 netsh interface ip set dns name以太网 static 223.5.5.5 # Linuxnetplan 体系Ubuntu 18.04 # /etc/netplan/01-netcfg.yaml network: version: 2 ethernets: eth0: dhcp4: no addresses: [192.168.1.50/24] gateway4: 192.168.1.1 nameservers: addresses: [223.5.5.5, 119.29.29.29]逻辑说明netsh那条命令里name必须和「网络连接」里显示的适配器名完全一致中文系统常见是「以太网」写错会报「找不到元素」。Linux 的 netplan 改完必须执行sudo netplan apply只改文件不 apply 是不生效的这是新手最常见的翻车点。参数上/24等价于255.255.255.0网关必须和本机 IP 在同一网段否则 apply 会直接报错。提示改静态 IP 前先ipconfig /all记下当前 DHCP 分配的地址和网关改错了还能照着改回来这就是排障的后悔药。2.3 属性配完先自检别急着 ping 别人配完属性正确的顺序是先看本机回环再看网关最后才看外网。跳过前两步直接 ping 百度一旦不通你根本不知道是属性错、网关错还是 DNS 错。# 第一步回环验证协议栈本身正常 ping 127.0.0.1 # 第二步本机地址验证网卡和 IP 绑定正常 ping 192.168.1.50 # 第三步网关验证二层和路由可达 ping 192.168.1.1 # 第四步外网 IP验证路由转发 ping 223.5.5.5 # 第五步域名验证 DNS ping www.baidu.com逻辑说明这五步是一条故障分层链。127.0.0.1 不通说明协议栈或防火墙有问题本机地址不通说明网卡没起来网关不通说明网线、VLAN 或掩码有问题外网 IP 通但域名不通问题 100% 在 DNS。参数上ping默认发 4 个包排障时建议加-tWindows或-c 100Linux持续压测看丢包率而不是只看通不通。3. 连通性测试ping 和 ipconfig 的组合排查法3.1 ping 的返回值到底在说什么ping不是只有「通」和「不通」两种结果。它的输出里藏着大量信息延迟、TTL、丢包率、错误类型。看懂这些比多敲十条命令有用。TTL 值能反推对端系统Windows 默认 128Linux 默认 64经过路由器每跳减一。如果你 ping 一个「Linux 服务器」却收到 TTL128那它大概率是 Windows 或者中间有 NAT。延迟突然从 1ms 跳到 200ms说明路径变了或者链路拥塞。错误信息更关键。Request timed out是包发出去了没回应可能是对端防火墙丢弃也可能是路由不可达。Destination host unreachable是本机路由表里根本没有去往目标的路径通常是网关没配或网关挂了。ping: baidu.com: temporary failure in name resolution是 DNS 解析失败跟网络连通性无关别去查网线。# Windows持续 ping 看丢包和抖动 ping -t 192.168.1.1 # Linux指定包大小和次数测 MTU 相关问题 ping -c 100 -s 1472 192.168.1.1 # 追踪路径定位是哪一跳开始不通 tracert 223.5.5.5 # Windows traceroute 223.5.5.5 # Linux逻辑说明-s 1472是测 MTU 的经典用法1472 字节数据加 28 字节 IP/ICMP 头正好 1500如果这个大小不通而小包通说明路径 MTU 有问题。tracert输出里如果前几跳通、中间某跳开始全是*问题就在那一跳之后的链路而不是你的本机属性。3.2 ipconfig 媒体已断开连接意味着什么ipconfig输出里出现「媒体已断开连接」是很多人搜到的高频问题。它的字面意思是网卡没有检测到链路信号也就是物理层没通。原因通常有三类网线没插好或坏了、交换机端口没启用、网卡驱动异常。排查顺序先换一根网线再看交换机端口指示灯最后在设备管理器里看网卡有没有黄色感叹号。如果是虚拟机检查虚拟网络编辑器的桥接/ NAT 设置以及宿主机对应的虚拟网卡有没有启用。这个错误跟 IP 配置无关改 IP 是白费功夫。# Windows看网卡链路状态 netsh interface show interface # Linux看网卡是否 UP 以及有没有 carrier ip link show eth0 ethtool eth0 | grep -i link逻辑说明netsh interface show interface的「状态」列会显示「已连接」或「已断开」直接对应媒体状态。Linux 的ip link show里state UP且LOWER_UP才代表链路和协议都起来了只有UP没有LOWER_UP说明网线或对端有问题。ethtool的Link detected: yes/no是最直接的物理层判断。3.3 用 ping 包大小快速判断 MTU 和分片问题有些场景 ping 小包通、大包不通比如能 ping 通网关但传文件卡死或者某些网站能打开首页但加载不了图片。这往往是 MTU 或分片问题。判断方法是用不同大小的包去 ping找到「能通的最大包」。Windows 下ping -l 大小 -f 目标-f表示不分片Linux 下ping -s 大小 -M do 目标。# Windows从 1472 往下试找到不分片能通的最大值 ping -l 1472 -f 223.5.5.5 ping -l 1400 -f 223.5.5.5 # Linux-M do 禁止分片 ping -s 1472 -M do 223.5.5.5逻辑说明如果 1472 不通但 1400 通说明路径 MTU 小于 1500常见于 PPPoE 拨号或某些隧道环境。解决办法是把本机 MTU 调小Windows 用netsh interface ipv4 set subinterface 以太网 mtu1400 storepersistentLinux 用ip link set eth0 mtu 1400。参数上-f和-M do是关键不加这两个参数系统会自动分片测不出真实 MTU。4. 避坑与排查TCP-IP 属性设置里最容易翻车的五件事4.1 现象同网段两台机器 ping 不通但都能上网原因子网掩码配错。比如 A 是192.168.1.10/24B 是192.168.1.20/25。B 的掩码是 255.255.255.128它认为192.168.1.10不在自己网段于是把包发给网关网关再转回来如果网关没开代理 ARP 就丢了。解决统一同网段所有机器的掩码用ipconfig /all逐台核对。跨网段通信必须走网关同网段通信靠 ARP掩码不一致会破坏这个判断。4.2 现象ping 域名报 temporary failure in name resolution原因DNS 没配或配错。Linux 下/etc/resolv.conf被 NetworkManager 覆盖手动改完重启就丢。解决不要直接改/etc/resolv.conf在 netplan 或nmcli里配 DNS。临时验证可以echo nameserver 223.5.5.5 /etc/resolv.conf但要知道这是临时的。用nslookup www.baidu.com 223.5.5.5直接指定 DNS 测试能区分是 DNS 服务器问题还是本机配置问题。4.3 现象ping 内网显示「一般故障」原因Windows 下这个提示通常对应 ICMP 被防火墙拦截或者目标主机开启了「文件和打印机共享」的防火墙规则但没放行 ICMP。解决在目标机防火墙入站规则里启用「文件和打印机共享回显请求 - ICMPv4-In」。如果是 Linux检查iptables -L -n或firewall-cmd --list-all有没有 DROP icmp。注意ping 不通不代表服务不通很多服务器禁 ping 但 80 端口正常别把禁 ping 当成宕机。4.4 现象改了静态 IP 后彻底断网连网关都 ping 不通原因网关地址填错或者 IP 和网关不在同一网段。比如 IP 填192.168.1.50网关填192.168.0.1本机路由表里根本没有去往192.168.0.1的路径。解决网关必须和本机 IP 在同一子网。改之前先ipconfig /all抄下 DHCP 给的网关照着填。如果已经断网Windows 下用netsh interface ip set address name以太网 sourcedhcp切回自动获取Linux 下把 netplan 的dhcp4改回yes再 apply。4.5 现象虚拟机里 ping 不通外网宿主机正常原因虚拟机网络模式选错。NAT 模式下虚拟机可以访问外网但外网访问不了虚拟机桥接模式下虚拟机和宿主机同网段但需要局域网有 DHCP 或手动配同网段 IP仅主机模式完全隔离。解决先确认需求。要上网选 NAT要被局域网其他机器访问选桥接。桥接模式下如果局域网没有 DHCP必须手动配和宿主机同网段的静态 IP 和网关。检查虚拟机网卡是否连接VMware 里「已连接」和「启动时连接」两个勾都要打上。5. 进阶技巧把属性设置和测试写成可复用的自检脚本单次实验做完就忘是这类实验最大的浪费。我一般会把「属性检查 分层 ping DNS 验证」写成一个脚本换台机器直接跑三秒定位问题层。下面这个 bash 脚本在 Linux 上可直接用Windows 可以用 PowerShell 改写。#!/bin/bash # netcheck.sh - TCP-IP 属性与连通性分层自检 GATEWAY$(ip route | awk /default/ {print $3}) DNS$(grep nameserver /etc/resolv.conf | head -1 | awk {print $2}) TARGET_IP223.5.5.5 TARGET_DOMAINwww.baidu.com echo 本机属性 ip -4 addr show | grep inet echo 网关: $GATEWAY echo DNS: $DNS echo 分层连通性 ping -c 2 127.0.0.1 /dev/null echo [OK] 回环 || echo [FAIL] 协议栈异常 ping -c 2 $GATEWAY /dev/null echo [OK] 网关 || echo [FAIL] 网关不可达查网线/VLAN/掩码 ping -c 2 $TARGET_IP /dev/null echo [OK] 外网IP || echo [FAIL] 路由转发异常 ping -c 2 $TARGET_DOMAIN /dev/null echo [OK] DNS解析 || echo [FAIL] DNS异常检查 $DNS逻辑说明脚本先抓网关和 DNS再按回环、网关、外网 IP、域名四层依次 ping每层给出明确的失败提示。这样输出一眼就能看出问题在哪一层不用人肉判断。参数上-c 2只发两个包够快生产排障可以改成-c 10看丢包率。awk /default/ {print $3}抓默认路由的网关地址多网卡场景要指定dev eth0。再补一个 DNS 专项验证因为 DNS 问题最容易被误判成「网络不通」# 直接指定 DNS 服务器查询绕开本机配置 nslookup www.baidu.com 223.5.5.5 dig 223.5.5.5 www.baidu.com short # 对比本机默认 DNS 的结果 nslookup www.baidu.com逻辑说明如果指定 DNS 能解析而默认不能说明本机/etc/resolv.conf配错或被覆盖如果两个都不能说明 DNS 服务器本身有问题或到 DNS 的网络不通。dig short只输出解析结果适合脚本里做判断。最后说个我自己的习惯每次配完静态 IP我一定先ping网关再ping一个外网 IP最后ping域名三步都过了才认为配置完成。这个顺序帮我省掉了无数次「以为配好了结果 DNS 没填」的返工。属性设置和测试从来不是两个独立步骤而是一条链上的两个环节配的时候就要想着怎么测测的时候要能反推配错在哪。希望帮到你。本文还有配套的精品资源点击获取