尝试在 Ubuntu 12.04 上执行以下操作。
尝试配置 eth0 和 eth1,eth0 工作正常,但无法带 eth1。
以下是设置/etc/network/interfaces
:
auto eth0 eth1
iface eth0 inet static
address 172.19.20.186
netmask 255.255.255.252
network 172.19.20.184
broadcast 172.19.20.187
gateway 172.19.20.185
iface eth1 inet static
address 172.18.182.55
netmask 255.255.254.0
gateway 172.18.182.1
up route add -net 172.19.26.0/23 gw 172.19.20.185 dev eth0
up route add -net 172.19.24.0/23 gw 172.19.20.185 dev eth0
up route add default gw 172.18.182.1 dev eth1
/etc/init.d/networking restart
完成后,出现以下错误:
$ /etc/init.d/networking restart
RTNETLINK answers: File exists
Failed to bring up eth1
甚至ifdown eth1
出现ifup eth1
上述错误。
有人能帮忙解决这个问题吗?
答案1
我认为您只需要一个默认网关。您已设置了 3 个:gateway 172.19.20.185
、gateway 172.18.182.1
和up route add default gw 172.18.182.1 dev eth1
。
尝试以下接口文件:
auto eth0 eth1
iface eth0 inet static
address 172.19.20.186
netmask 255.255.255.252
iface eth1 inet static
address 172.18.182.55
netmask 255.255.254.0
gateway 172.18.182.1
up route add -net 172.19.26.0/23 gw 172.19.20.185 dev eth0
up route add -net 172.19.24.0/23 gw 172.19.20.185 dev eth0
编辑:尝试手动配置接口,这样我们就可以看到错误在哪里。
- 关闭所有接口:
ifconfig eth0 down; ifconfig eth1 down; ifconfig eth2 down; ifconfig eth3 down
- 配置eth0:
ifconfig eth0 172.19.20.186 netmask 255.255.255.252 up
- 配置eth1:
ifconfig eth1 172.18.182.55 netmask 255.255.254.0 up
- 设置默认网关:
route add default gw 172.18.182.1
- 设置第一条静态路由:
route add -net 172.19.26.0/23 gw 172.19.20.185 dev eth0
- 设置第二条静态路由:
route add -net 172.19.24.0/23 gw 172.19.20.185 dev eth0
答案2
有时在启动界面之前刷新界面是可行的:
ip addr flush dev enp2s0
答案3
您的 NetworkManager 很可能与 /etc/network/interfaces 发生冲突。我不确定 dhcp 的情况,但如果您使用 NetworkManager GUI 设置了静态 IP,那么这些接口将在两个不同的地方定义,因此会发生冲突。
尝试使用以下命令禁用网络管理器。
exec sudo -i
systemctl stop NetworkManager.service
systemctl disable NetworkManager.service
mv /lib/systemd/system/NetworkManager.service NetworkManager.service.res
您可以通过以下方式再次启用网络管理器
exec sudo -i
mv /lib/systemd/system/NetworkManager.service.res NetworkManager.service
systemctl enable NetworkManager.service
systemctl start NetworkManager.service
此后,/etc/network/interfaces 中的配置将在重启时生效。