在技術(shù)研發(fā)崗位的面試中,網(wǎng)絡(luò)故障排查能力往往是衡量候選人實(shí)踐功底與思維邏輯的重要標(biāo)尺。一位應(yīng)聘阿里HarmonyOS(鴻蒙)網(wǎng)絡(luò)技術(shù)研發(fā)崗的工程師,在二面中遇到了一道經(jīng)典的網(wǎng)絡(luò)內(nèi)網(wǎng)故障場景題。本文將結(jié)合這道面試題的思路,還原并深入剖析一次完整的、經(jīng)典的內(nèi)網(wǎng)故障排障全過程,這不僅是一次面試復(fù)盤,更是對網(wǎng)絡(luò)排障方法論的系統(tǒng)性梳理。
面試官描述的場景通常簡潔而典型:“公司內(nèi)部一臺部署了關(guān)鍵服務(wù)的服務(wù)器(假設(shè)IP為192.168.1.100)突然無法被同網(wǎng)段(192.168.1.0/24)的其他主機(jī)訪問,但該服務(wù)器自身可以ping通網(wǎng)關(guān)(192.168.1.1)。請描述你的排查思路和步驟。”
第一步:明確故障邊界與現(xiàn)象
這是排障的基石。需要立即澄清和確認(rèn):
基于OSI模型或TCP/IP模型,采用從底層到高層、從自身到網(wǎng)絡(luò)的排查順序,是嚴(yán)謹(jǐn)且高效的。
第二步:檢查服務(wù)器自身(物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層)
1. 本地網(wǎng)絡(luò)接口狀態(tài): ip link show 或 ifconfig 查看網(wǎng)卡(如eth0)是否為 UP 狀態(tài),有無錯誤包(errors, dropped)。
2. IP地址與路由配置: ip addr show 確認(rèn)IP(192.168.1.100)和子網(wǎng)掩碼配置正確。執(zhí)行 ip route show 或 route -n,確保有正確的直連網(wǎng)絡(luò)路由(如 192.168.1.0/24 dev eth0)和默認(rèn)路由(指向192.168.1.1)。題目中能ping通網(wǎng)關(guān),說明L1-L3層基礎(chǔ)通信和本地出站路由基本正常。
3. ARP表項(xiàng): arp -an 查看ARP緩存。能否看到同網(wǎng)段其他主機(jī)的MAC地址?如果看不到,可能是ARP請求/回復(fù)出了問題。也可以嘗試 ping 一下同網(wǎng)段另一臺主機(jī),同時用 tcpdump -i eth0 arp 抓包,看ARP請求是否發(fā)出、是否有回應(yīng)。
第三步:檢查服務(wù)器自身(傳輸層、應(yīng)用層)
這是本題的重點(diǎn)嫌疑區(qū)域,因?yàn)閜ing(ICMP)通但業(yè)務(wù)不通。
netstat -tlnp 或 ss -tlnp 確認(rèn)關(guān)鍵服務(wù)進(jìn)程是否在運(yùn)行,并且是否在正確的IP和端口上監(jiān)聽(例如,是監(jiān)聽在 0.0.0.0:80 還是 127.0.0.1:80?后者會導(dǎo)致外部無法訪問)。iptables -L -n)、firewalld(firewall-cmd --list-all)或nftables規(guī)則。是否有規(guī)則丟棄(DROP)了來自內(nèi)部網(wǎng)段的入站(INPUT)連接?特別是近期是否有誤操作添加了限制策略。一個常見的陷阱是,防火墻可能只允許網(wǎng)關(guān)或特定IP,錯誤地阻止了同網(wǎng)段流量。journalctl -u nginx 或應(yīng)用日志文件)獲取錯誤信息。第四步:檢查網(wǎng)絡(luò)路徑(聚焦于二層)
由于是同網(wǎng)段通信,不經(jīng)過網(wǎng)關(guān)(路由器),數(shù)據(jù)交換在二層完成,因此交換機(jī)是關(guān)鍵。
第五步:模擬與測試(驗(yàn)證假設(shè))
1. 從服務(wù)器向外測試: 在服務(wù)器上嘗試 telnet 或 curl 同網(wǎng)段其他主機(jī)的服務(wù)端口,測試出站連接是否正常。
2. 從其他主機(jī)向服務(wù)器測試: 在另一臺正常主機(jī)上,使用 telnet 192.168.1.100 端口號、nmap -p 端口號 192.168.1.100 或 tcping 工具,精確測試TCP/UDP端口連通性。同時用 tcpdump 或 Wireshark 在服務(wù)器端抓包,看請求包是否到達(dá)服務(wù)器網(wǎng)卡。如果抓不到包,問題更可能出現(xiàn)在網(wǎng)絡(luò)側(cè)(交換機(jī));如果抓到了包但沒有回復(fù),問題則集中在服務(wù)器自身(防火墻、服務(wù)未響應(yīng))。
3. 臨時性排除: 在測試環(huán)境中,可嘗試臨時禁用服務(wù)器防火墻(iptables -F 或 systemctl stop firewalld),觀察問題是否解決。(注意:生產(chǎn)環(huán)境需謹(jǐn)慎,面試中需強(qiáng)調(diào)此操作的風(fēng)險和回滾計劃)。
假設(shè)通過上述排查,最終定位到原因:服務(wù)器上的防火墻近期新增了一條規(guī)則,錯誤地將所有來自192.168.1.0/24網(wǎng)段的入站TCP連接都DROP了,但允許ICMP(ping)和從本機(jī)發(fā)起的出站連接。
解決方案:
1. 立即修正防火墻規(guī)則,放行內(nèi)部業(yè)務(wù)所需端口。例如:iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 80 -j ACCEPT。
2. 將修正后的規(guī)則保存到防火墻永久配置中。
3. 進(jìn)行全面的業(yè)務(wù)連通性測試。
4. 復(fù)盤與改進(jìn): 分析規(guī)則誤添加的原因(人為失誤?自動化腳本漏洞?),完善變更管理制度、實(shí)施前peer review、并考慮在網(wǎng)絡(luò)監(jiān)控中增加關(guān)鍵服務(wù)端口的主動探測告警。
這道面試題絕不僅僅是考察幾條Linux命令。它深刻考察了候選人:
ip, ss, tcpdump, iptables 等核心診斷工具。對于鴻蒙這樣的分布式操作系統(tǒng),其網(wǎng)絡(luò)技術(shù)研發(fā)更是深入到設(shè)備互聯(lián)、自發(fā)現(xiàn)、低時延通信等復(fù)雜場景,扎實(shí)的基礎(chǔ)網(wǎng)絡(luò)排障能力是構(gòu)建和運(yùn)維這些高級特性的基石。一次成功的故障排查,就是一次對系統(tǒng)認(rèn)知深度的完美展現(xiàn)。
如若轉(zhuǎn)載,請注明出處:http://www.erpon.cn/product/73.html
更新時間:2026-05-23 00:22:46
PRODUCT