Konfiguracja WiFi i Ethernet

44

Mam problem z konfiguracją mojego Raspberry Pi. Chcę osiągnąć następujące cele:

eth0: będzie używany ze statycznym ip i może łączyć się tylko z siecią lokalną (będzie to mój serwer NFS) wlan0: Powinien połączyć się z moją siecią bezprzewodową w celu uzyskania dostępu do Internetu

Z jakiegoś powodu nie jestem w stanie aktywować obu połączeń jednocześnie (tak, mam dobry zasilacz). Sieć Ethernet wyłączy połączenie bezprzewodowe bez żadnego powodu. Jeśli w końcu uda mi się obu naraz, nie mogę pingować google.com. Moje pytanie, jak mam to zrobić poprawnie? W pliku interfejsów mam następujące elementy:

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

Z pozdrowieniami i bardzo dziękuję!

DanFritz
źródło
upewnij się, że korzystasz z najnowszego oprogramowania i oprogramowania. walczyłem o przydział starego oprogramowania, które doprowadzało mnie do szału. zmodernizowałem wszystko od zera i ma zintegrowanego suplikanta i jest bardzo łatwy do opanowania
Piotr Kula,
dziękuję za szczegółowe informacje na ten temat, udało mi się wdrożyć to, co tu napisano i zmusić moją pi do pracy z oboma adapterami.
1
Myślę, że rozwiązanie powinno zostać opublikowane jako odpowiedź ...
jmc 28.12.2013
1
Jest to zła forma i szkodzi użyteczności strony, aby „zaktualizować pytanie, aby zawierało odpowiedź”. Powinieneś opublikować odpowiedź na swoje pytanie. Wtedy będzie łatwo znaleźć dla innych - i może przyciągnąć entuzjastyczne opinie ludzi, którym pomaga
Lyndon White

Odpowiedzi:

25

Dotyczy to Raspbian Wheezy przed 2015-05-05 dla późniejszych (i Jessie / Stretch) Zobacz Jak skonfigurować sieć / WiFi / Statyczne IP

Zgodnie z sugestią społeczności moja odpowiedź pochodzi z pytania.

Mam teraz działającą, więc udostępnię wszystkie moje pliki konfiguracyjne społeczności. Najpierw spójrzmy na plik wpa_supplicant.conf:

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
}

Następnie mój nowy plik interfejsów aktualizacji

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

A teraz przychodzi trudna część, musisz wyłączyć hotplugging urządzenia eth0 (w przeciwnym razie spowoduje to wyłączenie twojego wlan0). W tym celu edytujesz następujący plik:

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

Mam również następujące elementy w skrypcie startowym, dzięki czemu moje wifi się uruchomi (czasami bez żadnego powodu nie uruchomi się). Musisz także zabić demona ifplugd na urządzeniu eth0:

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

I to powinno działać!

DanFritz
źródło
3
Nie musisz wyłączać całości ifplugd. Zamiast tego po prostu wyłącz (usuń) obraźliwe dowiązanie symboliczne /etc/ifplugd/action.d/action_wpa, które uniemożliwia działanie wlan0, gdy podłączony jest Ethernet.
minmaxavg
aby wyłączyć hotplugging urządzenia eth0, czy nie powinniśmy usunąć auto etholinii? Ponadto nadal mam:~ $ sudo service isc-dhcp-server start Job for isc-dhcp-server.
IggyPass
8

Jeśli urządzenie nie ma dostępu do Internetu lub innego dostępu poza lokalną podsiecią, należy wyeliminować bramę. Wymienienie bramy na obu interfejsach jest prawdopodobnie winowajcą.

Jeśli sieć Ethernet jest przeznaczona dla lokalnej podsieci, usuń tylko tę bramę.

Tevo D.
źródło
Tevo D ma rację. Kiedy twój eth0 jest podłączony, będziesz miał domyślną trasę (sieć 0.0.0.0) przez interfejs eth0, co spowoduje, że ruch poza siecią zostanie skierowany przez interfejs eth0 do „wiadra bitów” .
HeatfanJohn
Oke usunąłem bramę na eth0. Teraz widzę, że moja sieć bezprzewodowa jest podłączona (działa iwconfig), ale kiedy uruchamiam ifconfig, sieć bezprzewodowa nie korzysta ze statycznego adresu IP lub bramy, którą przypisałem (pozostaje pusta). Jakieś wskazówki na ten temat?
DanFritz,
Znalazłem rozwiązanie, dziękuję za pomoc. Zaktualizowałem moje pytanie o wszystkie moje pliki konfiguracyjne (dla innych osób)
DanFritz,
@TevoD Skorzystałem z twojej rady, aby skomentować bramę, działa, ale działa przez 1 minutę, potem WiFi rozłączone. (Ale Ethernet działa), czy mógłbyś mi pomóc
H.Ghassami