嚴格按手冊配置,Linux 仍可能無法上網——網路配置本質複雜,經驗往往比手冊更管用。本文提煉一線實戰經驗,構建分層排查體系,從網卡基礎配置到路由優先級,助管理員快速定位並恢復網路。
ifconfig 一眼看穿網卡基礎配置無法上網時,首要動作執行 ifconfig(或 ip addr),重點驗證三大核心項:
0.0.0.0 → 無法聯繫 DHCP Server(線路斷、Server 掛、地址池耗盡)UP BROADCAST RUNNING → 驅動載入正常、介面啟用UP → 驅動未載入、介面被關閉、硬體故障/etc/rc.d/init.d/network restart(需 root 權限)ifconfig 差異提醒ipconfig /all 才顯示 DNS;Linux ifconfig 直接顯示完整配置(無 /all 參數)單網卡通常無路由問題;雙/多網卡跨網段時,預設閘道優先級決定生死。
環境:
eth0: 10.10.1.239/24(對外映射 SSH)eth1: 192.168.200.30/24(內網資料同步)現象:外部無法 SSH 連入,網卡/IP/服務均正常。
排查:route -n 顯示:
Destination Gateway Genmask Flags Metric Ref Use Iface
10.10.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.200.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
0.0.0.0 192.168.200.1 0.0.0.0 UG 0 0 0 eth1 ← 預設閘道指向內網!
根因:回包走 eth1 內網閘道,無法到達外網。
修復:
route del default
route add default gw 10.10.1.254
外部 SSH 即刻恢復。
兩大關鍵檔案控制解析順序:
/etc/host.conf(傳統):order hosts,bind → 先查 /etc/hosts,再查 /etc/resolv.conf 指定 DNS/etc/nsswitch.conf(現代標準,優先級更高):hosts: files dns → 同邏輯,功能更強排查思路:確認解析順序 → 檢查 /etc/resolv.conf DNS Server 可達性 → dig/nslookup 實測解析結果。
telnet IP PORT 或本機 netstat -ntl 確認 LISTEN 狀態sshd_config 中 PermitRootLogin no 導致 root 禁登 → 改 yes 重載服務iptables -L -n 檢查 INPUT/OUTPUT 鏈。預設 DROP 需顯式放行:iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPTiptables -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPTsetenforce 0 暫時關閉驗證。故障消失 → 微調布林值/策略,而非永久關閉ping 127.0.0.1 # 本機協議棧
ping <本機IP> # 介面可達
ping <區域網他機> # 二層互通
ping <閘道IP> # 三層出口
逐層驗證,精準斷點。
ifconfig、route)resolv.conf、nsswitch.conf)telnet/netstat + 服務配置)iptables + SELinux)按圖索驥,99% 網路故障可在這六步內精準定位解決。平時多記基線、多演練,關鍵時刻手不抖、心不慌。