iwd (Português)
O iwd (iNet wireless daemon) é um daemon sem fio para Linux escrito pela Intel. O objetivo principal do projeto é otimizar a utilização de recursos, não dependendo de nenhuma biblioteca externa e, em vez disso, utilizando os recursos fornecidos pelo Kernel Linux na máxima extensão possível.
O iwd pode funcionar no modo autônomo ou em combinação com gerentes de rede abrangentes, como ConnMan, systemd-networkd e NetworkManager.
Uso
O pacote iwd fornece o programa cliente iwctl, o daemon e a ferramenta de monitoramento Wi-Fi iwmon.
Inicie/habilite iwd.service para que possa ser controlado usando o comando iwctl.
iwctl
Para obter um prompt interativo, faça:
$ iwctl
O prompt interativo é exibido com um prefixo de .
Para listar todos os comandos disponíveis:
[iwd]# help
Conectar a uma rede
Primeiro, se você não souber o nome do seu dispositivo sem fio, liste todos os dispositivos Wi-Fi:
[iwd]# device list
Em seguida, para procurar redes:
[iwd]# station dispositivo scan
Você pode listar todas as redes disponíveis:
[iwd]# station dispositivo get-networks
Por fim, para conectar-se a uma rede:
[iwd]# station dispositivo connect SSID
Se uma senha for necessária, você será solicitado a digitá-la. Como alternativa, você pode fornece-la como argumento da linha de comando:
$ iwctl --passphrase senha station dispositivo connect SSID
- O
iwdarmazena automaticamente as senhas da rede no diretório/var/lib/iwde os usa para se conectar automaticamente no futuro. Veja #Configuração de rede. - Para conectar-se a uma rede com espaços no SSID, o nome da rede deve estar entre aspas duplas.
- O iwd suporta apenas senhas PSK de 8 a 63 caracteres codificados em ASCII. A seguinte mensagem de erro será fornecida se os requisitos não forem atendidos:
PMK generation failed. Ensure Crypto Engine is properly configured.
Conecte-se a uma rede usando WPS/WSC
Se sua rede estiver configurada de forma que você possa conectar-se a ela pressionando um botão (Wikipedia:Wi-Fi Protected Setup), verifique primeiro se o seu dispositivo de rede também é capaz de usar este procedimento de configuração.
[iwd]# wsc list
Então, desde que seu dispositivo apareça na lista acima,
[iwd]# wsc dispositivo push-button
e pressione o botão no seu roteador. O procedimento também funciona se o botão foi pressionado antes, menos de 2 minutos antes.
Se sua rede precisar validar um número PIN para conectar-se dessa maneira, verifique o comando saída para ver como fornecer as opções corretas para o comando .
Desconectar de uma rede
Para desconectar-se de uma rede:
[iwd]# station dispositivo disconnect
Mostrar informações do dispositivo e da conexão
Para exibir os detalhes de um dispositivo Wi-Fi, como endereço MAC:
[iwd]# device dispositivo show
Para exibir o estado da conexão, incluindo a rede conectada de um dispositivo Wi-Fi:
[iwd]# station dispositivo show
Gerenciar redes conhecidas
Para listar as redes às quais você se conectou anteriormente:
[iwd]# known-networks list
Para esquecer uma rede conhecida:
[iwd]# known-networks SSID forget
Configuração de rede
Por padrão, guarda a configuração de rede no diretório . O arquivo de configuração é nomeado como onde rede é o SSID e tipo é o tipo da rede, como "open", "wep", "psk", "8021x". O arquivo é usado para guardar o PreSharedKey criptografado e opcionalmente a e pode ser criada pelo usuário sem invocar o iwctl. O arquivo pode também ser usado para outras configurações referentes àquele SSID. Para mais configurações, veja .
WPA-PSK
Um exemplo pequeno de arquivo para se conectar a uma rede protegida por WPA-PSK ou WPA2-PSK com o SSID "spaceship" e senha "test1234":
a PreSharedKey pode ser calculada do SSID e a senha do WiFi usando o wpa_passphrase (do ) ou wpa-pskAUR:
EAP-PWD
Para conectar-se a um ponto de acesso corporativo protegido por EAP-PWD, é necessário criar um arquivo chamado: na pasta com o seguinte conteúdo:
Se você não deseja se conectar automaticamente ao ponto de acesso, defina a opção como False e conecte manualmente ao ponto de acesso via iwctl. O mesmo se aplica à senha, se você não quiser armazená-la em texto sem formatação, deixe a opção fora do arquivo e apenas conecte-se ao AP da empresa.
EAP-PEAP
Como o EAP-PWD, você também precisa criar um na pasta Antes de prosseguir com a gravação do arquivo de configuração, este também é um bom momento para descobrir qual certificado CA sua organização usa. Para MSCHAPv2 funcionar você também precisa instalar ppp. Veja MS-CHAPv2 para mais informação. Este é um arquivo de configuração de exemplo que usa autenticação de senha MSCHAPv2:
TTLS-PAP
Como o EAP-PWD, você também precisa criar um na pasta Antes de prosseguir com a gravação do arquivo de configuração, este também é um bom momento para descobrir qual certificado CA sua organização usa. Este é um exemplo de arquivo de configuração que usa autenticação de senha PAP:
Eduroam
Eduroam oferece uma configuration assistant tool (CAT), que infelizmente não suporta iwd. No entanto, o instalador, que você pode baixar clicando no botão de download e selecionando sua universidade, é apenas um script Python. É fácil extrair as opções de configuração necessárias, incluindo o certificado e a máscara de domínio do servidor.
A tabela a seguir contém um mapeamento das opções de configuração do iwd para variáveis de script de instalação do CAT eduroam.
| Opção de configuração de Iwd | Variável de Script CAT |
|---|---|
| nome do arquivo | um de |
Config.eap_outer | |
| um de | |
Config.eap_inner | |
| username@ |
Outros casos
Mais exemplos de testes podem ser encontrados nos casos de teste do repositório upstream.
Configuração opcional
O arquivo pode ser usado para a configuração principal. Veja iwd.config(5).
Desativar a conexão automática para uma rede específica
Criar/editar o arquivo . Adicione a seguinte seção a ele:
Desativar verificação periódica para redes disponíveis
Por padrão, quando estiver desconectado, ele verifica periodicamente as redes disponíveis. Para desativar a verificação periódica (para sempre verificar manualmente), criar/editar o arquivo e adicione a seguinte seção a ele:
Ativar configuração de rede embutida
Desde a versão 0.19, o iwd pode atribuir endereços IP e configurar rotas usando um cliente DHCP embutido ou com configuração estática. É uma boa alternativa para clientes DHCP independentes.
Para ativar o recurso de configuração de rede do iwd, crie/edite o arquivo e adicione a seguinte seção a ele:
Também é possível definir métricas de rota com RoutePriorityOffset:
IPv6 support
Desde a versão 1.10, iwd suporta IPv6, mas isso é desabilitado por padrão. Para habilitar, adicione a seguinte linha no arquivo de configuração:
Esta configuração é necessária caso queira usar o DHCPv6 ou IPv6 estático. Pode também ser configurado para redes em específico.
Definindo o endereço IP estático na configuração de rede
Adicione a seguinte seção ao arquivo . Por exemplo:
Selecione o gerenciador de DNS
No momento, o iwd suporta dois gerenciadores de DNS -systemd-resolved e resolvconf.
Adicione a seguinte seção ao para :
Para resolvconf:
Negar que o usuário do console (local) modifique as configurações
Por padrão o A interface D-Bus permite qualquer usuário do console ao qual se conectar daemon e modifique as configurações, mesmo que esse usuário não seja um usuário root.
Se você não quiser permitir que o usuário do console modifique as configurações, mas permita a leitura das informações de status, crie um arquivo de configuração do D-Bus da seguinte maneira.
Solução de problemas
Depuração detalhada do TLS
Isso pode ser útil se você tiver problemas para configurar o MSCHAPv2 ou TTLS. Você pode definir o seguinte variável de ambiente via trecho drop-in:
Verifique os logs do iwd posteriormente via
Problemas de conexão após a reinicialização
Um pool de baixa entropia pode causar problemas de conexão, particularmente perceptíveis após a reinicialização. Vejo Random number generation for suggestions to increase the entropy pool.
O dispositivo sem fio não é renomeado pelo udev
Desde a versão 1.0, iwd desabilita o renomeamento do dispositivo sem fio. Ele instala o seguinte arquivo de configuração de rede do systemd que previne udev de renomear a interface para :
Como resultado, o nome do link sem fio wlan# é mantido após a inicialização. Isto resolve uma condição de corrida entre iwd e udev no renomeamento da interface como explicado em iwd udev interface renaming.
Se isso resultar em problemas, tente mascará-lo com:
# ln -s /dev/null /etc/systemd/network/80-iwd.link