Como posso configurar meu servidor sem cabeça para conectar-se automaticamente a uma rede sem fio?

18

Estou configurando um servidor sem cabeça, mas não tenho acesso Ethernet onde quero colocá-lo, por isso preciso que ele se conecte automaticamente à minha rede Wi-Fi quando ele inicializar (ele possui uma placa sem fio). Posso conectar-me a uma conexão Ethernet para configurá-la, mas preciso que ela se conecte automaticamente ao meu ponto de acesso a partir de então.

Como posso configurar isso?

Seth
fonte

Respostas:

19

Depois de fazer muitas pesquisas, consegui que funcionasse. Como tenho uma placa sem fio Intel, não precisei instalar drivers extras, mas talvez seja necessário, dependendo da placa que você possui.

Primeiro, você precisa descobrir qual interface sua placa sem fio está usando. Nós usamos o iwconfigcomando para isso:

iwconfig  

No meu caso, minha placa wireless é a wlan0interface, então eu a usarei. Agora, precisamos procurar redes sem fio:

iwlist wlan0 s  

Isso deve gerar muita saída, mostrando os detalhes das várias redes sem fio na sua área. Geralmente é mais fácil filtrar pelo ESSID. grepnos ajuda aqui:

iwlist wlan0 s | grep ESSID  

Isso listará os nomes de todas as redes sem fio na sua área. Agora é hora de se conectar à sua rede.

Redes inseguras e WEP

Se sua rede não é segura ou é protegida pelo WEP mais antigo (hora de atualizar sua segurança ou roteador!), A conexão é relativamente simples. Se sua rede não estiver segura, você poderá se conectar com isso:

iwconfig wlan0 essid NAME_OF_NETWORK  

Se sua rede estiver protegida por WEP, adicione o keyargumento seguido por sua senha, desta forma:

iwconfig wlan0 essid NAME_OF_NETWORK key PASSWORD  

Você pode ter que correr

dhclient  

Para que seu roteador atribua a você um endereço IP.

WPA / WPA2

WPA / WPA2 é um pouco mais complicado. Você precisará usar wpa_supplicant. Primeiro, crie o arquivo de configuração em /etc:

sudo wpa_passphrase NETWORK_NAME NETWORK_PASSWORD > /etc/wpa_supplicant.conf  

Agora precisamos nos conectar:

sudo wpa_supplicant -B -iINTERFACE_NAME -cPATH_TO_CONFIG -DDRIVER  

Por exemplo:

sudo wpa_supplicant -B -iwlan0 -c/etc/wpa_supplicant.conf -Dwext  

-Bé executado wpa_supplicantem segundo plano. O wextdriver deve funcionar na maioria dos casos. Para ver outros drivers sendo executados:

wpa_supplicant  

Para obter mais informações sobre como se conectar, consulte Como conectar e desconectar manualmente uma rede no terminal?

Conecte-se na inicialização

Agora precisamos editar /etc/network/interfaces. Abra-o no seu editor favorito ( vim, nano, etc); você precisará usar sudo.

Remova tudo, exceto:

auto lo
iface lo inet loopback

(o dispositivo de loopback). Agora adicione:

auto wlan0  
iface wlan0 inet dhcp  

pre-up <COMMAND> 

Onde wlan0está sua interface sem fio e <COMMAND>é o comando que você usa para se conectar à sua rede (veja acima). Por exemplo, se sua rede não é segura, você deve adicionar:

pre-up iwconfig wlan0 essid some_network_name  

Se sua rede estiver protegida com WPA / 2, você adicionaria algo assim:

pre-up sudo wpa_supplicant -B -iwlan0 -c/etc/wpa_supplicant.conf -Dwext  

Se você estiver usando, wpa_supplicantvocê também deve adicionar:

post-down sudo killall -q wpa_supplicant  

Salve o arquivo, reinicie, desconecte sua ethernet e tente executar:

sudo apt-get update

Se o comando for concluído com sucesso, parabéns! Você está online! Se o comando não for concluído com êxito, adicione um comentário abaixo.

Exemplos e explicações

Se sua rede não estiver segura ou protegida com WEP, você /etc/network/interfacesdeverá se parecer com isso agora:

auto lo
iface lo inet loopback  

auto wlan0  
iface wlan0 inet dhcp  

pre-up iwconfig wlan0 essid some_network_name 
# note: if WEP secured you would also have a 'key' argument with your password

Se sua rede é protegida por WPA / 2, sua /etc/network/interfacesaparência deve ser semelhante a esta:

auto lo
iface lo inet loopback  

auto wlan0  
iface wlan0 inet dhcp  

pre-up sudo wpa_supplicant -B -iwlan0 -c/etc/network/wpa_supplicant.conf -Dwext  

post-down sudo killall -q wpa_supplicant  

Agora uma explicação.

  • auto wlan0: Inicia a wlan0interface automaticamente.

  • iface wlan0 inet dhcp: Nos fornece um endereço IP através do DHCP

  • pre-up: Especifica o (s) comando (s) para iniciar a conexão.

  • post-down: Especifica os comandos a serem usados ​​para limpar depois de nós mesmos (se necessário).

Fontes:

Seth
fonte
9

Sugiro um endereço IP estático para que você possa facilmente ssh e ftp no servidor. Além disso, você pode simplificar significativamente seu arquivo:

auto lo
iface lo inet loopback  

auto wlan0  
iface wlan0 inet static
address 192.168.1.125  
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8 192.168.1.1
wpa-ssid <your_network>
wpa-psk <your_key>

Verifique se o endereço está fora do intervalo usado pelo roteador para DHCP e, é claro, substitua os detalhes apropriados aqui.

chili555
fonte
11
Seria legal se você pudesse adicionar um pouco mais de explicação para uma nova pessoa, para que ela não precise ler minha resposta antes de entender a sua.
Seth
Sua resposta funcionará APENAS com as alterações fornecidas no arquivo de interfaces? Quero dizer, isso não precisa que o wpa_supplicant seja executado em segundo plano, etc, etc, e todas as outras coisas, conforme sugerido na resposta aceita de Seth?
OverTheEdge
@OverTheEdge Sim. Tente e, se não, inicie uma nova pergunta e nós ajudaremos.
chili555