Configure a interface sem fio para vários locais

3

Desejo configurar meu /etc/network/interfaces para detectar diferentes pontos de acesso e conectá-los de acordo. Este é o estado atual deste arquivo:

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp

auto ra0
iface ra0 inet dhcp
 wpa-ssid MyNet
 wpa-psk 00d8f778e1e86be0961aa767564d7364ee44fcbd704e4e31ee6c4af0f855c32f

Isso detecta com sucesso uma conexão ethernet e se conecta ao MyNet quando está disponível. Como posso configurá-lo para detectar vários pontos de acesso?

Aqui parece ser a resposta, mas não consegui entender as instruções.

Eu tentei várias GUIs (nm, wicd, etc.), mas nenhuma delas parece funcionar no meu laptop. De qualquer forma, eu prefiro fazer isso via linha de comando.

    
por Federico 25.05.2017 / 21:08

2 respostas

0

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
    
por 12.06.2017 / 21:22
4

Para resolver várias configurações / ssids de Wi-Fi, é melhor trabalhar no nível wpa_supplicant .

Basta deixar sua interface como:

auto ra0
iface ra0 inet dhcp

Instale o wpa_supplicant com:

apt get install wpasupplicant

Você pode definir vários locais em wpa_supplicant.conf , onde o ssid com determine with configuration será usado. Como em:

network={
    ssid="ssid2"
    psk="ssid2 PASSWORD"
}

network={
    ssid="ssid1"
    psk="ssid1 PASSWORD"
}

Reinicie o serviço toda vez que você adicionar uma configuração para um novo SSID.

Quando a conexão a um AP, dependendo do nome do SSID, wpa_supplicant com automagicamente selecione a configuração correspondente.

    
por 25.05.2017 / 21:17