Um dos recursos mais interessantes do wpa_supplicant é a possibilidade de definir várias redes diferentes no arquivo de configuração. O wpa_supplicant passa, então, a testar cada uma delas periodicamente, conectando-se à rede que estiver disponível. Daí que surgiu o nome: supplicant significa, literalmente, “pedinte”.
Neste caso, você deve especificar cada uma das redes no arquivo “/etc/wpa_supplicant.conf” (ou /etc/wpa_supplicant/wpa_supplicant.conf), juntamente com um “peso” ou prioridade para cada uma. O arquivo poderia conter uma entrada para a rede da sua casa, que usa WPA, a rede do escritório, que usa WEP, e uma entrada para redes públicas, sem encriptação. O restante da configuração continua igual ao que já vimos.
A rede de casa pode ter peso 5, a do escritório ter peso 3 e as redes públicas terem peso 1, de forma que ele dá prioridade às duas redes e tenta se conectar a qualquer rede pública disponível caso nenhuma das duas seja encontrada.
Neste caso o arquivo ficaria:
# Rede de casa, com WPA (esta é a entrada gerada pelo wpa_passphrase)
network={
ssid=”casa”
psk=2ceaa0388fa863213f5f527055846101dc449c9a569c1e43ea535a3344d3dc32
priority=5
}
# Rede do escritório, com WEP:
network={
ssid=”escritorio”
key_mgmt=NONE
wep_key0=ADADA54321
wep_tx_keyidx=0
priority=3
}
# Redes públicas, sem encriptação
network={
ssid=””
key_mgmt=NONE
priority=1
}
Note que incluí a linha “priority”, dentro de cada uma das entradas, especificando a prioridade de cada uma. As redes com prioridade mais alta são testadas primeiro, deixando a entrada para redes públicas como último recurso.
No caso da entrada para redes WEP, você substituiria apenas o SSID e a chave de encriptação pelos valores corretos, mantendo as linhas “key_mgmt=NOME” e “wep_tx_keyidx=0”, que fazem parte da configuração.
Concluindo, o wpa_supplicant oferece também suporte ao WPA Enterprise, com o uso de um servidor de autenticação e certificados. Este é um exemplo de configuração que você usaria no arquivo “/etc/wpa_supplicant.conf”:
network={
ssid=”RedeSegura”
scan_ssid=1
key_mgmt=WPA-EAP
pairwise=CCMP TKIP
group=CCMP TKIP
eap=TLS
identity=”seunome@empresa.com”
ca_cert=”/etc/cert/ca.pem”
client_cert=”/etc/cert/user.pem”
private_key=”/etc/cert/user.prv”
private_key_passwd=”suasenha”
}
Note que nesse caso é necessário indicar a localização dos certificados, que devem ser previamente instalados no HD (do cliente), além de fornecer o login e senha.