Einrichten von WiFi und Ethernet

44

Ich habe Probleme mit der Konfiguration meines Raspberry Pi. Ich möchte folgendes erreichen:

eth0: Wird mit einer statischen IP-Adresse verwendet und kann nur eine Verbindung zum lokalen Netzwerk herstellen (dies ist mein NFS-Server)

Aus irgendeinem Grund kann ich nicht beide Verbindungen gleichzeitig aktivieren (ja, ich habe eine gute Stromversorgung). Das Ethernet deaktiviert die drahtlose Verbindung ohne Grund. Wenn ich endlich beides bekomme, kann ich google.com nicht anpingen. Meine Frage, wie soll ich das richtig machen? Ich habe folgendes in meiner Interface-Datei:

auto lo
iface lo inet loopback

auto eth0
allow-hotplug eth0
iface eth0 inet static
address 192.168.1.101
netmask 255.255.255.0
gateway 0.0.0.0

#auto wlan0
allow-hotplug wlan0
iface wlan0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

iface home inet static
address 192.168.0.157
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1

iface default inet dhcp

Herzliche Grüße und vielen Dank!

DanFritz
quelle
Stellen Sie sicher, dass Sie die neueste Firmware und Software verwenden. Ich kämpfte mit der alten Firmware, die mich verrückt machte. aktualisiert alles von Grund auf neu und es hat Supplicant integriert und es ist sehr einfach zu verbinden
Piotr Kula
Vielen Dank für die ausführlichen Details zu diesem Thema. Ich habe es geschafft, das zu implementieren, was hier geschrieben wurde, und habe mein pi dazu gebracht, mit beiden Adaptern zu arbeiten.
1
Ich denke, die Lösung sollte als Antwort gepostet werden ...
jmc
1
Es ist schlechte Form und beschädigt die Benutzerfreundlichkeit der Website, "Frage zu aktualisieren, um Antwort einzuschließen". Sie sollten eine Antwort auf Ihre eigene Frage posten. Dann ist es für andere leicht zu finden - und zieht möglicherweise positive Stimmen von den Leuten an, denen es hilft
Lyndon White

Antworten:

25

Dies gilt für Raspbian Wheezy vor dem 05.05.2015 für später (und Jessie / Stretch). Siehe Wie richte ich das Netzwerk / WLAN / statische IP ein ?

Wie von der Community vorgeschlagen, wurde meine Antwort aus der Frage extrahiert.

Ich habe es gerade zum Laufen gebracht, also teile ich alle meine Konfigurationsdateien mit der Community. Schauen wir uns zunächst die Datei wpa_supplicant.conf an:

pi@raspberrypi ~ $ sudo cat /etc/wpa_supplicant/wpa_supplicant.conf 
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="****"
    scan_ssid=1
    proto=RSN
    key_mgmt=WPA-PSK
    pairwise=CCMP TKIP
    group=CCMP TKIP
    psk="****"
    id_str="home"
    priority=5
}

Als nächstes meine neue Update-Interface-Datei

pi@raspberrypi ~ $ sudo cat /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
allow-hotplug eth0
iface eth0 inet static
address 192.168.1.101
netmask 255.255.255.0

auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
address 192.168.0.157
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1

iface default inet dhcp

Und jetzt kommt der knifflige Teil: Sie müssen das Hotplugging des eth0-Geräts deaktivieren (andernfalls wird Ihr wlan0 deaktiviert). Sie tun dies, indem Sie die folgende Datei bearbeiten:

pi@raspberrypi ~ $ sudo cat /etc/default/ifplugd 
INTERFACES="eth0"
HOTPLUG_INTERFACES="eth0"
ARGS="-q -f -u0 -d10 -w -I"
SUSPEND_ACTION="stop"

Ich habe auch das Folgende in meinem Startskript, das sicherstellt, dass mein WLAN gestartet wird (manchmal ohne Grund startet es nicht). Sie müssen auch den ifplugd-Daemon auf dem eth0-Gerät beenden:

pi@raspberrypi ~ $ sudo cat /etc/rc.local
#!/bin/sh -e

# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi

# Disable the ifplugd eth0
sudo ifplugd eth0 --kill
sudo ifup wlan0

exit 0

Und das sollte funktionieren!

DanFritz
quelle
3
Sie müssen das Ganze nicht deaktivieren ifplugd. Deaktivieren (löschen) Sie stattdessen einfach /etc/ifplugd/action.d/action_wpaden fehlerhaften Symlink , der verhindert, dass wlan0 funktioniert, wenn Ethernet verbunden ist.
Minmaxavg
Sollten wir die auto ethoLeitungen nicht löschen, um das Hotplugging des eth0-Geräts zu deaktivieren ? Außerdem habe ich noch:~ $ sudo service isc-dhcp-server start Job for isc-dhcp-server.
IggyPass
8

Wenn ein Gerät keinen Internetzugang oder keinen anderen Zugang außerhalb des lokalen Subnetzes hat, sollten Sie das Gateway entfernen. Das Auflisten eines Gateways an beiden Schnittstellen ist wahrscheinlich der Schuldige.

Wenn das Ethernet für das lokale Subnetz bestimmt ist, entfernen Sie nur dieses Gateway.

Tevo D
quelle
Tevo D ist richtig. Wenn Ihr eth0 verbunden ist, haben Sie eine Standardroute (Netzwerk 0.0.0.0) aus Ihrer eth0-Schnittstelle, die dazu führt, dass Datenverkehr außerhalb des Netzwerks über Ihre eth0-Schnittstelle in den "Bit-Bucket" geleitet wird .
HeatfanJohn
Oke, ich habe das Gateway auf eth0 entfernt. Jetzt sehe ich, dass mein WLAN verbunden ist (mit iwconfig), aber wenn ich ifconfig ausführe, verwendet das WLAN nicht die statische IP-Adresse oder das Gateway, die ich zugewiesen habe (es bleibt leer). Irgendwelche Hinweise darauf?
DanFritz
Wir haben die Lösung gefunden, danke für Ihre Hilfe. Ich habe meine Frage mit all meinen Konfigurationsdateien aktualisiert (für andere Leute)
DanFritz
@ TevoD Ich habe Ihren Rat verwendet, um Gateway zu kommentieren. Es funktioniert, aber für 1 Minute, dann WiFi getrennt (aber Ethernet funktioniert), könnten Sie mir helfen
H.Ghassami