Linux服务器网络告警_网络告警处理思路

2次阅读

网络告警需分层定位,先验证连通性(ping 8.8.8.8)和dns解析(nslookup google.com 8.8.8.8),再查接口、路由、防火墙、安全组及selinux策略,结合日志与ss/dig命令精准排障。

Linux服务器网络告警_网络告警处理思路

网络告警不是孤立事件,而是系统通信链路某一层出现异常的信号。处理关键在于快速分层定位、避免盲目重启或改配置,优先确认“通不通”和“解析不解析”,再深入查“快不快”和“稳不稳”。

先验证基础连通性与DNS解析

这是90%网络告警的第一排查点。用两组命令快速切分问题域:

  • IP层是否通畅:执行 ping -c 3 8.8.8.8。能通 → 说明物理链路、网关、路由、防火墙OUTPUT方向基本正常;不通 → 检查网卡状态(ip link show)、默认路由(ip route | grep default)、本地iptables OUTPUT链(iptables -L OUTPUT -n | grep 53尤其注意udp 53是否被DROP)
  • DNS是否可用:执行 nslookup google.com 8.8.8.8。能解析 → 说明DNS服务本身可用,问题在本地/etc/resolv.conf配置或NetworkManager策略;不能解析但ping 8.8.8.8成功 → 高概率是本机防火墙阻断了UDP 53端口,或DNS服务器地址配置错误

检查网络接口与路由表状态

接口宕掉、地址丢失、路由错乱都会直接触发网络类告警,且常伴随“无网络连接”“网关不可达”等提示:

  • 运行 ip addr show 确认主网卡(如eth0、ens192)是否有有效IPv4地址、状态为UP、没有重复IP(DUPLICATE)标记
  • 运行 ip route show 查看是否存在默认路由(default via xxx),若缺失,需检查网络配置文件(如/etc/netplan/*.yaml/etc/sysconfig/network-scripts/ifcfg-*)并重载网络服务
  • 虚拟化环境,还需确认VMware/Hyper-V侧网络适配器是否启用、端口组绑定正确,ethtool eth0link detected: yes 是物理连通的硬指标

分析防火墙与安全策略影响

很多“网络不通”实际是策略拦截,而非故障。重点盯三处:

  • 主机防火墙centos/RHEL用 firewall-cmd --list-allubuntuufw status verbose,查看是否误启了全局拒绝规则;传统iptables需重点检查input/OUTPUT/FORWARD链中针对53(DNS)、22(ssh)、80/443(业务)端口的DROP规则
  • 云平台安全组:阿里云/腾讯云/AWS控制台中,确认入方向(Inbound)是否放行了业务端口,出方向(Outbound)是否限制了DNS(UDP 53)或NTP(UDP 123)等基础协议
  • SELinux/AppArmor:若服务突然失联但端口监听正常,可临时设为宽容模式测试:setenforce 0(SELinux)或 aa-complain /usr/bin/nginx(AppArmor),确认是否策略拦截网络套接字创建

结合日志与实时连接追踪

当现象模糊(如“间歇性超时”“部分域名失败”),需借助日志和连接快照交叉印证:

  • 查系统日志中的网络相关线索:journalctl -u systemd-networkd --since "1 hour ago" | grep -i "link|dhcp|route"(NetworkManager环境则换为 systemd-resolved
  • 抓当前活跃连接:ss -tulnp | grep ':80|:443' 看Web服务是否真在监听;netstat -tuln | grep ':53' 看本地DNS服务(如dnsmasq)是否运行
  • 对DNS类告警,用 dig @127.0.0.1 google.com +short 测试本地解析器,再换公共DNS对比,可快速区分是上游DNS故障还是本机缓存/转发异常
text=ZqhQzanResources