问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

CentOS网络故障排查秘笈:实战指南

创作时间:
作者:
@小白创作中心

CentOS网络故障排查秘笈:实战指南

引用
CSDN
1.
https://blog.csdn.net/fox9916/article/details/136540149

前言

在网络运维工作中,网络故障排查是一项常见且重要的任务。本文将从多个维度介绍网络故障的常见原因,并提供详细的排查步骤和具体的操作命令,帮助读者快速定位和解决网络问题。

本文主要基于CentOS 7系统进行讲解,但其中的排查方法和命令对于其他Linux发行版也具有参考价值。不同系统可能在命令工具、配置文件等方面存在差异,但基本的排查思路是通用的。

网络故障的常见原因

导致网络发生故障的原因有很多,但常见的主要包括以下几个方面:

  • 网络接口配置错误:IP 地址、子网掩码、网关配置错误。
  • DNS 配置错误或 DNS 服务器不可达
  • 网络硬件故障:网线连接不良或损坏、网络接口卡硬件故障、网络交换机或路由器故障。
  • 防火墙配置错误:防火墙规则设置错误或防火墙服务未启动。
  • 服务未启动或配置错误:网络服务未启动或配置文件错误。
  • 路由配置错误:路由表配置错误或网关配置错误。
  • DNS 解析问题:DNS 解析配置错误或 DNS 服务器不可用。
  • 网络流量拥塞:网络带宽使用过大或网络设备过载。
  • 安全策略限制:SELinux 或其他安全策略阻止网络访问。

排除网络故障的基本流程

在CentOS中,排除网络故障可以遵循以下基本流程:

  1. 检查网络连接:使用ping命令测试与远程主机之间的连通性。
  2. 检查IP地址和网关设置:使用ifconfig或ip命令检查当前网络接口的配置。
  3. 检查DNS解析:使用nslookup或dig命令查询域名的IP地址。
  4. 检查防火墙设置:使用iptables命令查看防火墙规则是否正确配置。
  5. 检查网络服务:使用systemctl命令检查网络服务的状态。
  6. 检查网络设备:如果上述步骤都无法解决问题,可能是网络设备或线路出现了问题。

下面是一些具体的排查步骤:

验证网络物理连接

检查网线是否插好、接插入的接口是否正确以及相关的网络设备,如交换机、路由器的指示灯状态是否正常。

检查网络连接状态

使用ping命令

使用 ping 命令可以测试与指定主机之间的连通性。例如:

ping -c 4 baidu.com

这将向 baidu 发送 4 个 ICMP 回显请求,并显示每个请求的响应时间和状态。

使用curl命令

使用curl -I 命令可以向https://www.baidu.com 发送 HTTP HEAD 请求,并显示服务器返回的 HTTP 头信息:

curl -I https://www.baidu.com

使用 ip link

使用 ip link 命令可以查看系统中所有网络接口的状态:

ip link

确保所有网络接口都处于 UP(已启用)状态。

检查网络接口配置

查看ifcfg-ens33

网络接口的配置文件通常位于 /etc/sysconfig/network-scripts/ifcfg-ens33。例如:

cat /etc/sysconfig/network-scripts/ifcfg-ens33

配置内容示例(静态IP):

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="cd43292c-4ccc-45df-a7ea-e8cc847143c8"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.253.166
NETMASK=255.255.255.0
GATEWAY=192.168.253.2
DNS1=114.114.114.114
DNS2=114.114.115.115

配置内容示例(动态IP):

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="DHCP"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="cd43292c-4ccc-45df-a7ea-e8cc847143c8"
DEVICE="ens33"
ONBOOT="yes"

使用 ip addr

使用 ip addr 命令可以查看系统中所有网络接口的配置信息:

ip addr

使用ifconfig

使用ifconfig命令可以查看当前网络接口的配置:

ifconfig

检查DNS 解析

检查resolv.conf

检查 /etc/resolv.conf 文件的 DNS 配置:

cat /etc/resolv.conf

检查DNS 服务器是否可达

使用 ping 命令检查 DNS 服务器是否可达:

ping -c 4 8.8.8.8

检查网络路由

使用 ip route 命令可以查看系统的路由表:

ip route

检查防火墙设置

检查防火墙状态

查看防火墙的当前状态:

sudo firewall-cmd --state

检查允许通过防火墙的端口

列出当前防火墙中允许通过的端口:

sudo firewall-cmd --list-port

开放新端口:

sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo systemctl restart firewalld.service

检查端口连通性:

telnet 192.168.253.166 3306

检查网络服务

使用 systemctl 命令检查网络服务的状态:

systemctl status network
systemctl status NetworkManager
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号