Festlegen der Standardnetzwerkschnittstelle

Festlegen der Standardnetzwerkschnittstelle

Meines /etc/network/interfacessieht so aus:

auto lo
iface lo inet loopback

auto eth1
iface eth1 inet static
      address 10.0.0.99
      netmask 255.255.255.0
      gateway 10.0.0.1

auto eth0
iface eth0 inet dhcp

Nach dem Neustart des Rechners erhalte ich

vagrant@precise64:~$ ip route
default via 10.0.2.2 dev eth0 
default via 10.0.0.1 dev eth1  metric 100 
10.0.0.0/24 dev eth1  proto kernel  scope link  src 10.0.0.99 
10.0.2.0/24 dev eth0  proto kernel  scope link  src 10.0.2.15

Wie kann ich die Einstellungen /etc/network/interfacesso ändern, dass mein Datenverkehr standardmäßig über 10.0.0.1 statt 10.0.2.2 läuft? Ich kann das manuell wie folgt machen, möchte es aber nicht bei jedem Neustart tun:

vagrant@precise64:~$ sudo ip route del default via 10.0.2.2 dev eth0
vagrant@precise64:~$ ip route
default via 10.0.0.1 dev eth1  metric 100 
10.0.0.0/24 dev eth1  proto kernel  scope link  src 10.0.0.99 
10.0.2.0/24 dev eth0  proto kernel  scope link  src 10.0.2.15

Antwort1

Es stellte sich heraus, dass der Grund nichts damit zu tun hatte /etc/network/interfaces. Diese Maschine war eineLandstreicherVM, das standardmäßig einige zusätzliche Dinge enthält /etc/rc.local:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# Make sure eth0 is working. This works around Vagrant issue #391
dhclient eth0

exit 0

Durch Auskommentieren der dhclient eth0Zeile und Neustarten wird Folgendes erreicht:

vagrant@precise64:~$ ip r
default via 10.0.0.1 dev eth1  metric 100 
10.0.0.0/24 dev eth1  proto kernel  scope link  src 10.0.0.99 
10.0.2.0/24 dev eth0  proto kernel  scope link  src 10.0.2.15 

verwandte Informationen