KVM虛擬機不能訪問網關問題排查
問題的解決常常都會感覺很簡單,但是排查的過程比較復雜和漫長,有時候簡單的一個配置問題需要花費超出預期很長的時間才能定位到。本文針對之前遇到的KVM虛擬機不能訪問網關問題排查的過程記錄下來,供大家進行參考!
背景介紹
實驗室有個CentOS7的服務器,上面創(chuàng)建了若干個虛擬機。這些虛擬機之前使用都很正常。虛擬機通過網絡橋接模式,可以上外網,訪問同網段的其它節(jié)點。然而,當某次下電之后,噩夢就開始了。宿主機上電之后,宿主機的網絡一切正常,訪問外網,其它節(jié)點機器都很正常。虛擬機啟動也很正常,但是就是虛擬機的網絡異常:
虛擬機有時候能夠ping通宿主機,有時候ping不通宿主機;
虛擬機ping不通網關地址,同樣也不能訪問同網段的其它地址;
宿主機可以ping通虛擬機,也可以在宿主機上ssh登錄虛擬機;
排查過程
因為在宿主機下電之前,所有的使用都是正常的,因此配置方面不大可能出現(xiàn)問題。根據現(xiàn)象,可以判斷是網橋的配置出現(xiàn)問題,但是到底是哪個部分的問題?為什么重新啟動之后就發(fā)生變化了?
重啟節(jié)點或者網絡
稍微檢查了一下網絡之后,照例將宿主機重啟了一下,發(fā)現(xiàn)并沒有解決問題。
(實踐證明,重啟宿主機或者虛擬機來解決問題的可能性不大)
檢查網橋的網絡配置
因為在問題出現(xiàn)前后并沒有做手動配置的更改,因此這個方面的可能性幾乎不存在。為了穩(wěn)妥起見,還是把宿主機上的配置檢查了一下
確認網絡配置文件中沒有錯別字或者書寫錯誤;
確認宿主機上網絡連接都是正常的(命令參考nmcli device 或者nmcli connection);
檢查路由的配置
在宿主機或者虛擬機中檢查路由的信息,配置都是正常的。
(命令參考route)
檢查網絡的狀態(tài)
檢查網橋的狀態(tài)(命令參考brctl show),這個時候就看到虛擬機啟動之后生成的那些虛擬機網卡設備(vnetx)并沒有附著在網橋上。
使用命令brctl addif brx vnety 將目前啟動的2個虛擬機的網卡附著在網橋上。
奇怪的是,現(xiàn)在再啟動其它虛擬機,對應網卡就自動附著在網橋上了,不需要手動進行添加操作。