我正在尝试在 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
这些错误是什么意思?我该如何修复它们?
答案1
啊,我真傻。经过进一步搜索,发现 SIOCADDRT 和 SIOCDELRT 至少与 ADDing 和 DELeting 路线有关。
因为我使用的是 255.255.255.192 这个花哨的子网掩码,所以我没有注意到我已将网关设置为子网的基地址,而不是默认路由(在本例中使用 .64 而不是 .65)。
所以如果其他人也遇到这个错误,那可能是因为你设置了错误的网关。不过我不明白为什么会出现“没有这样的进程”的错误。