ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

TCP/IP属性设置与测试:从ipconfig到ping的完整闭环

TCP/IP属性设置与测试:从ipconfig到ping的完整闭环 简介这份PDF面向计算机网络课程的初学者与实验课学生聚焦局域网接入Internet时TCP/IP属性的配置与连通性测试帮助读者在真实Windows环境中完成从参数设置到故障排查的完整训练。资源共1个PDF文件压缩包约557KB内容以实验指导文档形式呈现涵盖IP地址、子网掩码、默认网关与DNS服务器的概念讲解以及ping、ipconfig等命令的用法与典型检测次序。读者可据此掌握ping 127.0.0.1、ping本机IP、ping网关与远程主机等逐层验证思路并学会根据回送应答判断TCP/IP栈、网卡、子网掩码或DNS配置是否存在问题。实验要求两台以上Windows 2000/XP/2003计算机、两人一组协作完成适合作为课堂实验配套材料或课后自测参考。目前已有99人学习便于快速上手网络属性设置与常见连通性排错。1. TCP/IP 属性设置与测试从 ipconfig 到 ping 的完整闭环很多人第一次做网络实验卡住的地方不是不会敲命令而是敲完ipconfig看到一堆地址却说不清哪个是 IP、哪个是网关、哪个是 DNS更不知道改完属性后该怎么验证。TCP/IP 属性设置与测试这件事本质就三步把地址、子网掩码、网关、DNS 填对用ipconfig确认生效再用ping验证连通。它适合网络入门的学生、刚接触服务器运维的工程师以及需要排查「本机到底通不通」的一线人员。这篇笔记按真实操作顺序走一遍把参数含义、命令输出怎么读、常见报错怎么排都讲清楚让你照着做就能复现一个可用的 TCP/IP 配置环境。2. 先搞懂 TCP/IP 属性里每个字段在干什么2.1 IP 地址、子网掩码、网关、DNS 的分工TCP/IP 属性设置界面里通常有四项IP 地址、子网掩码、默认网关、DNS 服务器。它们不是随便填的每一项都对应协议栈里一个明确职责。IP 地址是主机在网络里的门牌号IPv4 下是 32 位写成点分十进制比如192.168.1.10。子网掩码决定这个门牌号所在的小区有多大255.255.255.0表示前三段是网络号最后一段是主机号同一个小区里最多 254 台可用主机。默认网关是小区出口本机要访问别的网段数据包先交给它。DNS 服务器负责把域名翻译成 IP你ping baidu.com能通靠的就是它。这四项里IP 和掩码填错本机可能连自己都认不清网关填错跨网段直接断DNS 填错IP 能通但域名不通。所以测试要分层做别一上来就ping域名。2.2 静态 IP 和自动获取怎么选Windows 里 TCP/IP 属性有两种模式自动获得 IP 地址DHCP和使用下面的 IP 地址静态。选哪个取决于场景。家里、办公室这种有路由器的环境默认用 DHCP路由器自动分配地址、网关、DNS省事且不容易冲突。做实验、搭服务器、配打印机这类需要固定地址的场景才用手动填静态 IP。静态 IP 的坑在于地址必须和网关同网段且不能和 DHCP 地址池里的地址撞车否则会出现「有时通有时不通」的玄学问题。Linux 下对应的是dhcp和static两种配置方式CentOS 7 改的是/etc/sysconfig/network-scripts/ifcfg-网卡名Ubuntu 18 以后多用 netplan 的 yaml。原理一样只是写法不同。2.3 用 ipconfig 读懂本机当前配置设置之前先看现状Windows 下最直接的就是ipconfig。它输出的是当前生效的 TCP/IP 属性是排查的起点。# 查看简要信息IP、掩码、网关 ipconfig # 查看完整信息加上 DNS、MAC、DHCP 状态 ipconfig /all # 释放当前 DHCP 地址 ipconfig /release # 重新申请 DHCP 地址 ipconfig /renew # 清空 DNS 缓存改完 DNS 后常用 ipconfig /flushdnsipconfig不带参数只给基本信息/all才是排查主力能看到「DHCP 已启用」「默认网关」「DNS 服务器」这些关键字段。改完静态 IP 后如果ipconfig里还是旧地址多半是没点确定或者网卡没重新启用。/release和/renew是 DHCP 环境下的后悔药地址拿错了先释放再申请。/flushdns在改完 DNS 或域名解析异常时必用否则系统还在用缓存里的旧记录。Linux 下对应命令是ip addr看地址、ip route看网关、cat /etc/resolv.conf看 DNS。ifconfig在老系统里还能用新系统默认没装建议直接用ip系列。3. 动手设置 TCP/IP 属性Windows 和 Linux 两条路3.1 Windows 图形界面设置静态 IP 的完整步骤图形界面适合新手步骤固定照着点不会错。第一步打开「控制面板 → 网络和 Internet → 网络连接」或者直接WinR输入ncpa.cpl回车。第二步右键正在用的网卡有线一般是「以太网」无线是「WLAN」选「属性」。第三步在列表里双击「Internet 协议版本 4 (TCP/IPv4)」。第四步选「使用下面的 IP 地址」填入 IP、子网掩码、默认网关再选「使用下面的 DNS 服务器地址」填首选和备用 DNS。第五步点确定逐层关闭。填的时候注意IP 和网关必须同网段。比如网关是192.168.1.1你的 IP 就得是192.168.1.x掩码255.255.255.0。DNS 可以填网关地址也可以填公共 DNS比如114.114.114.114和8.8.8.8。填完别急着测域名先ipconfig确认地址生效再ping网关。3.2 用 netsh 命令行批量设置适合脚本化图形界面点多了烦尤其是要配多台机器。Windows 自带netsh可以命令行改适合写进脚本。# 查看所有网卡名称找到要配置的接口名 netsh interface show interface # 设置静态 IP、掩码、网关interface 名按实际改比如以太网 netsh interface ip set address name以太网 static 192.168.1.10 255.255.255.0 192.168.1.1 # 设置首选 DNS netsh interface ip set dns name以太网 static 114.114.114.114 # 追加备用 DNS netsh interface ip add dns name以太网 8.8.8.8 index2 # 改回自动获取 netsh interface ip set address name以太网 sourcedhcp netsh interface ip set dns name以太网 sourcedhcpname后面必须和show interface里显示的接口名完全一致中文系统里常是「以太网」英文是Ethernet写错会报「找不到元素」。static后面依次是 IP、掩码、网关顺序不能乱。add dns的index2表示备用不写会覆盖首选。改回 DHCP 用sourcedhcp这是配错后的后悔药。3.3 Linux 下改 ifcfg 文件并重启网络CentOS 7 这类系统网卡配置文件在/etc/sysconfig/network-scripts/文件名形如ifcfg-ens33。# 先看网卡名 ip addr # 编辑配置文件网卡名按实际改 vi /etc/sysconfig/network-scripts/ifcfg-ens33文件里关键字段这样写TYPEEthernet BOOTPROTOstatic # 静态用 static自动用 dhcp ONBOOTyes # 开机启用必须 yes IPADDR192.168.1.10 # 本机 IP NETMASK255.255.255.0 # 子网掩码 GATEWAY192.168.1.1 # 默认网关 DNS1114.114.114.114 # 首选 DNS DNS28.8.8.8 # 备用 DNS改完保存重启网络服务systemctl restart network # 或者只重启某张网卡 ifdown ens33 ifup ens33BOOTPROTO和ONBOOT是最容易漏的两个字段前者决定静态还是自动后者决定开机是否启用ONBOOTno会导致重启后网卡不工作。DNS1、DNS2是 CentOS 特有的写法会写进/etc/resolv.conf。重启后用ip addr和ip route确认地址和网关生效。4. 用 ping 做分层测试从网关到域名逐级验证4.1 ping 的返回值到底在说什么ping发的是 ICMP 回显请求对方回显应答就说明链路通。输出里几个关键信息bytes是包大小time是往返延迟TTL是生存时间丢包率反映稳定性。# 测网关验证本机到出口通不通 ping 192.168.1.1 # 测公网 IP验证跨网段和路由 ping 114.114.114.114 # 测域名验证 DNS 解析 ping www.baidu.com # 指定次数避免一直刷屏 ping -n 4 192.168.1.1 # Windows ping -c 4 192.168.1.1 # Linux # 指定包大小测 MTU 或大包稳定性 ping -l 1472 192.168.1.1 # Windows ping -s 1472 192.168.1.1 # Linux测试顺序很重要先ping网关通了说明本机 TCP/IP 属性基本正确再ping公网 IP通了说明网关和路由没问题最后ping域名通了说明 DNS 正常。哪一步断问题就锁定在哪一层。-n/-c指定次数脚本里必加否则会一直跑。-l/-s指定包大小1472 加上 28 字节头部正好 1500是常见 MTU 测试值。4.2 常见 ping 报错的含义和排查方向ping报错信息比想象中有用读懂能省很多时间。「请求超时」Request timed out表示包发出去了没回应可能是对方禁 ping、防火墙拦了、或者链路真断。先ping网关确认本机没问题再逐级往外测。「无法访问目标主机」Destination host unreachable通常是本机路由表里没有到目标的路径网关没配或配错。「传输失败常见故障」Transmit failed, General failure多见于网卡被禁用、驱动异常、或者 IP 冲突先看ipconfig里网卡状态。「Ping 请求找不到主机」Ping request could not find host是 DNS 解析失败域名没解析出来检查 DNS 配置必要时ipconfig /flushdns。Linux 下还有ping: baidu.com: Temporary failure in name resolution同样是 DNS 问题看/etc/resolv.conf里有没有可用的 nameserver。4.3 用 ping 结果反推 TCP/IP 属性哪里填错把ping结果和属性设置对应起来排查会快很多。ping网关不通但ipconfig显示地址正常多半是网关填错或者掩码填错导致本机认为网关不在同网段。检查 IP 和网关是否同网段、掩码是否一致。ping网关通ping公网 IP 不通本机到出口没问题问题在网关往外可能是网关本身没联网或者本机没配网关。确认默认网关字段是否为空。ping公网 IP 通ping域名不通TCP/IP 属性里 IP、网关都对唯独 DNS 有问题。检查 DNS 服务器地址或者用nslookup单独验证解析。ping自己ping 127.0.0.1都不通协议栈本身有问题重装网卡驱动或检查系统网络组件。5. 避坑与排查TCP/IP 设置里最容易翻车的 5 个点5.1 现象改完静态 IPipconfig 还是旧地址原因图形界面点了取消或者网卡没重新启用配置没真正下发。命令行改的话可能是netsh接口名写错命令报错但没注意。解决重新打开 TCP/IPv4 属性确认填的内容还在不在就重填。命令行用netsh interface ip show config看实际生效值。必要时禁用再启用网卡或者ipconfig /release后重新配。5.2 现象ping 网关通ping 域名报「找不到主机」原因DNS 没配或配错也可能是 DNS 缓存里是旧记录。CentOS 7 里如果ifcfg只写了DNS1但没重启网络/etc/resolv.conf不会更新。解决Windows 下ipconfig /all看 DNS 服务器字段空的话补上然后ipconfig /flushdns。Linux 下cat /etc/resolv.conf确认有nameserver没有就检查ifcfg里的DNS1并重启网络。5.3 现象IP 和网关同网段但就是 ping 不通网关原因IP 地址和局域网里另一台设备冲突或者交换机端口划了 VLAN本机网关根本不在这个广播域。也可能是防火墙拦了 ICMP。解决先换一个没人用的 IP 试。Windows 下 IP 冲突会弹提示Linux 下arping能查冲突。确认网线插对端口、VLAN 划分正确。临时关防火墙测通了再按需放行 ICMP。5.4 现象ping 显示「一般故障」或「传输失败」原因网卡被禁用、驱动异常、网线没插好或者 IP 地址没配上。Windows 里网卡图标带红叉就是物理层没通。解决看网卡状态禁用就启用红叉就查网线和水晶头。ipconfig里如果 IP 是169.254.x.x说明 DHCP 没拿到地址手动配静态或检查 DHCP 服务。5.5 现象能 ping 通 IP但浏览器打不开网页原因TCP/IP 属性里 IP、网关、DNS 都对但可能是代理设置、防火墙出站规则、或者应用层问题。ping 只测到网络层不代表应用层通。解决用telnet或curl测目标端口比如curl -I http://www.baidu.com。检查系统代理设置是否被改。这一步已经超出 TCP/IP 属性范围但排查思路要清楚ping 通只说明三层通四层以上还得单独测。6. 进阶把 TCP/IP 测试写成可复用的检查脚本手工敲命令做一次实验没问题但要反复验证或者批量查机器就得脚本化。我一般会写一个分层检查脚本把ipconfig、ping网关、ping公网、ping域名串起来一步出结果。Windows 批处理版echo off REM 打印当前 TCP/IP 配置 echo 当前配置 ipconfig /all | findstr /C:IPv4 /C:默认网关 /C:DNS 服务器 REM 测网关网关地址按实际改 echo 测试网关 ping -n 2 192.168.1.1 REM 测公网 IP echo 测试公网 ping -n 2 114.114.114.114 REM 测域名解析 echo 测试 DNS ping -n 2 www.baidu.com pauseLinux shell 版#!/bin/bash # 打印地址和网关 echo 当前配置 ip addr show ip route show # 测网关按实际改 echo 测试网关 ping -c 2 192.168.1.1 # 测公网 echo 测试公网 ping -c 2 114.114.114.114 # 测 DNS echo 测试 DNS ping -c 2 www.baidu.com脚本的价值在于把「先看配置、再分层 ping」这个固定流程固化下来换台机器改个网关地址就能用。findstr用来过滤ipconfig输出只留关键行避免刷屏。-n 2和-c 2控制次数脚本里不要用无限 ping。再进阶一点可以把结果重定向到文件加时间戳做成简单的巡检记录#!/bin/bash LOGnet_check_$(date %Y%m%d_%H%M%S).log { echo 检查时间: $(date) ip addr show ip route show ping -c 2 192.168.1.1 ping -c 2 114.114.114.114 ping -c 2 www.baidu.com } $LOG 21 echo 结果已写入 $LOG这样每次排查都有据可查比凭记忆强。参数上唯一要注意的是网关地址和网卡名不同环境不一样脚本头部用变量抽出来更好维护。一个我踩过的坑早期图省事脚本里直接写死网关换到另一个网段跑ping全超时还以为是网络坏了查了半天才发现是脚本没改。后来养成习惯网关、网卡名、DNS 全放脚本开头当变量改一处就行。TCP/IP 属性设置和测试这件事命令本身不难难的是每次环境变了还记得改哪里。把变量抽出来、把分层测试顺序固定下来能省掉大量重复排查。希望帮到你。本文还有配套的精品资源点击获取
返回列表