Este repositório está obsoleto e será retirado logo após 22 de agosto de 2018 AOE. Ou seja, a configuração fornecida ficará indisponível no interesse de não espalhar ainda mais práticas ilícitas de segurança.
A ferramenta eduroam Configuration Assistant Tool (CAT) executa a tarefa que este repositório foi criado, mas melhor. Para Linux, eles oferecem instaladores shellscript que irão gerar uma configuração wpa_supplicant para você, caso não consigam encontrar o Network Manager instalado.
O CAT faz um trabalho melhor porque também fornece um certificado que você pode usar para verificar o servidor RADIUS da sua instituição de origem antes de falar com ele. A configuração fornecida aqui não fez isso e esta é uma má prática: você pode ter exposto sua senha a terceiros não intencionais.
Usar o CAT, em vez desta configuração, também significa que você deve, a partir de agora, ficar atento quando a configuração ou o certificado em sua instituição de origem estiver sujeito a alterações e atualizar sua configuração de acordo.
É recomendável que você altere sua senha se tiver usado esta configuração.
Veja também as edições 23, 24 e 25.
TLDR; Esta configuração wpa_supplicant
para eduroam parece ser bastante robusta.
Eduroam é um serviço de acesso sem fio seguro disponibilizado à comunidade educacional e de pesquisa por muitas instituições educacionais em todo o mundo. Ele foi projetado para que você, como estudante ou pesquisador, tenha que fazer o mínimo esforço para se conectar a uma rede sem fio segura, não importa em qual instituição educacional você esteja atualmente. Isto incentiva o intercâmbio educacional e a colaboração científica em todo o mundo. (Este vídeo explica o eduroam usando desenhos animados!)
wpa_supplicant
é um "suplicante IEEE 802.1X" genérico (ou seja, a ferramenta que pode garantir que sua conexão sem fio seja segura). A maioria dos gerenciadores de rede baseados em Linux usam wpa_supplicant
nos bastidores. Obviamente, wpa_supplicant
possui uma interface de linha de comando e é bastante simples exercer grande controle sobre sua configuração. (Não há desenhos sobre wpa_supplicant
☹.)
Para este fim, é uma pena que o site genérico do eduroam aparentemente (ou seja, corrija-me se eu estiver errado) não oferece documentação sobre como configurar seu wpa_supplicant
. Em vez disso, eles oferecem instaladores aos usuários finais, incluindo um script de shell para usuários do Linux (que pode ser considerado uma documentação primitiva, mas honesta). Algumas instituições oferecem documentação wpa_supplicant
bruta, mas o fazem de forma ad-hoc — sem qualquer garantia de que a configuração funcionará em qualquer outra instituição, anulando o propósito do Eduroam .
Esta é uma tentativa de estabelecer uma configuração wpa_supplicant
unificada, que funcione de maneira geral. Por enquanto, porém, esta é apenas uma configuração wpa_supplicant
não documentada que parece funcionar muito bem em várias instituições. Dê uma mão e documente ou apenas me diga se essa configuração também funciona para você.
identity
como [email protected]
, se seu nome de usuário for abc123
e o domínio da sua universidade de origem for ku.dk
.anonymous_identity
como [email protected]
ou simplesmente @ku.dk
. Usar uma identidade anônima não revela sua identidade a ninguém, exceto à universidade de origem – o eduroam liga para casa para verificar sua identidade e senha sempre que você faz login em outro local. O hash da senha precisa ser um hash MD4 da codificação little-endian UTF16 da sua senha. Por exemplo, se sua senha for hamster
, você pode fazer hash da seguinte maneira:
$ echo -n 'hamster' | iconv -t utf16le | openssl md4
(Observe o uso de aspas simples para evitar escape no shell.)
(Veja também a variável bash HISTCONTROL
para manter os comandos fora do seu ~/.bash_history
.)
Se você estiver usando pass
ou outro gerenciador de senhas com uma interface de linha de comando, considere um pipeline como este:
$ pass eduroam | tr -d 'n' | iconv -t utf16le | openssl md4
Assim que tiver o hash MD4, escreva-o em sua configuração da seguinte maneira:
password=hash:2fd23a...456cef
Atenção! MD4 é um algoritmo de hash obsoleto e não deve ser considerado seguro.
Se você preferir rodar sem um gerenciador de rede, aqui está a maneira rápida e suja de executar wpa_supplicant
com esta configuração:
$ sudo wpa_supplicant -Dnl80211 -iwlp3s0 -c supplicant.conf -B
Onde nl80211
é o driver do kernel a ser usado. nl80211
é a nova interface netlink 802.11 padrão, destinada a substituir o antigo wext
(Wireless-Extensions). Se você não tiver nl80211
disponível, você pode tentar wext
, mas wext
pode falhar com o erro ioctl[SIOCGIWSCAN]: Argument list too long
in face of too many access points. Se você possui uma placa Intel, outra alternativa é iwlwifi
.
Uma maneira de encontrar o driver necessário é usando lspci
:
$ lspci -k
wlp3s0
é o nome da interface de rede da sua placa wireless. Você pode encontrar isso usando ip link
:
$ ip link
Opcionalmente, use a opção -B
para mover o processo wpa_supplicant
para segundo plano. Deixá-lo de fora, no entanto, fornecerá insights úteis caso você não consiga se conectar.
Além disso, inicie dhcpcd
se ele não iniciar automaticamente.
No Raspbian Stretch você também teria que adicionar as seguintes linhas (cortesia de @patrick-nits):
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=root
country=<2-letter country code>
ctrl_interface
é necessário porque o Raspbian Stretch usa wpa_cli
por padrão. ctrl_interface
é necessário sempre que você usa wpa_cli
.country
é necessário "para fins regulatórios". Em particular, isso altera as bandas de frequência que wpa_supplicant
usará. O código do país deve ser um código ISO 3166-1 Alpha-2.