![Änderungen an /etc/network/interfaces werden beim Neustart ignoriert und wiederhergestellt](https://rvso.com/image/1428763/%C3%84nderungen%20an%20%2Fetc%2Fnetwork%2Finterfaces%20werden%20beim%20Neustart%20ignoriert%20und%20wiederhergestellt.png)
Ich wollte eine virtuelle Maschine nach diesem Tutorial einrichten:http://www.howtoforge.com/virtualisierung-mit-kvm-auf-einem-debian-lenny-server
Ich bin an dem Punkt angelangt, an dem ich die Schnittstellendatei ändern muss, die folgendermaßen aussieht:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 176.9.XXX.XXX
netmask 255.255.255.255
pointopoint 176.9.XXX.XXX
gateway 176.9.XXX.XXX
Und habe es folgendermaßen geändert:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
auto br0
iface br0 inet static
address 176.9.XXX.XXX
netmask 255.255.255.255
pointopoint 176.9.XXX.XXX
gateway 176.9.XXX.XXX
bridge_ports eth0
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp off
Dann habe ich Folgendes ausgeführt: /etc/init.d/networking restart, aber meine ifconfig-Ausgabe bleibt gleich und wenn ich meinen Server neu starte, sieht die Schnittstellendatei wie vorher aus. Warum passiert das?
ifconfig:
eth0 Link encap:Ethernet HWaddr 00:18:51:XX:XX:XX
inet addr:176.9.XXX.XXX Bcast:176.9.XXX.XXX Mask:255.255.255.255
inet6 addr: fe80::218:51ff:XXXX:XXXX/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4236 errors:0 dropped:0 overruns:0 frame:0
TX packets:4569 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:414559 (404.8 KiB) TX bytes:501379 (489.6 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:3406 errors:0 dropped:0 overruns:0 frame:0
TX packets:3406 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:319219 (311.7 KiB) TX bytes:319219 (311.7 KiB)
Antwort1
Nicht wirklich eine Antwort, aber einige Beobachtungen, die zu lang für einen Kommentar sind, aber vielleicht helfen könnten …
Erstens: Haben Siebridge-utils
installiert? Der Grund dafür ist, dass dieifupdown
Das Paket, das für die Analyse /etc/network/interfaces
und Verwaltung Ihres Netzwerks verantwortlich ist, besteht lediglich aus einer Reihe von Shell-Skripten, die entsprechende Tools auf niedrigerer Ebene aufrufen (wie die voniproute
, dhcp3-client
und so weiter), wenn Ihnen also Werkzeuge fehlen, die für die Schwerarbeit beim Brückenbau zuständig sind, ifupdown
werden Sie nicht in der Lage sein, Ihre Brücke alleine zu errichten.
Zweitens: Anstatt das Netzwerk neu zu starten, hätten Sie die interaktiven Funktionen nutzen sollen, die ifupdown
in Form von ifup
Skripten angeboten werden ifdown
: Um zu testen, ob die Bridge-Schnittstelle gestartet werden kann, würden Sie Folgendes tun:
# ifup br0
und sehen Sie, was passiert. Bitte konsultieren Sieentsprechende Manualpages.
Drittens: Bitte hören Sie auf,
# /etc/init.d/<foo> <action>
und TU
# service <foo> <action>
stattdessen (verfügbar seit Squeeze). Dies hat eine Reihe von Vorteilen:
Es funktioniert unabhängig davon, welches Init-System installiert ist, d. h., es funktioniert sogar mit
upstart
,systemd
,openrc
usw., wobei jedes dieser Systeme seine eigenen spezifischen Tools zur Steuerung der Dienste bereitstellt.Daher
service
erleichtert die Verwendung Ihren späteren Übergang zu einem anderen Init-System (Jessie führt die Umstellung Ihres Systemssystemd
standardmäßig durch), da Sie nicht schnell neu lernen müssen, wie Sie Ihre Dienste verwalten.- Mit
sysvinit
(was Sie derzeit verwenden) wird die Umgebung ordnungsgemäß bereinigt, bevor das Ziel-Init-Skript aufgerufen wird. Der alte Ansatz mit direktem Aufruf ist anfällig für den Zustand der Shell, die das Skript aufgerufen hat. Dasservice
Skript stellt sicher, dass das aufgerufene Init-Skript eine Umgebung mit sinnvollen$PATH
,umask
, Arbeitsverzeichnis usw. sieht.