用 Syslog 定位 CentOS 网络问题的实操流程
一、准备与定位日志来源
sudo systemctl status rsyslog、sudo journalctl -u rsyslog -bjournalctl -xe 动态查看。/etc/rsyslog.conf 或 /etc/rsyslog.d/*.conf,加载模块并监听 UDP/TCP 514:module(load="imudp")
input(type="imudp" port="514")
module(load="imtcp")
input(type="imtcp" port="514")
重启服务:sudo systemctl restart rsyslogsudo firewall-cmd --permanent --add-port=514/udp && sudo firewall-cmd --reloadsudo firewall-cmd --permanent --add-service=syslog && sudo firewall-cmd --reload二、按症状从日志入手的排查路径
ip link show、ip addr、ethtool <iface>journalctl -xe | egrep 'link|udev|network|dhclient|rdisc'/etc/sysconfig/network-scripts/ifcfg-<iface>(如 ONBOOT=yes、BOOTPROTO、IPADDR、GATEWAY、DNS1)nmcli 或只保留其一并重启网络。journalctl -u dhclient -b、cat /var/lib/dhclient/dhclient*.leasesDHCPDISCOVER/REQUEST/OFFER/ACK 是否出现、是否超时、是否被拒绝ip route(是否存在默认路由 default via cat /etc/resolv.conf、nslookup example.com、dig +short example.comcurl -v http://example.com、traceroute <目标IP/DNS>ss -lntp | grep <端口>、netstat -lntp(确认服务已监听且绑定到正确地址)nc -vz <IP> <端口>、telnet <IP> <端口>firewall-cmd --list-all;云上检查安全组与网络 ACL/etc/rsyslog.conf 或 /etc/rsyslog.d/*.conf 中应有 *.* @<remote_syslog_ip>:514(UDP)nc -vzu <remote_ip> 514(UDP 探测)、nc -vz <remote_ip> 514(TCP 探测)三、关键日志与含义速查表
| 日志源/文件 | 典型关键词 | 常见根因 | 建议动作 |
|---|---|---|---|
journalctl -u rsyslog |
imudp: error、cannot bind、netlink |
rsyslog 未启动、端口被占用、UDP/TCP 监听失败 | 检查端口占用 `ss -lunpt |
journalctl -u dhclient |
DHCPDISCOVER/REQUEST/OFFER/ACK、No DHCPOFFERS received、timeout |
DHCP 服务器不可达、地址冲突、VLAN/物理链路问题 | 检查上行链路、VLAN 标签、DHCP 服务与租约文件 |
/var/log/messages 或 journalctl |
link down/up、carrier lost、udev、rdisc |
网线/交换机端口/网卡驱动异常 | 更换网线/端口,检查 lspci 识别与驱动,必要时重启接口 |
cat /var/lib/dhclient/dhclient*.leases |
lease、renew、expire |
租约异常、时间不同步 | 同步时间 timedatectl set-ntp true,核对租约与网关 |
ss -lntp / netstat -lntp |
127.0.0.1:80、0.0.0.0:80 |
服务仅监听回环或错误地址 | 修改服务配置监听 0.0.0.0 或指定业务网段 |
firewall-cmd --list-all |
ports: 未包含业务端口 |
防火墙阻断 | 放行端口或临时停用验证:firewall-cmd --permanent --add-port=<port>/tcp && firewall-cmd --reload |
| 远端 Syslog 服务器日志 | imudp: socket error、input plugin 'imudp' failed |
远端未监听或被防火墙拦截 | 在远端启用 imudp/imtcp 并放行 514,验证 nc -vzu <ip> 514 |
| 该表可作为“查什么、怎么查、怎么修”的现场速查卡。 |
四、高效检索与分析技巧
journalctl -u rsyslog -f -b 实时看 rsyslog 自身日志tail -f /var/log/messages | egrep 'error|fail|link|dhcp|reject|denied' 聚焦网络类错误journalctl --since "2025-11-25 10:00:00" --until "10:10:00" | grep dhclienterror、denied、link-down 等事件设置告警,便于提前发现网络异常。