Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Linux 核心日誌常見錯誤訊息解析:eth 中斷過多、ICMP/UDP 校驗錯誤、Netfilter 封包抑制、FTP NAT 異常

編輯:系統常見問題解答

dmesg / /var/log/kern.log / journalctl -k 常見核心訊息含義與處置:

1. 網卡中斷風暴

eth1: Too much work at interrupt, IntrStatus=0x0001
  • 含義:單位時間網卡中斷次數過高,CPU 花費過多時間處理封包中斷。
  • 可能原因:
    • 流量突發 (DDoS、備份、掃描)
    • 網卡驅動/韌體錯誤
    • 中斷親和性未設定 (所有中斷集中單核心)
    • NAPI/GRO/GSO/LRO 功能異常
  • 處置:
    1. ethtool -i eth1 確認驅動版本、更新韌體
    2. cat /proc/interrupts | grep eth1 觀察中斷分布,echo 2 > /proc/irq//smp_affinity 分散至多核心
    3. 開啟/調整 NAPI:ethtool -C eth1 rx-usecs 50 rx-frames 32
    4. 啟用 RPS/RFS (Receive Packet Steering/Flow Steering):
    echo ffffffff > /sys/class/net/eth1/queues/rx-0/rps_cpus
    5. 若為 DDoS:上游封鎖、啟用 SYN Cookie、限制連線速率

2. ICMP/UDP 校驗和錯誤

IPVS: incoming ICMP: failed checksum from 61.172.0.X!
UDP: bad checksum. From 221.200.X.X:50279 to 218.62.X.X:1155 ulen 24
UDP: short packet: 218.2.X.X:30723 640/217 to 222.168.X.X:57596
218.26.131.X sent an invalid ICMP type 3, code 13 error to a broadcast: 0.1.0.4 on eth0
  • 含義:收到封包校驗和不符、長度不足、ICMP 類型/代碼無效。
  • 判斷:
    • 偶發 (秒級 < 10) → 網路雜訊、硬體暫時性錯誤、對端實作不標準,**可忽略**。
    • 持續高頻 (分鐘級 > 100) → 掃描攻擊、惡意構造封包、中間設備故障,**需調查**。
  • 處置:
    • 觀察頻率趨勢 (watch -n1 'dmesg -T | tail -20')
    • tcpdump -i eth0 -n 'icmp or udp' -c 100 擷取樣本分析來源
    • 防火牆封鎖惡意來源 IP/網段
    • 確認對端設備 (VPN 閘道、負載平衡器) 封包封裝正確性

3. Netfilter 封包抑制

NET: N messages suppressed.
  • 含義:核心日誌速率限制 (net.core.message_cost, net.core.message_burst) 觸發,N 筆相似訊息被合併/丟棄。
  • 判斷:
    • N < 100 → 正常抑制。
    • N 持續增長、達千以上 → **頻寬耗盡型攻擊** 或 **核心模組迴圈錯誤**。
  • 處置:
    1. dmesg -T | grep -c "suppressed" 統計頻率
    2. 調整抑制閾值 (臨時):sysctl -w net.core.message_cost=1 net.core.message_burst=1000
    3. 定位被抑制的原始訊息:dmesg -T | grep -B5 -A5 "suppressed"
    4. 若為攻擊:上游封鎖、啟用 DDoS 防護服務

4. FTP NAT 追蹤異常

kernel: conntrack_ftp: partial 227 220 54 267 0 3 +13
FTP_NAT: partial packet 2635716056/20 in 2635716048/2635716075
  • 含義:nf_conntrack_ftp 模組解析 FTP PORT/PASV 指令失敗,封包片段不完整或指令格式異常。
  • 常見原因:
    • FTP 客戶端/伺服端實作不標準 (非 RFC 959)
    • 加密控制通道 (FTPS Explicit/Implicit) 導致模組無法解析
    • 封包重組失敗 (MTU、分片)
  • 處置:
    • 被動模式 (PASV) + 固定被動埠範圍 + 防火牆開放該範圍
    • 改用 SFTP (SSH) 或 FTPS (TLS) 繞過 NAT 追蹤
    • 確認 nf_conntrack_ftp 模組已載入:lsmod | grep ftp
    • 調整 conntrack 表大小:sysctl -w net.netfilter.nf_conntrack_max=1000000

5. 關鍵 sysctl 參數速查

參數建議值用途
net.core.netdev_max_backlog10000網卡接收佇列長度
net.core.somaxconn65535TCP 監聽佇列長度
net.ipv4.tcp_max_syn_backlog65535SYN 佇列長度
net.ipv4.tcp_syncookies1SYN Flood 防護
net.netfilter.nf_conntrack_max1000000連線追蹤表大小
net.core.message_cost / message_burst1 / 1000核心日誌抑制閾值

核心日誌是系統健康的脈搏,學會閱讀、過濾、關聯,才能在異常發生前介入。

Copyright © Windows教程網 All Rights Reserved