Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

822
Visualizações
wpa_supplicant: ¿cómo cambiar a una red diferente?

Lo que necesito: conectarme a una red wifi diferente en archlinux llamando al script python.

Lo que estoy haciendo: ejecutar las siguientes declaraciones desde python:

 wpa_passphrase "MySSID" "MyPass"> /etc/wpa_supplicant/profile.conf wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/profile.conf dhcpd wlan0

Funciona solo para el primer intento. Cuando se ejecuta por segunda vez, dice que dhcpd ya está activado. No sé cómo cambiar a otra red.

También probé wpa_cli y nuevamente, no sé cómo cambiar a otra red.

Sugiera alguna solución o alternativa (sin complicaciones)

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Su problema concreto es que inicia wpa_supplicant y dhcp en lugar de reiniciarlos. Tengo un script que dice

 #shutdown dhc dhclient -r #shutdown wpa_supplicant killall wpa_supplicant #down interface ifdown --force wlan0 sleep 1 #your wpa startup here: wpa_supplicant -t -fYOUR_LOG_FILE -cYOUR_wpa_supplicant.conf -B -iwlan0 sleep 1 #restart dhc dhclient -nw

Supongo que puede hacer esto un poco mejor configurando sus /etc/network/interfaces apropiadamente.

Por cierto. en principio, no debería ser necesario reiniciar el dhc en absoluto. Después de un tiempo, debería darse cuenta de que necesita obtener una nueva IP, pero para mí esto lleva mucho tiempo. ;)

over 4 years ago · Santiago Trujillo Relatório

0

Edite /etc/wpa_supplicant.conf

 nano /etc/wpa_supplicant.conf

Complete el archivo para que se vea así (reemplazando wifi_name y wifi_key por sus valores reales, por supuesto).

 network={ ssid="wifi_name1" psk="wifi_key1" }

y

 network={ ssid="wifi_name2" psk="wifi_key2" }

Luego guardar y salir

La red wifi ya está configurada, ahora debemos decirle que queremos conectarnos a ella usando este archivo de configuración.

 wpa_supplicant -B -i wlan0 -c <(wpa_passphrase MYSSID passphrase)

Si su interfaz no se llama wlan0, reemplace wlan0 por el nombre real de su interfaz. Ahora debemos solicitar una dirección IP.

 dhclient wlan0

Si todo salió bien, ahora verá varias líneas que contienen algunas direcciones IP y el comando ping debería funcionar.

over 4 years ago · Santiago Trujillo Relatório

0

Cuando genere una nueva configuración con wpa_passphrase , colóquela en un lugar diferente al anterior para facilitar las cosas. Entonces, por ejemplo, el wifi de su hogar podría estar en /etc/wpa_supplicant/home.conf y el wifi de su trabajo podría estar en /etc/wpa_supplicant/work.conf .

Luego, cuando necesites conectarte al wifi de tu casa, simplemente ejecuta

 killall wpa_supplicant # With root privileges wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/home.conf

Y cuando necesitas conectarte al wifi de tu trabajo corres

 killall wpa_supplicant # With root privileges wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/work.conf

Enjuague y repita para cualquier red nueva que desee usar. Si no desea mantener una red, como un wifi de Starbucks en un viaje por carretera, simplemente guárdelo en una conf que planea sobrescribir o eliminar como /etc/wpa_supplicant/temp.conf .

AFAIK, nunca tienes que volver a ejecutar dhcpcd. Tengo dhcpcd como proceso de inicio y cada vez que cambio de wifi nunca necesito tocarlo.

Editar: tampoco necesita ejecutar esto como un script de python. Puedes hacerlo en la concha. Si necesita escribir un script que cambie rápidamente el wifi, le recomendaría que use un script de shell como el siguiente, por ejemplo.

 #!/bin/sh [ -z "$1" ] && exit 1 [ ! -f "/etc/wpa_supplicant/${1}.conf" ] && echo "$1 is not a wpa_supplicant config file" && exit 1 sudo killall wpa_supplicant sudo wpa_supplicant -B -i wlan0 -c "/etc/wpa_supplicant/${1}.conf"

correr como

 wifichange home

o

 wifichange work

La sección [ -z "$1" ] dice que salga si no ingresó nada. (me gusta)

 wifichange

Y el [ ! -f ...] la sección dice que salga si no ingresó el nombre de un archivo de configuración real.

Ahora probé el script.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda