Como faço para forçar o nmcli a reconectar o uuid diferente?

5

Eu tenho um script bash que verifica meu ambiente de rede e monta os compartilhamentos de acordo. Se eu estiver no trabalho e tiver uma conexão física com a LAN, gostaria de ativar uma conexão de ponto de acesso para os dispositivos sem fio no meu escritório.

Aqui está o script:

#!/bin/bash
# are we at home?
if [ "$(ping -q -c1 00.00.00.00)" ]; then
  mount <home shares>
# well then are we on campus?
elif [ "$(ping -q -c1 00.00.00.00)" ]; then
  mount <work shares>
  # if we're on campus, then are we connected to an ethernet cable?
  if [ "$(nmcli dev list iface eth0 | grep GENERAL.CONNECTION)" != "GENERAL.CONNECTION:                     not connected" ]; then
  nmcli con up uuid <uuid> iface wlan0
  fi
fi

O comando nmcli falha; existem vários problemas.

A ferramenta nmcli não parece permitir a conexão arbitrária de uma conexão sem fio. Você pode fazer nmcli con down , mas apenas se puder especificar o <id> ou <uuid> . No meu ambiente, o wlan0 se conectará a uma das várias redes sem fio arbitrariamente.

O nmcli dev disconnect funciona com um <iface> especificado, mas parece impedir a reconexão a qualquer coisa, exceto por seleção manual. Reconectar em um script bash parece não funcionar.

O comando nmcli con up (atualmente no script acima) parece não funcionar se o <iface> já estabeleceu uma conexão.

Alguma sugestão sobre como usar nmcli para forçar uma conexão <uuid> especificada quando uma conexão <uuid> não especificada já foi estabelecida? Alguma coisa além da nmcli funcionaria melhor?

Obrigado!

    
por nmax 30.11.2014 / 00:08

0 respostas