修復Proxmox VE:網路錯誤「No route to host (595)」 / Fix Proxmox VE: Network error “No route to host (595)”
本篇是修復Proxmox VE 3/4的集叢(Cluster)中遇到「No route to host (595)」錯誤的解決方法。這個錯誤是因為Proxmox VE伺服器變更了網路設定,但是並沒有完全設定好的關係。以下說明造成錯誤的原因以及解決方法。
問題狀況 / Probleam Description
這個問題發生在修改了Proxmox VE伺服器的IP之後。Proxmox VE在安裝時會詢問你伺服器的IP,並且為整個伺服器環境做配置。如果事後你想要再修改Proxmox VE伺服器的IP,不論是使用網頁管理介面的Network功能修改、或是在Debain作業系統中修改/etc/network/interface,修改之後就再也無法控制集叢中其他節點,甚至是節點上的虛擬機器也無法控制,只會一直顯示以下錯誤訊息:
No route to host (595)
這個問題在Proxmox論壇中有人提出解法:少修改了/etc/hosts,但少做了pve-cluster重新啟動的動作。我在摸索了好一陣子之後,將解決方法整理如下。
解決方案 / Solution
造成這個問題的原因在於修改設定不完全,以及尚未重新啟動pve-cluster。
1. 修改/etc/hosts中的IP / Correct the IP address in /etc/hosts
請進入Proxmox VE伺服器的主控臺 (推薦使用網頁管理介面的Shell,或使用SSH連線,最簡單的方式是到本機端登入)。要修改/etc/hosts請用以下指令:
nano /etc/hosts
關於nano編輯器的操作,請參考鳥哥的超簡單文書編輯器:nano。
在/etc/hosts中,你會發現原本的舊IP還在設定檔中。請將舊IP改為新設定好的IP,然後按Ctrl + X,再按y,儲存/etc/hosts檔案。
2. 重新啟動Proxmox集叢 / Restart Proxmox Cluster
重新啟動Proxmox集叢的指令如下:
service pve-cluster restart
接著再回去網頁管理介面時,已經看不到「No route to host (595)」的問題囉。
此外,如果你的Proxmox集叢有很多的伺服器節點(node)都修改了IP,那麼每一臺都要照以上步驟重新設定,就能夠好好解決「No route to host (595)」這個問題囉。
使用Shell時的SSH授權詢問 / Ask the authenticity when using shell
這時候使用Proxmox VE網頁管理介面的Shell功能連線到其他節點時,可能會跳出SSH連線的授權確認。大致上的訊息內容類似下面的訊息:
The authenticity of host 'xx.xx.xx.xx (xx.xx.xx.xx)' can't be established.
ECDSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)?
這時候只要輸入「yes」按下enter,接下來就能正常登入主機了。這個訊息只有第一次連線到其他節點時會要求確認,接下來就不會再出現了,跟一般連線到SSH是一樣的。