wpa_supplicant-2.10

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 adequadamente usando uma plataforma LFS 11.3.

Informação do Pacote

  • Transferência (HTTP): https://w1.fi/releases/wpa_supplicant-2.10.tar.gz

  • Transferência (FTP):

  • Soma de verificação MD5 da transferência: d26797fcb002898d4ee989179346e1cc

  • Tamanho da transferência: 3,4 MB

  • Espaço em disco estimado exigido: 37 MB

  • Tempo de construção estimado: 0,5 UPC (com a GUI opcional)

Dependências do "WPA Supplicant"

Recomendadas

Opcionais

dbus-1.14.6, libxml2-2.10.3 e Qt-5.15.8

Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/wpa_supplicant

Configuração do Núcleo

Habilite as seguintes opções na configuração do núcleo, bem como controladores específicos de dispositivos para o teu hardware e recompile o núcleo, se necessário:

[*] Networking support  --->                             [CONFIG_NET]
  [*] Wireless  --->                                      [CONFIG_WIRELESS]
    <*/M> cfg80211 - wireless configuration API           [CONFIG_CFG80211]
    [*]     cfg80211 wireless extensions compatibility    [CONFIG_CFG80211_WEXT]
    <*/M> Generic IEEE 802.11 Networking Stack (mac80211) [CONFIG_MAC80211]
Device Drivers  --->
  [*] Network device support  --->                        [CONFIG_NETDEVICES]
    [*] Wireless LAN  --->                                [CONFIG_WLAN]

Abra o submenu e selecione as opções que suportam o teu hardware: "lspci" oriundo de "pciutils-3.9.0" pode ser usado para visualizar a configuração do teu hardware.

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.42.0", [então] certifique-se de ter instalado o "dbus-1.14.6" e o "libxml2-2.10.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
cd wpa_supplicant &&
make BINDIR=/usr/sbin LIBDIR=/usr/lib

Se você tiver instalado o "Qt-5.15.8" e desejar construir o aplicativo "GUI" do "WPA Supplicant", [então] execute os seguintes comandos:

[Nota]

Nota

O seguinte nome de diretório é rotulado como "qt4", mas é compatível com o "Qt-5.15.8".

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]

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]

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.26 instalado e emitir o seguinte comando como o(a) usuário(a) root:

update-desktop-database -q

Configurando o wpa_supplicant

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-20230101":

make install-service-wpa

Se o teu roteador/ponto de acesso usar "DHCP" para alocar endereços "IP", [então] você pode instalar o cliente "DHCP-4.4.3-P1" 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="dhclient"
DHCP_START=""
DHCP_STOP=""

# Configure PRINTIP="yes" para que o conjunto de comandos sequenciais imprima
# o endereço IP atribuído pelo DHCP
PRINTIP="no"

# Configure PRINTALL="yes" para imprimir os valores atribuídos pelo DHCP para
# IP, SM, DG e 1° NS. Isso exige PRINTIP="yes".
PRINTALL="no"
EOF

Se você preferir "dhcpcd-9.4.1" em vez do cliente "DHCP-4.4.3-P1", [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="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.

Conteúdo

Aplicativos Instalados: wpa_gui, wpa_supplicant, wpa_passphrase e wpa_cli
Bibliotecas Instaladas: Nenhum(a)
Diretórios Instalados: Nenhum(a)

Descrições Curtas

wpa_gui

é um aplicativo gráfico de estrutura de interação direta com o(a) usuário(a) para interagir com o "wpa_supplicant"

wpa_supplicant

é um processo de segundo plano que consegue se conectar a um ponto de acesso sem fio protegido por senha

wpa_passphrase

pega um "SSID" e uma senha e gera uma configuração simples que o "wpa_supplicant" consiga entender

wpa_cli

é uma interface de linha de comando usada para controlar um processo de segundo plano "wpa_supplicant" em execução