troca automática entre o Wifi e o ethernet no Linux usando a linha de comando

2

Eu quero alternar entre o Wifi e o ethernet no Linux (Ubuntu 10.04). Eu pesquisei de várias maneiras e descobri que isso pode ser feito usando firestarter - autoswitch entre redes com e sem fio.

Para isso eu preciso instalar o pacote firestarter no Ubuntu.

Esta é a maneira correta de alternar entre eth0 e wifi? Eu queria implementá-lo usando a linha de comando sem instalar novos pacotes.

Por favor ajude. Agradecemos antecipadamente

    
por Sid 10.06.2014 / 07:54

2 respostas

1

Eu criei o script para conexão e desconexão de wifi e ethernet

Desligue o Wi-Fi

killall wpa_supplicant
wirelessname='ls /sys/class/net | grep wlan* | head -1'
ifconfig $wirelessname down

Conecte o Wi-Fi

wirelessname='ls /sys/class/net | grep wlan* | head -1'
ifconfig $wirelessname up > /dev/null 2>&1 &
killall wpa_supplicant > /dev/null 2>&1 &
iwconfig $wirelessname power off > /dev/null 2>&1 &
wpa_passphrase   > /root/wps.conf
wpa_supplicant -Dwext -i$wirelessname -c/root/wps.conf > /dev/null 2>&1 &
sleep 5
dhclient -r > /dev/null 2>&1 &
dhclient $wirelessname > /dev/null 2>&1 &

Conecte Ethernet

ifconfig $(ip link show | grep eth | grep state | awk '{printf }'| sed -e 's/:$//') up
ifconfig $(ifconfig | grep eth | awk '{print }'| head -1 ) $(ifconfig  | grep Bcast | awk '{printf }' | cut  -c6-) up

Desconectar ethernet

ifconfig $(ifconfig | grep eth | awk '{print }' | head -1 )  down 
    
por Sid 18.06.2014 / 06:47
1

Connman(1) pode ser usado para priorizar suas conexões para preferir redes com fio e conectar-se automaticamente a wireles quando a conexão com fio não estiver disponível. Ele é suportado pela Intel, por isso pode ser hostil a hardware de rede não-Intel: Eu não posso usar Connman(1) desde que meu driver de Wi-Fi não irá definir sinalizadores Intel espera habilitar o adaptador. Eu recebo o erro "no carrier" e não há conexão wifi. No entanto, parece se conectar rapidamente quando eu conecto a conexão com fio.

Você precisa configurar /etc/connman/main.conf/main.conf com algo como:

  BackgroundScanning = false
  DefaultAutoConnectTechnologies = ethernet,wifi 
  PreferredTechnologies = ethernet,wifi
  SingleConnectedTechnology = true

para garantir que somente o wifi ou ethernet esteja conectado. Em seguida, use uma sessão connmanctl(1) interativa conforme indicado pela man page para se conectar ao Wi-Fi pela primeira vez ou edite o arquivo de configurações da sua interface em /var/lib/connman (isso parece mais fácil para mim, mas é necessário reiniciar). %

Se você tiver connman-service.config(5) ou suas variantes instaladas, poderá removê-las para evitar colisões antes de instalar ifupdown

    
por SomeGuy 17.07.2018 / 22:35