GNU/Linux >> Tutoriales Linux >  >> Debian

Conéctese a Wi-Fi desde la terminal en Debian 11/10 con suplicante WPA

Este tutorial le mostrará cómo conectarse a una red Wi-Fi desde la línea de comandos en Debian 11/10 servidor y escritorio usando wpa_supplicant , que es una implementación del componente suplicante para el protocolo WPA. Un solicitante en LAN inalámbrica es un software de cliente instalado en la computadora del usuario final que debe autenticarse para unirse a una red.

Tenga en cuenta que deberá instalar wpa_supplicant software antes de conectarse a Wi-Fi, por lo que primero debe conectarse a Ethernet por cable, lo cual se hace solo una vez. Si no te gusta este método, no te enfades conmigo. Quizás algún día Debian envíe wpa_supplicant en una instalación limpia.

Paso 1:encuentre el nombre de su interfaz inalámbrica y red inalámbrica

Ejecute iwconfig comando para encontrar el nombre de su interfaz inalámbrica.

iwconfig

wlan0 es un nombre común para una interfaz de red inalámbrica en sistemas Linux. En las distribuciones de Linux basadas en systemd, es posible que tenga una interfaz inalámbrica llamada wlp4s0 .

Como puede ver, la interfaz inalámbrica no está asociada con ningún punto de acceso en este momento. Luego ejecute el siguiente comando para abrir la interfaz inalámbrica.

sudo ip link set dev wlp4s0 up

Si encuentra el siguiente error,

RTNETLINK answers: Operation not possible due to RF-kill

necesitas desbloquear Wi-Fi con el siguiente comando.

sudo rfkill unblock wifi

A continuación, busque el nombre de su red inalámbrica escaneando las redes cercanas con el siguiente comando. Reemplazar wlp4s0 con su propio nombre de interfaz inalámbrica. ESSID es el identificador del nombre de la red.

sudo iwlist wlp4s0 scan | grep ESSID

Paso 2:Conéctese a la red Wi-Fi con WPA_Supplicant

Ahora instala wpa_supplicant en Debian 11/10 desde el repositorio de software predeterminado.

sudo apt install wpasupplicant

Necesitamos crear un archivo llamado wpa_supplicant.conf usando la wpa_passphrase utilidad. wpa_supplicant.conf es el archivo de configuración que describe todas las redes a las que el usuario desea que se conecte la computadora. Ejecute el siguiente comando para crear este archivo. Reemplace el ESSID (nombre de la red) y la frase de contraseña de Wi-Fi con los suyos propios.

wpa_passphrase your-ESSID your-wifi-passphrase | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf

Si su ESSID contiene espacios en blanco como (linuxbabe WiFi ), debe envolver el ESSID con comillas dobles ("linuxbabe WiFi" ) en el comando anterior.

La salida de wpa_passphrase el comando se canalizará a tee y luego se escribe en /etc/wpa_supplicant/wpa_supplicant.conf expediente. Ahora use el siguiente comando para conectar su tarjeta inalámbrica al punto de acceso inalámbrico.

sudo wpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant.conf -i wlp4s0

El siguiente resultado indica que su tarjeta inalámbrica se conectó con éxito a un punto de acceso.

Successfully initialized wpa_supplicant
wlp4s0: SME: Trying to authenticate with c5:4a:21:53:ac:eb (SSID='CMCC-11802' freq=2437 MHz)
wlp4s0: Trying to associate with c5:4a:21:53:ac:eb (SSID='CMCC-11802' freq=2437 MHz)
wlp4s0: Associated with c5:4a:21:53:ac:eb
wlp4s0: CTRL-EVENT-SUBNET-STATUS-UPDATE status=0
wlp4s0: WPA: Key negotiation completed with c5:4a:21:53:ac:eb [PTK=CCMP GTK=CCMP]
wlp4s0: CTRL-EVENT-CONNECTED - Connection to c5:4a:21:53:ac:eb completed [id=0 id_str=]

Tenga en cuenta que si está utilizando la edición de escritorio de Debian, debe detener Network Manager con el siguiente comando; de lo contrario, causará un problema de conexión al usar wpa_supplicant .

sudo systemctl stop NetworkManager

Y deshabilite el inicio automático de NetworkManager en el momento del arranque ejecutando el siguiente comando.

sudo systemctl disable NetworkManager-wait-online NetworkManager-dispatcher NetworkManager

De forma predeterminada, wpa_supplicant se ejecuta en primer plano. Si se completa la conexión, abra otra ventana de terminal y ejecute

iwconfig

Puede ver que la interfaz inalámbrica ahora está asociada con un punto de acceso.

Puedes presionar CTRL+C para detener el wpa_supplicant actual proceso y ejecútelo en segundo plano agregando -B bandera.

sudo wpa_supplicant -B -c /etc/wpa_supplicant.conf -i wlp4s0

Aunque estamos autenticados y conectados a una red inalámbrica, aún no tenemos una dirección IP. Para obtener una dirección IP privada del servidor DHCP, use el siguiente comando:

sudo dhclient wlp4s0

Ahora su interfaz inalámbrica tiene una dirección IP privada, que se puede mostrar con:

ip addr show wlp4s0

Ahora puede acceder a Internet. Para liberar la dirección IP privada, ejecute

sudo dhclient wlp4s0 -r

Conexión a una red inalámbrica oculta

Si su enrutador inalámbrico no transmite ESSID, debe agregar la siguiente línea en /etc/wpa_supplicant/wpa_supplicant.conf archivo.

scan_ssid=1

Como a continuación:

