sudo /etc/init.d/networking restart
* Running /etc/init.d/networking restart is deprecated because it may not enable again some interfaces
* Reconfiguring network interfaces... ssh stop/waiting
ssh start/running, process 20418
RTNETLINK answers: File exists
Failed to bring up eth0:0.
RTNETLINK answers: File exists
Failed to bring up eth0:1.
RTNETLINK answers: File exists
Failed to bring up eth0:2.
我无法从外部访问我的网络。但在本地访问它没有问题。我可以 ping 我用于远程访问的 IP 地址。
这是我的etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.1.200
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
auto eth0:0
iface eth0:0 inet static
address 192.168.2.200
netmask 255.255.255.0
network 192.168.2.0
broadcast 192.168.2.255
gateway 192.168.2.1
auto eth0:1
iface eth0:1 inet static
address 192.168.3.200
netmask 255.255.255.0
network 192.168.3.0
broadcast 192.168.3.255
gateway 192.168.3.1
auto eth0:2
iface eth0:2 inet static
address 192.168.4.200
netmask 255.255.255.0
network 192.168.4.0
broadcast 192.168.4.255
gateway 192.168.4.1
答案1
net-tools 是邪恶而神秘的(我最近经常这么说)。它也很古老,其过时的命名约定让您感到困惑。
“子接口”0(它们实际上不是子接口)是根接口的别名,因此当您为 eth0:0 设置接口时,它会与 eth0 的设置冲突。这不是导致错误的原因,但它会在以后给您带来麻烦,因为它会默默地用 192.168.2.200/24 替换 192.168.1.200/24。
我怀疑您看到的错误发生在自动配置脚本尝试添加仅在网关上不同的多个默认路由时。您不需要所有这些默认路由。但是,如果您需要它们,则需要以某种方式指定(至少)一个度量,而您无法使用此文件来指定。将自动为您的每个子网添加 dev eth0 上的路由;您只需要一个默认路由来发送其他流量。路由相同的一个原因是它们都与 eth0 相关联,因为子接口实际上不是子接口。
答案2
我在 Ubuntu 12.04 中遇到了同样的问题,
我使用下面的命令来查找我的网络接口。
设置网络时,您需要知道计算机上的网络接口卡。不同供应商的卡的接口名称可能不同,这就是为什么需要此步骤的原因。
ls /sys/class/net
然后您可以/etc/network/interface
根据上述结果使用您的组织网络信息进行编辑,之后您可以使用以下命令启动您的网络接口
ifconfig eth1 down && ifconfig eth1 up
或者
/etc/init.d/networking/restart