Para configurar /etc/network/interfaces
para trabalhar com vários locais, você precisa entender a diferença entre as interfaces lógica e física. As interfaces físicas correspondem aos dispositivos de hardware que você instalou em seu sistema e são identificados por um esquema de nomenclatura específico (wlan0, wlan1, eth0, ra0, etc).
Em seu /etc/network/interfaces
, você pode especificar apenas uma configuração para cada interface física, portanto, é nesse ponto que as interfaces lógicas entram em ação. Você pode ter várias interfaces lógicas para uma interface física. Isso é chamado de mapeamento. Para mapear uma interface lógica para uma interface física, adicione isso a /etc/network/interfaces
mapping ra0 # map physical interface ra0...
map home work # ...to 'home' and 'work' logical interfaces
Em seguida, você escreve a configuração para cada uma dessas interfaces:
iface home inet dhcp # configuration stanza for 'home' logical interface
wpa-ssid Home
wpa-psk 00d8f778e1e86be0961aa767564d7364ee44fcbd704e4e31ee6c4af0f855c32f
iface work inet dhcp # configuration stanza for 'work' logical interface
wpa-ssid Work
wpa-psk 00d8f778e1e86be0961aa767564d7364ee44fcbd704e4e31ee6c4af0f855c32f
É claro que isso não funcionará porque o sistema não sabe qual interface usar, então usaremos guessnet
para ajudar o sistema a escolher uma configuração.
sudo apt-get install guessnet
Em seguida, usamos guessnet
na sub-rotina de mapeamento:
mapping ra0
script /usr/sbin/guessnet-ifupdown # <-- We added this
map home work
Guessnet
age testando as redes de acordo com alguns critérios (IP, ESSID, endereços MAC) e escolhendo a configuração que não falha nesses testes. No exemplo a seguir, se houver uma rede com o ESSID 'Work' disponível, a interface ra0
que definimos anteriormente será conectada a ela e aplicará essa configuração:
iface work inet dhcp
test wireless essid Work # We test if the ESSID of the network is 'Work'
wpa-ssid Work
wpa-psk 00d8f778e1e86be0961aa767564d7364ee44fcbd704e4e31ee6c4af0f855c32f