尝试配置 eth0 和 eth1,但无法启动 eth1

尝试配置 eth0 和 eth1,但无法启动 eth1

尝试在 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.185gateway 172.18.182.1up 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

编辑:尝试手动配置接口,这样我们就可以看到错误在哪里。

  1. 关闭所有接口:ifconfig eth0 down; ifconfig eth1 down; ifconfig eth2 down; ifconfig eth3 down
  2. 配置eth0:ifconfig eth0 172.19.20.186 netmask 255.255.255.252 up
  3. 配置eth1:ifconfig eth1 172.18.182.55 netmask 255.255.254.0 up
  4. 设置默认网关:route add default gw 172.18.182.1
  5. 设置第一条静态路由:route add -net 172.19.26.0/23 gw 172.19.20.185 dev eth0
  6. 设置第二条静态路由: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 中的配置将在重启时生效。

相关内容