CentOS无法访问的常见根因与排查路径
一、常见根因分类
二、系统化排查流程
ip link show(应为UP);必要时启用:ip link set ens33 up。ip addr(确认IP/掩码);查看路由:ip route(确认default via 网关)。nslookup www.example.com 或 dig www.example.com;查看 /etc/resolv.conf 是否配置 nameserver。ss -tulnp | grep <端口> 或 netstat -tulnp | grep <端口>;确认监听在 0.0.0.0:端口 而非 127.0.0.1。telnet 127.0.0.1 <端口> 或 nc -zv 127.0.0.1 <端口>;远程连通:telnet <服务器IP> <端口>。sudo systemctl status firewalld;查看规则:firewall-cmd --list-all;新增端口需 --permanent 并 firewall-cmd --reload。sestatus;临时宽松:sudo setenforce 0(仅用于排查)。journalctl -xe;网络日志:/var/log/messages 等。三、典型场景与对策
systemctl restart network(或 nmcli 重载)。nslookup/dig 失败或 /etc/resolv.conf 无有效 nameserver;在网卡配置中补充 DNS1/DNS2 并重启网络。firewall-cmd --list-all 是否含目标端口,变更后是否 firewall-cmd --reload;服务是否监听 0.0.0.0;ss -tulnp 是否看到进程;云上是否放行安全组;必要时排查 SELinux 与端口占用。firewalld 中按需允许 ICMP 后再测试。四、关键命令速查表
| 目的 | 命令示例 |
|---|---|
| 查看网卡与状态 | ip link show;ip link set ens33 up |
| 查看地址与路由 | ip addr;ip route |
| 连通性测试 | ping -c 4 8.8.8.8;ping -c 4 www.example.com |
| 解析测试 | nslookup www.example.com;dig www.example.com |
| 监听端口 | `ss -tulnp |
| 本机/远程端口 | telnet 127.0.0.1 80;nc -zv <IP> 80 |
| 防火墙状态与规则 | sudo systemctl status firewalld;firewall-cmd --list-all |
| 放行端口 | firewall-cmd --zone=public --add-port=80/tcp --permanent && firewall-cmd --reload |
| SELinux 状态 | sestatus;sudo setenforce 0(仅排查) |
| 路由路径追踪 | traceroute 8.8.8.8 |
| 以上命令覆盖日常排障的高频操作,建议结合日志与监听状态交叉验证。 |