Introdução ao WPA Supplicant
"WPA Supplicant" é um cliente
"Wi-Fi Protected Access" ("WPA") e suplicante "IEEE 802.1X". Ele
implementa a negociação de chave "WPA" com um Autenticador "WPA" e
a autenticação "Extensible Authentication Protocol" ("EAP") com um
Servidor de Autenticação. Além disso, ele controla o deslocamento e
a autenticação/associação "IEEE 802.11" do controlador de "LAN" sem
fio. Isso é útil para conectar-se a um ponto de acesso sem fio
protegido por senha.
Esse pacote é conhecido por construir e funcionar corretamente
usando uma plataforma LFS 12.2.
Informação do Pacote
-
Transferência (HTTP): https://w1.fi/releases/wpa_supplicant-2.11.tar.gz
-
Transferência (FTP):
-
Soma de verificação MD5 da transferência:
72a4a00eddb7a499a58113c3361ab094
-
Tamanho da transferência: 3,7 MB
-
Espaço em disco estimado exigido: 35 MB
-
Tempo de construção estimado: 0,3 UPC (sem GUI opcional)
Dependências do "WPA Supplicant"
Exigidas (tempo de execução)
Configurando o Núcleo
Linux para Sem Fios
Recomendadas
desktop-file-utils-0.27 (para
executar update-desktop-database) e
libnl-3.10.0
Opcionais
dbus-1.14.10, libxml2-2.13.3
e qt5-components-5.15.14
Instalação do WPA Supplicant
Primeiro você precisará criar um arquivo de configuração inicial
para o processo de construção. Você pode ler "wpa_supplicant/README
" e "wpa_supplicant/defconfig
" para a explicação das
opções a seguir, bem como outras opções que podem ser usadas. Crie
um arquivo de configuração de construção que deveria funcionar para
configurações "WiFi" padrão executando o seguinte comando:
cat > wpa_supplicant/.config << "EOF"
CONFIG_BACKEND=file
CONFIG_CTRL_IFACE=y
CONFIG_DEBUG_FILE=y
CONFIG_DEBUG_SYSLOG=y
CONFIG_DEBUG_SYSLOG_FACILITY=LOG_DAEMON
CONFIG_DRIVER_NL80211=y
CONFIG_DRIVER_WEXT=y
CONFIG_DRIVER_WIRED=y
CONFIG_EAP_GTC=y
CONFIG_EAP_LEAP=y
CONFIG_EAP_MD5=y
CONFIG_EAP_MSCHAPV2=y
CONFIG_EAP_OTP=y
CONFIG_EAP_PEAP=y
CONFIG_EAP_TLS=y
CONFIG_EAP_TTLS=y
CONFIG_IEEE8021X_EAPOL=y
CONFIG_IPV6=y
CONFIG_LIBNL32=y
CONFIG_PEERKEY=y
CONFIG_PKCS12=y
CONFIG_READLINE=y
CONFIG_SMARTCARD=y
CONFIG_WPS=y
CFLAGS += -I/usr/include/libnl3
EOF
Se você deseja usar o "WPA
Supplicant" com o "NetworkManager-1.48.8", [então]
certifique-se de ter instalado o "dbus-1.14.10" e o
"libxml2-2.13.3" então adicione as seguintes
opções ao arquivo de configuração da construção do "WPA Supplicant" executando o seguinte comando:
cat >> wpa_supplicant/.config << "EOF"
CONFIG_CTRL_IFACE_DBUS=y
CONFIG_CTRL_IFACE_DBUS_NEW=y
CONFIG_CTRL_IFACE_DBUS_INTRO=y
EOF
Instale o WPA Supplicant
executando os seguintes comandos:
cd wpa_supplicant &&
make BINDIR=/usr/sbin LIBDIR=/usr/lib
Se você tiver instalado o qt5-components-5.15.14 e desejar
construir o aplicativo GUI do WPA
Supplicant, execute os seguintes comandos:
pushd wpa_gui-qt4 &&
qmake wpa_gui.pro &&
make &&
popd
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) "root
":
install -v -m755 wpa_{cli,passphrase,supplicant} /usr/sbin/ &&
install -v -m644 doc/docbook/wpa_supplicant.conf.5 /usr/share/man/man5/ &&
install -v -m644 doc/docbook/wpa_{cli,passphrase,supplicant}.8 /usr/share/man/man8/
Se você tiver construído o "WPA
Supplicant" com suporte ao "D-Bus", [então] você precisará instalar os
arquivos de configuração do "D-Bus". Instale-os executando os seguintes
comandos como o(a) usuário(a) "root
":
install -v -m644 dbus/fi.w1.wpa_supplicant1.service \
/usr/share/dbus-1/system-services/ &&
install -v -d -m755 /etc/dbus-1/system.d &&
install -v -m644 dbus/dbus-wpa_supplicant.conf \
/etc/dbus-1/system.d/wpa_supplicant.conf
Se você tiver construído o aplicativo "GUI" do "WPA Supplicant", [então] instale-o executando
os seguintes comandos como o(a) usuário(a) "root
":
install -v -m755 wpa_gui-qt4/wpa_gui /usr/bin/ &&
install -v -m644 doc/docbook/wpa_gui.8 /usr/share/man/man8/ &&
install -v -m644 wpa_gui-qt4/wpa_gui.desktop /usr/share/applications/ &&
install -v -m644 wpa_gui-qt4/icons/wpa_gui.svg /usr/share/pixmaps/
Nota
Você precisará reiniciar o processo de segundo plano
"D-Bus" do sistema antes que
possa usar a interface "WPA
Supplicant" do "D-Bus".
Nota
Esse pacote instala arquivos de área de trabalho na hierarquia
/usr/share/applications
e você pode
melhorar o desempenho do sistema e o uso de memória atualizando
/usr/share/applications/mimeinfo.cache
. Para
realizar a atualização, você precisa ter o desktop-file-utils-0.27 instalado e
emitir o seguinte comando como o(a) usuário(a) root
:
update-desktop-database -q
Configurando o wpa_supplicant
Importante
Se você estiver usando o WPA Supplicant com NetworkManager-1.48.8 (ou qualquer
coisa que se comunique com o WPA Supplicant via D-Bus), esta
seção deveria ser ignorada. Executar-se uma instância de D-Bus
conectado a WPA Supplicant e outra instância WPA Supplicant
configurada de acordo com esta seção simultaneamente pode causar
problemas sutis.
Arquivo de Configuração
/etc/sysconfig/wpa_supplicant-*.conf
Informação de Configuração
Para se conectar a um ponto de acesso que usa uma senha, você
precisa colocar a chave pré compartilhada em "/etc/sysconfig/wpa_supplicant-wifi0
.conf
". "SSID"
é a sequência de caracteres que o ponto de acesso/roteador
transmite para se identificar. Execute o seguinte comando como
o(a) usuário(a) "root
":
wpa_passphrase SSID
SENHA_SECRETA
> /etc/sysconfig/wpa_supplicant-wifi0
.conf
"/etc/sysconfig/wpa_supplicant-wifi0
.conf
" pode
conter os detalhes de vários pontos de acesso. Quando o
"wpa_supplicant"
for iniciado, ele escaneará os "SSIDs" que conseguir ver e
escolherá a senha apropriada para se conectar.
Se você deseja se conectar a um ponto de acesso que não seja
protegido por senha, [então] coloque uma entrada como esta em
"/etc/sysconfig/wpa_supplicant-wifi0
.conf
".
Substitua "Algum-SSID" pelo "SSID" do ponto de acesso/roteador.
network={
ssid="Algum-SSID
"
key_mgmt=NONE
}
Conetar-se a um novo ponto de acesso que não esteja no arquivo de
configuração pode ser realizada manualmente por meio da linha de
comando ou da "GUI", mas precisa ser feito por meio de um(a)
usuário(a) privilegiado(a). Para fazer isso, adicione o seguinte
ao arquivo de configuração:
ctrl_interface=DIR=/run/wpa_supplicant GROUP=<grupo privilegiado>
update_config=1
Substitua o <grupo privilegiado> acima por um grupo do
sistema onde os(as) membros(as) tem a capacidade de se conectarem
a um ponto de acesso sem fio.
Existem muitas opções que você poderia usar para ajustar como se
conecta a cada ponto de acesso. Elas estão descritas com alguns
detalhes no arquivo "wpa_supplicant/wpa_supplicant.conf
" na árvore
do fonte.
Conectando-se a um Ponto de Acesso
Se você quiser
configurar interfaces de rede de intercomunicação na
inicialização usando o "wpa_supplicant", [então] você
precisa instalar o conjunto de comandos sequenciais "/lib/services/wpa
" incluído no pacote
"blfs-bootscripts-20240416":
make install-service-wpa
Se o teu roteador/ponto de acesso usar DHCP para alocar endereços
IP, você pode instalar o dhcpcd-10.0.8 e usá-lo para
automaticamente obter endereços de rede de intercomunicação. Crie
o /etc/sysconfig/ifconfig-wifi0
executando o
seguinte comando como o(a) usuário(a) root
:
cat > /etc/sysconfig/ifconfig.wifi0
<< "EOF"
ONBOOT="yes"
IFACE="wlan0
"
SERVICE="wpa"
# Argumentos adicionais para o "wpa_supplicant"
WPA_ARGS=""
WPA_SERVICE="dhcpcd"
DHCP_START="-b -q <insira opções de início apropriadas aqui>
"
DHCP_STOP="-k <insira opções de parada adicionais aqui>
"
EOF
Alternativamente, se você usar endereços estáticos em tua rede de
intercomunicação local, então crie o "/etc/sysconfig/ifconfig-wifi0
" executando o
seguinte comando como o(a) usuário(a) "root
":
cat > /etc/sysconfig/ifconfig.wifi0
<< "EOF"
ONBOOT="yes"
IFACE="wlan0
"
SERVICE="wpa"
# Argumentos adicionais para o "wpa_supplicant"
WPA_ARGS=""
WPA_SERVICE="ipv4-static"
IP="192.168.1.1"
GATEWAY="192.168.1.2"
PREFIX="24"
BROADCAST="192.168.1.255"
EOF
Você consegue se conectar ao ponto de acesso sem fio executando o
seguinte comando como o(a) usuário(a) "root
":
ifup wifi0
Substitua "wlan0
" pela
interface sem fio correta e "wifi0
" pelo nome desejado para o
arquivo de configuração. Por favor, observe que os arquivos de
configuração "wpa_supplicant-*.conf
" e "ifconfig.*
" precisam ter nomes idênticos, ou
seja, ambos conter "wifi0
" nos nomes deles.