Linux

SIOCDELRT 和 SIOCADDRT 錯誤是什麼意思?

  • May 1, 2021

我正在嘗試在 Ubuntu 10.04 伺服器上從使用 dhcp 切換到靜態 IP。

在 /etc/network/interfaces 我改變了

auto eth0
iface eth0 inet dhcp

auto eth0
iface eth0 inet static
address 210.4.211.xxx
netmask 255.255.255.xxx
gateway 210.4.211.xxx

並像這樣在 /etc/hosts 中添加了一行

210.4.211.xxx servername.example.com servername

現在,當我從 SSH 連接內部重新啟動網路時,我得到

user@servername:~$ sudo /etc/init.d/networking restart
* Reconfiguring network interfaces...
SIOCDELRT: No such process

並且網路仍在使用 DHCP 地址執行。

更糟糕的是,如果我從虛擬伺服器控制台重新啟動網路,(或者我重新啟動伺服器),它無法啟動 eth0 並且伺服器無法訪問。

user@servername:~$ sudo /etc/init.d/networking restart
* Reconfiguring network interfaces...
SIOCADDRT: No such process
Failed to bring up eth0

這些錯誤是什麼意思,我該如何解決?

啊,愚蠢的我。經過進一步搜尋,發現 SIOCADDRT 和 SIOCDELRT 至少與 ADDing 和 DELeting 路線有關。

因為我使用了一個花哨的子網遮罩 255.255.255.192,所以我沒有註意到我將網關設置為子網的基地址,而不是預設路由(在這種情況下使用 .64 而不是 .65)。

因此,如果其他人收到此錯誤,可能是因為您設置了錯誤的網關。不過,為什麼它會出現“沒有這樣的過程”錯誤是我無法理解的。

引用自:https://serverfault.com/questions/244581