Ich habe ein Debian-System, das als WLAN-Router mit eth0
und wlan0
arbeitet. Jetzt habe ich manuell ein zusätzliches Netzwerk auf eth1
mit ifconfig
hinzugefügt:
alix:~# ifconfig eth1 192.168.0.2 netmask 255.255.255.0 alix:~# netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 eth0 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0 alix:~# ping 192.168.0.254 PING 192.168.0.254 (192.168.0.254) 56(84) bytes of data. 64 bytes from 192.168.0.254: icmp_req=1 ttl=64 time=0.537 ms 64 bytes from 192.168.0.254: icmp_req=2 ttl=64 time=0.199 ms 64 bytes from 192.168.0.254: icmp_req=3 ttl=64 time=0.188 ms ^C --- 192.168.0.254 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2005ms rtt min/avg/max/mdev = 0.188/0.308/0.537/0.161 ms
Wie Sie sehen, funktioniert alles einwandfrei.
Jetzt möchte ich die Konfiguration dauerhaft machen. Daher habe ich /etc/network/interfaces
den folgenden Abschnitt hinzugefügt:
alix:~# sed -n "/iface eth1/,/^$/p" /etc/network/interfaces iface eth1 inet static address 192.168.0.2 netmask 255.255.255.0
Aber wenn ich versuche, das Netzwerk zu starten, erhalte ich das Der folgende Fehler:
alix:~# ifconfig eth1 down alix:~# ifup -v eth1 Configuring interface eth1=eth1 (inet) run-parts --verbose /etc/network/if-pre-up.d run-parts: executing /etc/network/if-pre-up.d/hostapd ip addr add 192.168.0.2/255.255.255.0 broadcast 192.168.0.255 dev eth1 label eth1 RTNETLINK answers: File exists Failed to bring up eth1.
Wenn ich den Befehl ip
manuell ausführe, wird der gleiche Fehler angezeigt:
alix:~# ip addr add 192.168.0.2/255.255.255.0 broadcast 192.168.0.255 dev eth1 label eth1 RTNETLINK answers: File exists
Was ist mit dem Befehl falsch? Und wie kann ich Debian anweisen, das Richtige zu tun?
Antwort
Ich habe festgestellt, dass ich das Gerät vorher spülen musste Rufen Sie es auf:
# ip addr flush dev eth1
Das Löschen von manuell eingestellten Schnittstellenkonfigurationsinformationen wie diesen wird im erwähnt Ubuntu Server-Handbuch .
Kommentare
- Ich erhalte immer noch einen (etwas anderen) Fehler
RTNETLINK answers: No such process Failed to bring up eth1
ABER mein Eth1 ist jetzt korrekt zugewiesen UND ist UP / UP. - Ja, das gleiche Problem hier:
RTNETLINK answers: No such process Failed to bring up eth1
- Auch wenn Ihre Antworten das Problem lösen. Es wäre großartig, wenn Sie sagen könnten, was es tatsächlich tut. Was ist diese RTNETLINK-Datei, die existiert?
- @ceving: Können Sie bitte erklären, was
RTNETLINK answers file
ist? Nach dem Leeren nimmt meine Netzwerkkarte nicht automatisch eine neue IP-Adresse an. Wie kann man dhcp nach einer neuen IP-Adresse fragen? - Eine Einschränkung ist, dass dadurch alle Bereiche gelöscht werden, was nicht immer das ist, was Sie wollen. (Ich habe das auf die harte Tour herausgefunden.)
Antwort
Verwenden Sie ip addr flush
funktioniert, löscht jedoch auch alle auf dieser Schnittstelle festgelegten Adressen – möglicherweise auch die von Ihnen verwendete, wenn Sie bei einem Remotecomputer angemeldet sind. Dadurch werden Sie möglicherweise von Ihrem Gerät ausgeschlossen.
RNETLINK answers: File exists
tritt auf, wenn Sie versuchen, add
eine Regel zu erstellen, die mit einer vorhandenen Regel in Konflikt steht. Ich würde vermuten, dass OP darauf stieß, weil sie die Adresse bereits mit ifconfig
festgelegt hatten. Dieser Fehler kann normalerweise behoben werden, indem der Befehl add
in einen ähnlich strukturierten Befehl change
oder replace
Befehl.
Es ist viel sicherer, stattdessen ip addr change
oder ip addr replace
zu verwenden.
Kommentare
- Dies ist keine Option für jemanden, der nur
ifup
undifdown
verwendet , weil der Befehl in diesen Skripten fest verdrahtet ist. - @alerone mit " sudo ip addr change " wird Werfen Sie mir diese Ausgabe. " Nicht genügend Informationen: " dev " Argument ist erforderlich. " Ich / Wir benötigen weitere Informationen, um Ihre Idee zu verwenden. Es wäre schön.
Antwort
Ich hatte ein ähnliches Problem, dass zu dem Zeitpunkt, als ich die 10.000-Geld-Szene gespielt hatte, genau dies war, und ich hatte versucht, ein dd das fehlende Zeug zu / e / n / id / etho
Aber als ich die Manpage für Schnittstellen studierte, bemerkte ich, dass ALLE Beispiele nur 2 Zeilen mit realen Daten enthielten, die IPv4-Adresse / 24 und eine Gateway-Leitung, die die Adresse meines Routers angibt. Also habe ich meine eth0-Datei darauf reduziert, neu gestartet und einwandfrei funktioniert.