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