Respostas:
Este tutorial descreve como configurar a rede usando o gerenciador de rede padrão dhcpcd incluído no Raspbian desde 05-05-2015.
Aplica-se aos lançamentos da Fundação Raspbian Buster , Raspbian Stretch , Raspbian Jessie e o último Raspbian Wheezy .
As configurações do Buster são idênticas ao Stretch.
Se você estiver usando uma conexão Ethernet com um roteador, não deve haver nenhuma configuração necessária e deve funcionar imediatamente.
OBSERVAÇÃO O WiFi embutido Pi3 / Pi Zero W não suporta redes de 5GHz e não pode se conectar ao Ch 12,13 em redes de 2,4GHz até que o domínio regulador sem fio esteja definido.
O Wi - Fi em dispositivos habilitados para 5GHz é desativado até que o domínio regulador sem fio seja definido (Pi4B, Pi3B +, Pi3A +)
- O domínio pode ser definido por meio de
Raspberry Pi Configuration
(rc_gui)raspi-config
ou definindocountry=
um código de país ISO 3166 alfa2 apropriado em/etc/wpa_supplicant/wpa_supplicant.conf
.
Se você estiver usando WiFi e a GUI configurada, seguindo as Diretrizes da Fundação
Se você estiver usando o WiFi na Linha de Comando configurada, seguindo as Diretrizes da Fundação.
Essa é a única maneira de configurar uma rede que não transmite SSID
.
Isso também pode ser usado para configurar um sistema 'Sem Cabeça', por exemplo, usando um cabo serial do console, mas é muito mais fácil se você puder emprestar um monitor e teclado para configuração. Veja abaixo outro método possível usando um cabo Ethernet para um PC.
Raspbian , desde maio de 2016, verifica o conteúdo do diretório de inicialização em busca de um arquivo chamado wpa_supplicant.conf
e o copia /etc/wpa_supplicant
, substituindo qualquer wpa_supplicant.conf
arquivo existente que possa estar lá. O arquivo no diretório de inicialização é removido. Isso pode ser usado para ativar a configuração sem cabeça, usando as wpa_supplicant.conf
configurações detalhadas abaixo. (Você provavelmente também desejará ativar ssh
.)
Se você apenas deseja saber o IP Address
seu Pi está usando, digite hostname -I
na linha de comando.
Desde a versão de novembro de 2016, o Raspbian tem o servidor SSH desativado por padrão. Você precisará habilitá- lo manualmente.
Entre sudo raspi-config
no terminal, primeiro selecione e advanced options
, em seguida, navegue até ssh
, pressione Enter
e selecione Ativar ou desativar o servidor ssh.
Para configuração sem cabeça, o SSH pode ser ativado colocando um arquivo chamado 'ssh', sem nenhuma extensão, na partição de inicialização do cartão SD.
Se você estiver executando um Raspbian recente,
/etc/network/interfaces
deve ser o seguinte. Se você o alterou, coloque-o de volta. (OuStretch
apenas exclua-o - ele efetivamente não faz NADA.)
# interfaces (5) arquivo usado por ifup (8) e ifdown (8) # Observe que este arquivo foi escrito para ser usado com o dhcpcd # Para IP estático, consulte /etc/dhcpcd.conf e 'man dhcpcd.conf' # Inclua arquivos de /etc/network/interfaces.d: diretório-fonte /etc/network/interfaces.d
O arquivo /etc/wpa_supplicant/wpa_supplicant.conf
será criado / modificado pelos métodos de configuração recomendados, mas pode ser configurado manualmente. O Raspbian recente tem uma opção raspi-config
para inserir SSID e Senha. Deve conter algo como o seguinte: -
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=AU
network={
ssid="ESSID"
psk="Your_wifi_password"
}
Se você precisar se conectar a uma rede privada (ou seja, sem transmissão SSID
), inclua a linha scan_ssid=1
interna network={⋯}
.
NOTA Se você deseja se conectar a redes diferentes (por exemplo, no trabalho ou em casa), pode incluir várias
network={⋯}
entradas.Se você tem acesso a várias redes e deseja se conectar a uma rede específica, inclua a linha
priority=100
dentro danetwork={⋯}
entrada.
Você pode selecionar uma prioridade diferente para cada rede, a rede acessível de maior prioridade será selecionada; o padrão é 0.
Existem muitas outras opções que podem ser usadas, veja man wpa_supplicant.conf
.
Jessie não inclui o 10-wpa_supplicant
gancho para gerenciar interfaces WiFi, portanto, são necessários links para o wpa_supplicant. Essas configurações são incompatíveis com os nomes de interface de rede previsíveis.
O /etc/network/interfaces
usado por Jessie deve ser: -
# interfaces(5) file used by ifup(8) and ifdown(8)
# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
auto lo
iface lo inet loopback
iface eth0 inet manual
allow-hotplug wlan0
iface wlan0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
allow-hotplug wlan1
iface wlan1 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
OBSERVAÇÃO ao chamar dhcp in /etc/network/interfaces
será desativado dhcpcd
.
Stretch
introduziu 1 nomes de interface de rede previsíveis que foram usados em outras distribuições por algum tempo.
As interfaces de rede terão nomes formados a partir de um prefixo en
- Ethernet ou wl
- wlan seguido de x
indicação MAC
e, MAC
por exemplo, enxb827eb123456
ou wlx00c140123456
. No entanto, o Wi-Fi integrado do Pi4, Pi3 e PIZeroW conectado acima sdio
usará o nomewlan0
Isso pode ser benéfico para quem usa várias interfaces de rede, no entanto, para a maioria dos usuários de Pi, uma única interface Ethernet e WiFi fará pouca diferença. Os nomes anteriores eth0
e wlan0
podem ser restaurados se você passar net.ifnames=0
a linha de comando do kernel /boot/cmdline.txt
.
Existe uma opção raspi-config
para ativar nomes previsíveis da interface de rede.
1. Por alguma razão incompreensível, a Fundação decidiu "Desativar nomes de interface de rede previsíveis para dispositivos Ethernet" apenas 3 semanas após a introdução do recurso tão esperado. Há uma opção em Advanced Options
de raspi-config
para alternar essa configuração.
Consulte a resposta em separado Endereço IP estático
dhcpcd
Configuração avançadaRaspbian, por padrão, usa dhcpcd
para gerenciar interfaces de rede. Isso é automático e a maioria dos usuários não precisa fazer mais do que especificar o SSID e a senha para redes sem fio.
É possível configurar como dhcpcd
funciona inserindo opções /etc/dhcpcd.conf
; veja man dhcpcd.conf
.Há um bom artigo sobre dhcpcd
a https://wiki.archlinux.org/index.php/dhcpcd
A seguir, descrevemos algumas das configurações mais comuns: -
É possível configurar um perfil estático dentro dhcpcd
e retornar a ele quando a concessão do DHCP falhar. Isso é útil principalmente para máquinas sem cabeça, nas quais o perfil estático pode ser usado como perfil de "recuperação" para garantir que seja sempre possível conectar-se à máquina. O perfil estático é configurado como qualquer outro endereço IP estático
# define perfil estático perfil static_eth0 endereço_ip estático = ⋯ roteadores estáticos = ⋯ static domain_name_servers = ⋯ # fallback para o perfil estático no eth0 interface eth0 fallback static_eth0
dhcpcd
configuração de uma interfaceIsso geralmente é feito para permitir que o Pi atue como um ponto de acesso (que precisa ser configurado usando outros arquivos), enquanto permite a DHCP
configuração normal em outras interfaces.
Adicione denyinterfaces wlan0
ao final do arquivo (mas acima de qualquer outra linha de interface adicionada).
dhcpcd
configuração de um gateway em uma interfaceSe você deseja que uma interface não instale nenhuma rota padrão (geralmente usada em conjunto com um endereço IP estático), especifique
nogateway
dhcpcd
pode configurar interfaces dependentes da rede host. Isso usa o ARP (Address Resolution Protocol) para analisar hosts com base no endereço MAC ou IP antes de tentar a resolução DHCP.
interface bge0 arping 192.168.0.1 # Minha rede 192.168.0.1 específica perfil dd: ee: aa: dd: bb: ee static ip_address = 192.168.0.10 / 24 # Uma rede 192.168.0.1 genérica profile 192.168.0.1 endereço_ip estático = 192.168.0.98 / 24
Você pode acelerar o DHCP desativando a detecção do ARP se não estiver usando esses recursos e tiver uma rede simples.
noarp
É possível configurar o dhcpcd para usar arquivos wpa_supplicant.conf diferentes para uma interface sem fio específica.
Crie um arquivo nomeado wpa_supplicant-"$interface".conf
em, /etc/wpa_supplicant/
por exemplo, wpa_supplicant-wlan0.conf
será usado apenas porwlan0
/etc/wpa_supplicant/wpa_supplicant.conf
será usado para quaisquer outras interfaces sem fio.
Versões recentes do Raspbian (que usam dhcpcd
) permitem ssh
trabalhar sobre um link-local
endereço e avahi
(que é uma implementação do zeroconf) permitem que os programas descubram hosts executando em uma rede local.
Isso significa que você pode conectar o Pi a um computador (com um cabo Ethernet) ou a um roteador de rede local e conectar-se sem saber o endereço IP.
Você pode conectar-se facilmente do Linux e OS X com ssh pi@hostname.local
(o nome do host padrão é raspberrypi
). Isso deve funcionar com os ssh
programas GUI populares . Às vezes, isso é problemático com algumas versões do Windows e redes que usam .local de maneira não padrão. (Veja https://en.wikipedia.org/wiki/.local )
NOTA A .local
resolução nem sempre funciona, por exemplo, em rsync
. O seguinte deve resolver o IP (e pode ser incluído nos bash
scripts)
RemotePi=$(getent hosts hostname.local | awk '{ print $1 }')
Se o seu sistema não precisar getent
consultar, hosts
por exemplo, o macOS, você poderá usar o seguinte: -
RemotePi=$(arp -n hostname.local | awk '{x = $2; gsub(/[()]/, "", x); print x }')
Se você tiver vários Pi, precisará garantir que cada Pi tenha um nome de host exclusivo.
Você pode usar um cabo cruzado, mas não precisa de um (a maioria das interfaces modernas detecta automaticamente).
Uma desvantagem da conexão direta é que o Pi não terá acesso à Internet e a data não será definida. Você pode copiar a data do host executando ssh pi@hostname.local sudo date -s$(date -Ins)
antes da conexão.
Este tutorial é sobre como configurar uma instalação Raspbian normal para acessar a Internet usando o software incluído. Ele também cobre conexões com outros computadores na mesma rede.
Destina-se principalmente a ajudar novos usuários que lutam para que o Pi (especialmente o WiFi) funcione.
NÃO cobre: -
- Outros gerentes de rede.
- Executando redes avançadas no Pi (por exemplo
DHCP
, servidores, encapsulamento, VPN, ponto de acesso).- Uso de
ipv6
(embora se você tiver umaipv6
rede, isso funcione).- Configurações de rede alternativas. (Existem muitas maneiras diferentes de configurar a rede.)
As perguntas sobre a configuração do endereço IP estático estão entre as mais comuns neste site. Existem muitos tutoriais (muitos errados, obsoletos ou incompletos).
aviso Legal
Antes de prosseguir, sinto-me obrigado a afirmar que não é recomendável configurar um endereço estático. Engenheiros de telecomunicações não fazem isso. Os endereços IP estáticos podem ser o destino da vida de um administrador de rede. Há situações em que os endereços IP estáticos são necessários, por exemplo, se você estiver executando um servidor DHCP ou em uma rede isolada sem servidor DHCP.
Se você estiver determinado a prosseguir de qualquer maneira, certifique-se de acertar. Adaptado do Tutorial da Network Foundation
Isso é feito com mais facilidade com o próprio Pi, usando DHCP, mas pode ser feito em qualquer computador da sua rede, embora os comandos possam diferir em outros sistemas.
Corre
ip -4 addr show | grep global
que deve gerar uma saída como:
inet 10.1.1.30/24 brd 10.1.1.255 scope global eth0
inet 10.1.1.31/24 brd 10.1.1.255 scope global wlan0
O primeiro endereço é o endereço IP do seu Pi na rede e a parte após a barra é o tamanho da rede. É altamente provável que o seu seja um / 24.
O segundo endereço é o endereço brd (broadcast) da rede.
Encontre o endereço do seu roteador (ou gateway)
ip route | grep default | awk '{print $3}'
10.1.1.1
Por fim, anote o endereço do seu servidor DNS, que geralmente é o mesmo do seu gateway.
cat /etc/resolv.conf
# Generated by resolvconf
nameserver 10.1.1.1
Siga um dos seguintes métodos. (Existem outros métodos não documentados aqui. Estas são as mais comuns em Raspbian.) ( Em qualquer método de substituir o nome da interface de rede adequada para eth0
, wlan0
ou nomes de interface de rede previsíveis . )
Se você deseja encontrar os nomes da interface, mesmo que não estejam conectados, execute o seguinte comando ls /sys/class/net/
Nos dois métodos, você deve escolher endereços IP que não estejam em uso; idealmente fora do intervalo usado pelo seu servidor DHCP, dentro da mesma sub-rede.
Deixe /etc/network/interfaces
como padrão (como acima).
Edite da /etc/dhcpcd.conf
seguinte forma: -
Here is an example which configures a static address, routes and dns.
interface eth0
static ip_address=10.1.1.30/24
static routers=10.1.1.1
static domain_name_servers=10.1.1.1
interface wlan0
static ip_address=10.1.1.31/24
static routers=10.1.1.1
static domain_name_servers=10.1.1.1
ip_address
é o endereço e o tamanho do comando acima (ou outro endereço não utilizado na mesma rede),
routers
é o endereço do seu roteador (ou gateway).
domain_name_servers
é o endereço DNS de /etc/resolv.conf. (ver man dhcpcd.conf
)
Há um bom artigo sobre dhcpcd
a https://wiki.archlinux.org/index.php/dhcpcd A Fallback profile
é uma alternativa ao IP estático
OBSERVAÇÃO Esse método NÃO é recomendado (e funciona apenas se você desabilitar o daemon do cliente DHCP), principalmente se você planeja usar as duas interfaces.
Configure um endereço de rede estático no seu Pi no /etc/network/interfaces
auto eth0
iface eth0 inet static
address 10.1.1.30
netmask 255.255.255.0
gateway 10.1.1.1
allow-hotplug wlan0
iface wlan0 inet static
address 10.1.1.31
netmask 255.255.255.0
gateway 10.1.1.1
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
address
é o endereço do comando acima (ou outro endereço não utilizado na mesma rede),
netmask
255.255.255.0 corresponde ao tamanho da rede /24
.
gateway
é o endereço do seu roteador (ou gateway).
Você também pode especificar dns-nameservers
, mas isso geralmente não é necessário. O broadcast
é derivado automaticamente de address
e netmask
não precisa ser especificado. Para mais detalhes, consulte https://wiki.debian.org/NetworkConfiguration
Você pode definir um ou ambos eth0
, wlan0
ou um dos nomes previsíveis da interface de rede
Em seguida, desative o daemon do cliente DHCP e mude para a rede Debian padrão :
sudo systemctl disable dhcpcd
sudo systemctl enable networking
Reinicialize para que as alterações entrem em vigor:
sudo reboot
systemd-analyze
.
static domain_search=example.local
ao método dhcpcd.conf. Sinta-se livre para reverter / editar / entrar em contato comigo.
Para um endereço IP estático em uma conexão Ethernet:
sudo nano /etc/dhcpcd.conf
Digite as seguintes linhas na parte superior do arquivo:
interface eth0
static ip_address=192.168.1.XX/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1
sudo reboot
Isso precisa ser feito para a atualização Jessie recente. /etc/network/interfaces
deve ser deixado sozinho . Abra o navegador e digite o endereço do roteador (192.168.1.1 para a maioria) e verifique sua rede doméstica para garantir que o Raspberry Pi seja exibido como 'Estático'.
dhcpcd
inferiu a máscara de rede, o que não pode para outros intervalos de endereços. Leia as man
páginas.
auto eth0
acima iface eth0 inet manual
no seu /etc/network/interface
arquivo. Reinicie a rede via sudo service networking restart
comando
Método curto e infalível de como fazer isso com:
Isso definirá um IP fixo e habilitará o daemon ssh:
/boot/cmdline.txt
e adicione ip=192.168.1.20
ao final da linha./boot/ssh
ssh pi@192.168.1.20
a senha é raspberry
. Use o Putty no Windows para conectar-se via ssh.Estou usando isso para acessar minha Raspbian Jessie e Stretch, que é inicializada sem um monitor conectado, apenas com energia e ethernet. Depois de acessá-lo com um shell ssh, posso continuar minha configuração.
Após esse tratamento, o Raspberry PI tinha dois IPs: um do IP fixo especificado e outro do dhcp-client em execução no Raspberry Pi.
ifconfig
mostrará o IP fixo. Enquanto a seta azul-Ícone no canto superior direito mostra o dhcpd-IP.
A primeira coisa que você deve fazer é tornar o IP do seu Raspberry pi estático. Assim, sempre que você ligar o Raspberry pi, ele deverá se conectar ao seu ponto de acesso (Hotspot).
Conecte-se ao seu ponto de acesso. Digite ifconfig no terminal do raspberry pi e digite o endereço IP abaixo, no meu caso, era 192.168.43.233
Comece editando o arquivo dhcpcd.conf
sudo nano /etc/dhcpcd.conf
Role até a parte inferior e adicione essas linhas no final conforme sua conexão (com ou sem fio).
interface eth0
static ip_address=192.168.0.10/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1
interface wlan0
static ip_address=192.168.43.233/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1
Pressione Ctrl + x para salvar e reiniciar. Agora ligue o seu raspberry pi e ele se conectará automaticamente ao seu ponto de acesso.
routers
edomain_name_servers
são opcionais se você não deseja configurar o roteamento por essa interface.