Configurando WiFi e Ethernet

44

Estou lutando com minha configuração do meu Raspberry Pi. Eu quero alcançar o seguinte:

eth0: será usado com um IP estático e só poderá se conectar à rede local (este será o meu servidor NFS) wlan0: deve se conectar à minha rede sem fio para acesso à Internet

Por alguma razão, não consigo ativar as duas conexões ao mesmo tempo (sim, tenho uma boa fonte de alimentação). A Ethernet desabilitará a conexão sem fio por nenhuma razão. Se eu finalmente conseguir os dois, não consigo executar ping no google.com. Minha pergunta como devo fazer isso corretamente? Eu tenho o seguinte no meu arquivo de 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
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

Atenciosamente, e muito obrigado!

DanFritz
fonte
verifique se você está executando o firmware e o software mais recentes. Eu lutei allot no firmware antigo me deixou louco. atualizado tudo do zero e tem suplicante integrado e é muito fácil de conenct
Piotr Kula
obrigado por você em detalhes detalhados sobre este assunto, eu consegui implementar o que foi escrito aqui e consegui que meu pi funcionasse com os dois adaptadores.
1
Eu acho que a solução deve ser postada como uma resposta ... #
1128
1
É uma forma ruim e prejudica a usabilidade do site, para "atualizar a pergunta para incluir a resposta". Você deve postar a resposta para sua própria pergunta. Então será fácil encontrar outras pessoas - e poderá atrair votos positivos das pessoas que ajuda
Lyndon White

Respostas:

25

Isso se aplica ao Raspbian Wheezy anterior a 05/05/2015 para mais tarde (e Jessie / Stretch). Consulte Como configurar a rede / WiFi / IP estático

Como sugerido pela comunidade, minha resposta foi extraída da pergunta.

Eu consegui funcionar agora, então vou compartilhar todos os meus arquivos de configuração com a comunidade. Primeiramente, vamos olhar para o arquivo 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
}

Em seguida, meu novo arquivo de interfaces de atualização

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

E agora vem a parte complicada, você precisa desativar a conexão automática do dispositivo eth0 (caso contrário, ele desativará sua wlan0). Você faz isso editando o seguinte arquivo:

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

Eu também tenho o seguinte no meu script de inicialização, isso garantirá que meu wifi seja iniciado (às vezes sem motivo, ele não seria iniciado). Você também precisa matar o daemon ifplugd no dispositivo 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

E isso deve funcionar!

DanFritz
fonte
3
Você não precisa desativar o todo ifplugd. Em vez disso, basta desativar (excluir) o link simbólico ofensivo /etc/ifplugd/action.d/action_wpa, que impede o funcionamento da wlan0 quando a Ethernet está conectada.
precisa saber é o seguinte
para desativar a conexão automática do dispositivo eth0, não devemos excluir as auto etholinhas? Além disso, eu ainda tenho:~ $ sudo service isc-dhcp-server start Job for isc-dhcp-server.
IggyPass 6/06/16
8

Se um dispositivo não tiver acesso à Internet ou outro acesso fora da sub-rede local, você deverá eliminar o gateway. Listar um gateway nas duas interfaces provavelmente é o culpado.

Se a Ethernet for para a sub-rede local, remova apenas esse gateway.

Tevo D
fonte
Tevo D está correto. Quando o eth0 estiver conectado, você terá uma rota padrão (rede 0.0.0.0) para fora da interface eth0, que fará com que o tráfego fora da rede seja roteado para fora da interface eth0 e no "bit-bucket" .
precisa saber é o seguinte
Oke eu removi o gateway em eth0. Agora vejo que minha conexão sem fio está conectada (executando o iwconfig), mas quando executo o ifconfig, a conexão sem fio não usa o endereço IP estático ou o gateway que eu designei (ele permanece em branco). Alguma pista sobre isso?
DanFritz
Encontrei a solução, obrigado por sua ajuda. Eu atualizei a minha pergunta com todos os meus arquivos de configuração (para outras pessoas)
DanFritz
@TevoD eu usei o seu conselho para comentário gateway, Ele funciona, mas para 1 min, em seguida, WiFi desligado (mas Ethernet é trabalhado), você poderia me ajudar.
H.Ghassami