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.