作为运维新手,最头疼的问题莫过于网络故障排查:
-
为什么服务器连不上网? -
客户端访问服务超时是哪里的问题? -
ping通了但业务就是不通,到底咋回事?
其实这些问题的核心,都绕不开 TCP/IP 协议——它就像网络世界的“交通规则”,掌握了基础规则,再顺着固定逻辑排查,就能快速定位问题。
今天就用最通俗的语言讲清 TCP/IP 核心基础,再给出一套新手也能直接套用的排查流程。

一、先搞懂:TCP/IP 协议的“分层逻辑”(新手不用死记,理解就行)
TCP/IP 不是单个协议,而是一套协议族,为了方便理解和排查问题,我们用“分层模型”来拆解它(常用 4 层模型,对应实际应用更直观)。
可以把它想象成“快递运输流程”,每一层负责不同的工作,故障排查也能按“层”定位——哪一层出问题,就聚焦哪一层解决。

1. 4 层模型拆解(从下到上)
网络接口层(最底层):相当于“快递的运输链路”,比如网线、WiFi、以太网协议等,负责把数据从一台设备的物理端口传到另一台设备。常见问题:网线松动、网卡故障、MAC 地址冲突。
网络层:相当于“快递的地址导航”,核心协议是 IP 协议(比如 IPv4、IPv6),负责给设备分配“IP 地址”(类似快递收件人地址),并通过路由找到数据传输的路径。常见问题:IP 地址冲突、路由配置错误、子网掩码设置不对。
传输层:相当于“快递的运输方式”,负责保障数据传输的可靠性或效率,核心协议是 TCP 和 UDP: 常见问题:端口被占用、连接超时、丢包。
-
TCP:可靠传输(像寄顺丰,会确认收件人收到),需要“三次握手”建立连接,“四次挥手”断开连接,适合业务数据(比如网页访问、文件传输); -
UDP:不可靠传输(像寄普通平邮,不确认是否收到),速度快,适合实时数据(比如视频通话、游戏)。
应用层(最上层):相当于“快递的具体内容”,是我们实际使用的应用对应的协议,比如 HTTP/HTTPS(网页访问)、FTP(文件传输)、SSH(远程登录)、DNS(域名解析)。常见问题:应用配置错误、服务未启动、域名解析失败。
2. 核心结论(排查关键)
数据传输是“从上层到下层,再从下层到上层”的过程(比如访问网页:浏览器→HTTP→TCP→IP→网卡→网络→目标服务器→反向解析)。
所以排查故障时,要遵循“从底层到上层”或“从本地到远端”的逻辑——先确认物理链路通不通,再看 IP 路由对不对,接着检查端口连接,最后看应用服务是否正常。
基本这一套顺序流程排查下来,能解决你99.9%的问题。
二、新手必会:TCP/IP 基础排查命令(直接套用)
掌握这几个核心命令,就能解决 80% 的基础网络问题,每个命令对应一层的排查,记好对应关系就行。
1. 网络接口层排查:确认本地网卡正常
核心命令:ip addr(或旧命令 ifconfig)
作用:查看本地网卡状态、IP 地址、MAC 地址。
解读要点:
如果网卡状态是“DOWN”(比如
eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP>中的 NO-CARRIER),说明网卡未启用或网线松动,执行ip link set eth0 up启用,或检查网线;如果没有分配到 IP 地址(比如显示
inet 0.0.0.0/0),说明 DHCP 分配失败或静态 IP 配置错误,检查 IP 配置文件(CentOS:/etc/sysconfig/network-scripts/ifcfg-eth0;Ubuntu:/etc/netplan/01-netcfg.yaml)。
2. 网络层排查:确认 IP 可达(路由通不通)
核心命令:ping
作用:测试目标 IP 的连通性,基于 ICMP 协议(网络层协议),能判断本地到目标的链路是否通、延迟和丢包情况。
使用示例:
测试本地网关:
ping 192.168.1.1(网关是本地网络的“出口”,连不上网关就出不了局域网);测试公网 IP:ping 223.5.5.5(阿里 DNS,公网连通性测试常用);测试目标服务器:ping 10.0.0.100(你的业务服务器 IP)。
解读要点:
如果
Request timeout(请求超时):可能是目标设备防火墙禁止 ICMP、路由不通、目标设备宕机;如果Destination Host Unreachable(目标主机不可达):大概率是子网掩码错误或路由配置问题;丢包率高(比如 50% packet loss):说明链路不稳定,检查网线、交换机、路由器等设备。
3. 传输层排查:确认端口是否开放(服务能不能连接)
核心命令:telnet 或 nc(netcat)
作用:测试目标 IP 的指定端口是否开放,确认 TCP 连接能否建立(UDP 可用 nc -u 测试)。
使用示例:
测试服务器 80 端口(HTTP 服务):
telnet 10.0.0.100 80;测试服务器 22 端口(SSH 服务):nc -zv 10.0.0.100 22(-z 只检测端口,不发送数据;-v 显示详细信息)。
解读要点:
如果显示
Connected to 10.0.0.100(telnet)或succeeded!(nc):端口开放,TCP 连接可建立;如果显示Connection refused(连接被拒绝):端口未开放,可能是服务未启动或防火墙禁止该端口;如果超时:可能是目标设备防火墙拦截、网络链路中断(但 ping 可能通,因为 ICMP 和 TCP 是不同协议,防火墙可能只禁 TCP)。
4. 应用层排查:确认服务和解析正常
核心命令:curl(测试 HTTP/HTTPS 服务)、nslookup/dig(测试 DNS 解析)
使用示例:
测试 HTTP 服务:
curl http://10.0.0.100(如果返回网页内容,说明服务正常);测试 DNS 解析:nslookup www.baidu.com(如果能解析出 IP,说明 DNS 正常;如果显示server can't find www.baidu.com,说明 DNS 配置错误)。
三、一套带走:新手网络排查流程(按顺序来,不混乱)
遇到网络问题时,不用慌,按下面的步骤一步步排查,就能快速定位问题所在。以“客户端无法访问服务器上的 Web 服务(80 端口)”为例,演示排查流程:
步骤 1:检查本地客户端网络(先确认自己没问题)
-
用 ip addr确认本地网卡正常、有正确的 IP 地址(比如 192.168.1.100); -
用 ping 192.168.1.1测试连网关,能通说明本地局域网正常; -
用 ping 223.5.5.5测试连公网,能通说明出网正常(如果访问的是公网服务)。
步骤 2:测试客户端到服务器的链路(看中间通不通)
-
用 ping 服务器IP(比如 10.0.0.100)测试,能通说明链路可达; -
如果 ping 不通:用 traceroute 10.0.0.100(Windows 用tracert)查看路由跳数,找到中断的节点(比如在第 3 跳超时,说明该节点路由器有问题)。
步骤 3:测试服务器端口是否开放(看服务能不能连接)
-
用 telnet 10.0.0.100 80测试 80 端口,若显示“Connection refused”:登录服务器检查 Web 服务是否启动(systemctl status nginx或systemctl status apache); -
若服务已启动但端口仍不通:检查服务器防火墙(CentOS 用 firewall-cmd --list-ports,Ubuntu 用ufw status),确认 80 端口已放行; -
若防火墙已放行仍不通:检查服务器是否有安全组(云服务器,比如阿里云、腾讯云),安全组需开放 80 端口。
步骤 4:测试应用服务是否正常(最后确认上层服务)
-
登录服务器,用 curl http://127.0.0.1测试本地访问 Web 服务,若返回正常内容,说明服务本身没问题; -
若本地访问也不正常:检查应用配置文件(比如 Nginx 的 nginx.conf),看端口是否配置正确、根目录是否存在、日志是否有错误( tail -f /var/log/nginx/error.log); -
若访问的是域名(比如 www.test.com):用 nslookup www.test.com测试 DNS 解析,看是否解析到正确的服务器 IP,若解析错误,检查 DNS 配置(/etc/resolv.conf)。
四、新手避坑:常见 TCP/IP 故障误区
误区 1:ping 通就代表服务正常?—— 错!ping 是 ICMP 协议(网络层),服务是 TCP/UDP 协议(传输层)+ 应用层,可能 ping 通但端口被防火墙拦截,服务仍无法访问;
误区 2:端口开放就代表服务正常?—— 错!端口开放可能是其他服务占用,或应用服务启动后异常退出,需要用 curl 等命令测试应用本身是否能正常响应;
误区 3:只查服务器不查客户端?—— 错!很多时候问题出在客户端(比如 IP 冲突、DNS 配置错误),先确认客户端正常能少走很多弯路;
误区 4:忽略防火墙和安全组?—— 错!云服务器的安全组、本地的防火墙是端口不通的常见原因,排查时一定要检查这两项。
TCP/IP 协议基础不用死记硬背,理解“分层逻辑”是关键,排查时遵循“从底层到上层、从本地到远端”的顺序,用好转发的几个基础命令,就能解决大部分基础网络问题。新手刚开始可以按流程一步步来,熟练后就能快速定位问题了。
如果在实际排查中遇到具体问题(比如 ping 通但端口不通、DNS 解析异常等),欢迎在评论区留言,一起交流解决!关注我,后续会分享更多运维实战技巧,让新手少踩坑~
END
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:https://www.qiuyl.com/xueyw/513


Abutogel: <a href=" https://abutowin.icu/# ">S...