network={
        ssid="LinuxBabe.Com Network"
        #psk="12345qwert"
        psk=68add4c5fee7dc3d0dac810f89b805d6d147c01e281f07f475a3e0195
        scan_ssid=1
}

Paso 3:Conexión automática en el momento del arranque del sistema

Para conectarse automáticamente a la red inalámbrica en el momento del arranque, debemos editar el wpa_supplicant.service expediente. Es una buena idea copiar el archivo desde /lib/systemd/system/ directorio a /etc/systemd/system/ directorio, luego edite el contenido del archivo, porque no queremos una versión más nueva de wpa_supplicant para anular nuestras modificaciones.

sudo cp /lib/systemd/system/wpa_supplicant.service /etc/systemd/system/wpa_supplicant.service

Edite el archivo con un editor de texto de línea de comandos, como Nano.

sudo nano /etc/systemd/system/wpa_supplicant.service

Busque la siguiente línea.

ExecStart=/sbin/wpa_supplicant -u -s -O /run/wpa_supplicant

Cámbialo por lo siguiente. Aquí agregamos el archivo de configuración y el nombre de la interfaz inalámbrica al ExecStart comando.

ExecStart=/sbin/wpa_supplicant -u -s -c /etc/wpa_supplicant/wpa_supplicant.conf -i wlp4s0

Se recomienda intentar siempre reiniciar wpa_supplicant cuando se detecta una falla. Agregue lo siguiente justo debajo de ExecStart línea.

Restart=always

Guarde y cierre el archivo. (Para guardar un archivo en el editor de texto Nano, presione Ctrl+O , luego presione Enter para confirmar. Para salir, presiona Ctrl+X .) Luego recarga systemd.

sudo systemctl daemon-reload

Habilitar wpa_supplicant servicio para iniciar en el momento del arranque.

sudo systemctl enable wpa_supplicant.service

También necesitamos iniciar dhclient en el momento del arranque para obtener una dirección IP privada del servidor DHCP. Esto se puede lograr creando una unidad de servicio systemd para dhclient .

sudo nano /etc/systemd/system/dhclient.service

Ponga el siguiente texto en el archivo.

[Unit]
Description= DHCP Client
Before=network.target
After=wpa_supplicant.service

[Service]
Type=forking
ExecStart=/sbin/dhclient wlp4s0 -v
ExecStop=/sbin/dhclient wlp4s0 -r
Restart=always
 
[Install]
WantedBy=multi-user.target

Guarde y cierre el archivo. Luego habilite este servicio.

sudo systemctl enable dhclient.service

Cómo obtener una dirección IP estática

Si desea obtener una dirección IP estática, debe deshabilitar dhclient.service .

sudo systemctl disable dhclient.service

Cree un archivo de configuración de red.

sudo nano /etc/systemd/network/static.network

Agregue las siguientes líneas.

[Match]
Name=wlp4s0

[Network]
Address=192.168.1.8/24
Gateway=192.168.1.1

Guarde y cierre el archivo. Luego crea un .link archivo para la interfaz inalámbrica.

sudo nano /etc/systemd/network/10-wifi.link

Agregue las siguientes líneas en este archivo. Debe usar su propia dirección MAC y el nombre de la interfaz inalámbrica. Esto es para evitar que el sistema cambie el nombre de la interfaz inalámbrica.

[Match]
MACAddress=a8:4b:05:2b:e8:54

[Link]
NamePolicy=
Name=wlp4s0

Guarde y cierre el archivo. Luego deshabilite el networking.service y habilite systemd-networkd.service , que se encargará de la creación de redes.

sudo systemctl disable networking

sudo systemctl enable systemd-networkd

Ahora puede reiniciar systemd-networkd para ver si su configuración funciona.

sudo systemctl restart systemd-networkd

Otra forma de obtener una dirección IP estática es iniciar sesión en la interfaz de administración de su enrutador y asignar una IP estática a la dirección MAC de su tarjeta inalámbrica, si su enrutador admite esta función.

Lectura recomendada

  • Cómo usar Systemd en Linux:administrar servicios, niveles de ejecución y registros

Múltiples redes wifi

El /etc/wpa_supplicant.conf El archivo de configuración puede incluir múltiples redes Wi-Fi. wpa_supplicant seleccionará automáticamente la mejor red según el orden de los bloques de red en el archivo de configuración, el nivel de seguridad de la red y la intensidad de la señal.

Para agregar una segunda red Wi-Fi, ejecute

wpa_passphrase your-ESSID your-wifi-passphrase | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf

Tenga en cuenta que debe usar -a opción con la tee comando, que agregará, en lugar de eliminar el contenido original, la nueva red Wifi al archivo.

Seguridad wifi

No use WPA2 TKIP o WPA2 TKIP+AES como el método de cifrado en su enrutador Wi-Fi. TKIP ya no se considera seguro. Puedes usar WPA2-AES como método de cifrado.


Debian
  1. Cómo instalar el escritorio XFCE en Debian 10/11

  2. Instale el servidor Wireguard en Debian 10/11

  3. Instale el servidor OpenVPN en Debian 10/11

  4. Cómo instalar KDE plasma en Debian 10/11

  5. Instalar WordPress con Nginx en Debian 10/11

Convierta a Debian en un punto de acceso inalámbrico

Cómo instalar el último PHP 8.1 en Debian 11/10

Cómo instalar la herramienta de administración de Webmin en Debian 10/11

Conéctese a Wi-Fi desde la terminal en Ubuntu 18.04/20.04 con suplicante WPA

Cómo instalar varias versiones de PHP con Apache en Debian 11/10

Puerta de enlace SMS de Kannel en Debian 10/11