Difference between revisions of "Netctl (Español)"

From ArchWiki
Jump to: navigation, search
(Actualización)
(simplification and beautification of wikilinks, fixing whitespace, capitalization and section fragments (https://github.com/lahwaacz/wiki-scripts/blob/master/link-checker.py (interactive)))
 
(29 intermediate revisions by 3 users not shown)
Line 4: Line 4:
 
[[en:Netctl]]
 
[[en:Netctl]]
 
[[fr:Netctl]]
 
[[fr:Netctl]]
 +
[[it:Netcfg]]
 
[[ja:Netctl]]
 
[[ja:Netctl]]
[[zh-CN:Netctl]]
 
 
[[ru:Netctl]]
 
[[ru:Netctl]]
{{Article summary start|Sumario}}
+
[[zh-CN:Netctl]]
{{Article summary text|Guía para configurar la conexión a internet mediante el uso de netctl y ''scripts'' de perfiles de conexiones de redes.}}
+
{{Related articles start (Español)}}
{{Article summary heading|Descripción}}
+
{{Related|Network Configuration (Español)}}
{{Article summary text|Arch Linux ofrece '''netctl''' para la [[Network Configuration (Español)|gestión de redes]]. netctl proporciona soporte técnico para las conexiones cableadas en escritorios y servidores, así como configuraciones de [[Wireless Setup (Español)|conexiones inalámbricas]] y roaming para la movilidad de los usuarios, permitiendo una fácil gestión de los perfiles de red. [[NetworkManager (Español)|NetworkManager]] y [[Wicd (Español)|Wicd]] son alternativas populares ofrecidas por terceros. }}
+
{{Related|Wireless Setup (Español)}}
{{Article summary heading|Recursos}}
+
{{Related|NetworkManager (Español)}}
{{Article summary wiki|Bridge with netctl}}
+
{{Related|Wicd (Español)}}
{{Article summary end}}
+
{{Related|Bridge with netctl}}
Netctl es la apuesta de Arch Linux para sustituir a [[Netcfg_(Español)|netcfg]]. Netctl supone el futuro (y el presente) de la gestión de conexiones de red a través de la consola en Arch Linux.
+
{{Related articles end}}
 +
''netctl'' es una herramienta basada en CLI (''«intérprete de línea de órdenes»'', esto es, a través de consola)) utilizada para configurar y gestionar las conexiones de red mediante perfiles. Es la apuesta de Arch Linux para sustituir a ''netcfg''. ''netctl'' supone el futuro (y el presente) de la gestión de conexiones de red.
  
 
==Instalación==
 
==Instalación==
El paquete {{Pkg|netctl}} está disponible en los [[Official Repositories (Español)|repositorios oficiales]]. Netctl sustituirá a {{pkg|netcfg}} una vez se instale en el equipo.  
+
El paquete {{Pkg|netctl}} está disponible en los [[Official repositories (Español)|repositorios oficiales]]. netctl sustituirá a {{AUR|netcfg}} una vez se instale en el equipo.
 +
 
 +
{{Pkg|netctl}} y {{AUR|netcfg}} son paquetes incompatibles y conflictivos. Si los perfiles de las conexiones de red no están correctamente configurados, lo más probable es que el usuario se quede sin conexión a internet después de instalar '''netctl'''.
  
{{Pkg|netctl}} y {{Pkg|netcfg}} son paquetes incompatibles y conflictivos. Si los perfiles de las conexiones de red no están correctamente configurados, lo más probable es que el usuario se quede sin conexión a internet después de instalar '''netctl'''.
+
{{Nota|Puede ser una buena idea usar  {{ic|1=systemctl --type=service}} para asegurarse de que ningún otro servicio de configuración de red está en ejecución. La presencia de varios servicios de gestión de redes entrarán en conflicto.}}
  
 
==Bibliografía altamente recomendada==
 
==Bibliografía altamente recomendada==
Line 29: Line 32:
 
==Configuración==
 
==Configuración==
  
El uso de {{ic|netctl}} va dirigido a controlar y observar a fondo el estado de los servicios de systemd que gestionan los perfiles de las conexiones de red. El paquete incluye varios ficheros de configuración ejemplo para ayudar al usuario a la hora de configurar sus conexiones de red. Dichos ejmplos de ficheros de configuración de perfiles se encuentran en el directorio {{ic|/etc/netctl/examples/}}. Entre las configuraciones más típicas se pueden encontrar las siguientes:
+
El uso de {{ic|netctl}} va dirigido a controlar y observar a fondo el estado de los servicios de systemd que gestionan los perfiles de las conexiones de red. El paquete incluye varios ficheros de configuración ejemplo para ayudar al usuario a la hora de configurar sus conexiones de red. Dichos ejemplos de ficheros de configuración de perfiles se encuentran en el directorio {{ic|/etc/netctl/examples/}}. Entre las configuraciones más típicas se pueden encontrar las siguientes:
 
*ethernet-dhcp
 
*ethernet-dhcp
 
*ethernet-static
 
*ethernet-static
 
*wireless-wpa
 
*wireless-wpa
 
*wireless-wpa-static
 
*wireless-wpa-static
 
Para las configuraciones de las redes inalámbricas, utilice '''wifi-menu -o''' que creará un archivo de configuración en /etc/netctl.
 
  
 
Para usar un fichero ejemplo de un perfil de una conexión de red hay que copiar el fichero en cuestión de {{ic|/etc/netctl/examples/<nombre del perfil de conexión de red>}} al directorio {{ic|/etc/netctl/<nombre del perfil de conexión de red>}} y editarlo para configurarlo de acuerdo con las necesidades específicas de cada usuario:
 
Para usar un fichero ejemplo de un perfil de una conexión de red hay que copiar el fichero en cuestión de {{ic|/etc/netctl/examples/<nombre del perfil de conexión de red>}} al directorio {{ic|/etc/netctl/<nombre del perfil de conexión de red>}} y editarlo para configurarlo de acuerdo con las necesidades específicas de cada usuario:
 
  # cp /etc/netctl/examples/wireless-wpa /etc/netctl/mi-wireless-wpa
 
  # cp /etc/netctl/examples/wireless-wpa /etc/netctl/mi-wireless-wpa
 +
 +
{{Sugerencia|Para las configuraciones de las redes inalámbricas, utilice {{ic|wifi-menu -o}} que creará un fichero de configuración en {{ic|/etc/netctl/}}.}}
 +
{{Advertencia|{{ic|wifi-menu -o}} generará el fichero de perfil en {{ic|/etc/netctl/}} con '-' en el nombre. Esto dará problemas con la configuración automática. Se recomienda cambiar el nombre del fichero.}}
  
 
Una vez que se ha creado el perfil de configuración para una conexión de red concreta hay que intentar establecer la conexión usando dicho perfil. Para ello:
 
Una vez que se ha creado el perfil de configuración para una conexión de red concreta hay que intentar establecer la conexión usando dicho perfil. Para ello:
 
  # netctl start <nombre del perfil de la conexión de red>
 
  # netctl start <nombre del perfil de la conexión de red>
  
{{Nota|El «perfil» es el nombre del archivo, sin incluir la ruta completa. Si se facilita la ruta completa, ello provocará que netctl devuelva un código de error.}}
+
{{Nota|El «perfil» es el nombre del fichero, sin incluir la ruta completa. Si se facilita la ruta completa, ello provocará que netctl devuelva un código de error.}}
  
En caso de obtener un error al ejecutar el comando anterior, es posible acceder a una explicación detallada de lo que ha provocado el fallo. Para ello se pueden usar los comandos {{ic|journalctl -xn}} y {{ic|netctl status <nombre del perfil de la conexión de red>}}. Una vez que se ha encontrado el fallo tan sólo hay que hacer las correcciones pertinentes en el perfil de la conexión de red y volver a intentarlo.
+
En caso de obtener un error al ejecutar la orden anterior, es posible acceder a una explicación detallada de lo que ha provocado el fallo. Para ello se pueden usar las órdenes {{ic|journalctl -xn}} y {{ic|netctl status <nombre del perfil de la conexión de red>}}. Una vez que se ha encontrado el fallo tan solo hay que hacer las correcciones pertinentes en el perfil de la conexión de red y volver a intentarlo.
  
===Automatizar las conexiones===
+
=== Automatizar las conexiones ===
====Un perfil====
+
Si sólo se está usando un perfil de conexión de red, se puede {{ic|habilitar}} —en inglés, enabled— ejecutando el comando:
+
  
# netctl enable <nombre del perfil de la conexión de red>
+
Si solo se está usando un perfil de conexión de red (por interfaz) o se desea cambiar de perfil manualmente, el [[#Método básico|método básico]] es el acertado. Entre los ejemplos más comunes se encuentran los servidores, estaciones de trabajo, routers, etc.
  
una vez que ha iniciado de forma satisfactoria con {{ic|netctl start}}. Esto creará un servicio de [[systemd (Español)|systemd]] que se iniciará de forma automática al arrancar el ordenador.
+
Si se necesita cambiar entre varios perfiles con frecuencia, utilice el método del [[#Cambio automático de perfiles|cambio automático de perfiles]]. Los ejemplos más comunes son los ordenadores portátiles.
  
{{Nota|La conexión a un servidor dhcp sólo se establecerá si la interfaz está conectada y en el momento del arranque (o cuando se inicia el servicio). A fin de tener establecida una conexión automática por cable, proceda según se indica en [[#Varios perfiles]].}}
+
==== Método básico ====
  
====Varios perfiles====
+
Con este método, se puede comenzar un solo perfil con dirección estática por interfaz. Primero compruebe manualmente que el perfil se puede iniciar con éxito, y después actívelo usando la orden:
Mientras que con {{ic|netcfg}} se usaba {{ic|net-auto-wireless.service}} y {{ic|net-auto-wired.service}} para la iniciación automática de los perfiles de conexión inalámbrica o wireless y la conexión con cable ethernet, {{ic|netctl}} usa {{ic|netctl-auto@<nombre de la interfaz de la conexión de red>.service}} para los perfiles de red inalámbrica o ''wireless'' y {{ic|netctl-ifplugd@<nombre de la interfaz de la conexión de red>.service}} para los perfiles de conexiones ethernet. A fin de que el archivo {{ic|netctl-ifplugd@''nombre de la interfaz de la conexión de red''.service}} funcione para las interfaces de red cableada, se requiere tener instalado el paquete {{pkg|ifplugd}}.  Configure el archivo {{ic|/etc/ifplugd/ifplugd.conf}} en consecuencia. La selección automática de un perfil compatible con WPA por netctl-auto no es posible con la opción {{ic|1=Security=wpa-config}}, hay que usar, en su lugar, {{ic|1=Security=wpa-configsection}}.
+
  
Para establecer un perfil preferido para la conexión por cable para conectarse automáticamente, especifique {{ic|1=AutoWired=yes}} en dicho perfil. Por defecto, en caso de fallo del mismo, {{Pkg|ifplugd}} pasará a otros perfiles para establecer la conexión cableada a través de DHCP, y luego a los estáticos. Si quiere evitar este comportamiento, establezca {{ic|1=ForceConnect=yes}}.
+
# netctl enable ''nombre del perfil de la conexión de red''
  
Cuando se ha comprobado que los perfiles de las conexiones de red funcionan correctamente, sólo queda activar dichos servicios mediante:
+
Esto creará y activará un servicio de [[systemd (Español)|systemd]], servicio que se iniciará cuando arranque el equipo. Los cambios en el fichero de este perfil no se transmitirán automáticamente a dicho fichero de servicio. Si se realizan cambios, es necesario volver a activar el perfil con la orden:
  
  # systemctl enable netctl-auto@<nombre de la interfaz de la conexión de red>.service
+
  # netctl reenable ''nombre del perfil de la conexión de red''
# systemctl nectl-ifplugd@<nombre de la interfaz de la conexión de red>.service
+
  
{{Nota|Si cualquiera de los perfiles contiene algún error, como puede ser una variable {{ic|Key&#61;}} vacía, la unidad no se cargará durante el arranque.}}
+
{{Nota|La conexión solo se establecerá si el perfil se puede iniciar con éxito en el arranque (o cuando se inicia el servicio). Esto significa concretamente, que, en el caso de una conexión por cable, el cable debe estar enchufado, y, en el caso de una conexión inalámbrica, la red debe estar dentro del rango. }}
  
Si ya se había activado un perfil de conexión de red usando {{ic|netctl}}, ejecute:
+
{{Sugerencia|Para activar el perfil de la IP estática en la interfaz cableada, sin importar si el cable de red está o no conectado, pase la opción {{ic|1=SkipNoCarrier=yes}} a su perfil.}}
  
# netctl disable <nombre del perfil de la conexión de red>
+
==== Cambio automático de perfiles ====
  
para evitar que el perfil se inicie dos veces al iniciar el equipo y de problemas con wpa_supplicant.
+
''netctl'' ofrece dos servicos especiales de [[systemd (Español)|systemd]] para la conmutación automática de perfiles:
  
{{Nota|
+
* Para las interfaces cableadas: {{ic|netctl-ifplugd@''interfaz''.service}}. El uso de estos perfiles de netctl se intercambian cuando se enchufa/desenchufa el cable de red.
* Si por algún casual alguna vez hay que modificar un perfil de conexión de red que está activado hay que ejecutar {{ic|netctl reenable <nombre del perfil de la conexión de red>}} para aplicar los cambios que se han realizado.
+
* Para las interfaces inalámbricas: {{ic|netctl-auto@''interfaz''.service}}. El uso de estos perfiles de netctl se intercambian al pasar del rango de una red dentro del alcance de rango de otra red.
* La ''interfaz'' es una simplificación del hardware, por ejemplo, netctl-auto@wlan0.service o netctl-auto@enp2s0.service.}}
+
 
 +
{{Nota|''netcfg'' utiliza {{ic|net-auto-wireless.service}} y {{ic|net-auto-wired.service}} para estos fines.}}
 +
 
 +
Primero [[pacman (Español)|instale]] los paquetes necesarios:
 +
* El paquete {{Pkg|wpa_actiond}} es necesario para usar {{ic|netctl-auto@''interfaz''.service}}.
 +
* El paquete {{Pkg|ifplugd}} es necesario para usar {{ic|netctl-ifplugd@''interfaz''.service}}.
 +
 
 +
Ahora configure todos los perfiles que {{ic|netctl-auto@''interfaz''.service}} o {{ic|netctl-ifplugd@''interfaz''.service}} desea que inicien.
 +
 
 +
Si algún perfil inalámbrico '''no''' se inicia automáticamente por  {{ic|netctl-auto@''interfaz''.service}}, tiene que agregar explícitamente la variable {{ic|1=ExcludeAuto=yes}} para ese perfil. Puede utilizar la variable {{ic|1=Priority=}} para establecer la prioridad de algún perfil cuando existen varios perfiles disponibles. {{ic|netctl-ifplugd@''interfaz''.service}} preferirá perfiles que utilicen [[Wikipedia:DHCP|DHCP]]. Para preferir un perfil con una dirección IP estática, puede utilizar la variable {{ic|1=AutoWired=yes}}. Consulte {{ic|netctl.profile(5)}} para obtener más detalles.
 +
 
 +
{{Advertencia|La selección automática de un perfil compatible con WPA por ''netctl-auto'' no es posible con la opción {{ic|1=Security=wpa-config}}, sino que hay que usar, en su lugar, la opción {{ic|1=Security=wpa-configsection}}.}}
 +
 
 +
Una vez que ha establecido y comprobrado que sus perfiles funcionan correctamente, solo tiene que activar estos servicios utilizando  ''systemctl'':
 +
 
 +
# systemctl enable netctl-auto@''interfaz''.service  
 +
# systemctl enable netctl-ifplugd@''interfaz''.service
 +
 
 +
{{Advertencia|
 +
* Si alguno de los perfiles contienen errores, como por ejemplo, una variable {{ic|1=Key=}} vacía, la unidad no se cargará durante el arranque.
 +
* Este método entra en conflicto con el [[#Método básico|Método básico]]. Si ha activado previamente un perfil a través de ''netctl'', ejecute {{ic|netctl disable ''profile''}} para evitar que el perfil se cargue dos veces en el arranque.}}
 +
 
 +
Desde netctl 1.3, es posible controlar manualmente una interfaz gestionada de otra manera por netctl-auto sin tener que detener el servicio netctl-auto. Esto se hace usando la orden netctl-auto. Para obtener una lista de acciones disponibles basta con ejecutar:
 +
  # netctl-auto --help
  
 
===Migración de netcfg a netctl===
 
===Migración de netcfg a netctl===
{{Advertencia|{{ic|netctl}} provoca conflictos con {{ic|netcfg}} por lo que hay que deshabilitar el servicio {{ic|netcfg@<nombre del perfil de la conexión de red>}} ya existente antes de proceder con la instalación de {{ic|netctl}}.}}
 
  
{{ic|netctl}} se vale del directorio {{ic|/etc/netctl}} para almacenar los distintos perfiles de las conexiones de red '''en lugar de''' {{ic|/etc/network.d}}, (el cual era el directorio en el cual {{ic|netcfg}} almacenaba los perfiles de las conexiones de red).
+
''netctl'' se vale del directorio {{ic|/etc/netctl}} para almacenar los distintos perfiles de las conexiones de red '''en lugar de''' {{ic|/etc/network.d}}, (el cual era el directorio en el cual ''netcfg'' almacenaba los perfiles de las conexiones de red).
  
Para migrar de netcfg a netctl es necesario, al menos, lo siguiente:
+
Para migrar de netcfg a ''netcfg'' es necesario, al menos, lo siguiente:
*Mover los perfiles de las conexiones de red al nuevo directorio.
+
* Desactivar el servicio netcfg: {{ic|systemctl disable netcfg.service}}.
*Renombrar las variables de dichos ficheros perfil de conexiones de red de acuerdo con las instrucciones en netctl.profile(5). La gran mayoría tan sólo han pasado de tener todo en letras mayúsculas a tener sólo la primera letra. Un ejemplo: CONNECTION= pasa a ser Connection=.
+
* Desinstalar ''netcfg'' e instalar ''netctl''.
* Para la configuración de la IP estática asegúrese de que las variables Address= tienen una máscara de red después de la IP (por ejemplo, Address=('192.168.1.23'''/24'''' '192.168.1.87'''/24'''') en el perfil de ejemplo).  
+
* Mover los perfiles de las conexiones de red al nuevo directorio.
* Si configura un perfil para una red inalámbrica siguiendo el ejemplo de {{ic|wireless-wpa-configsection}}, tenga en cuenta que ello sobreescribe las opciones de {{ic|wpa_supplicant}} definidas antes de los corchetes. Para una conexión a una red inalámbrica oculta, agregue {{ic|scan_ssid<nowiki>=1</nowiki>}} a las opciones en {{ic|wireless-wpa-configsection}}; {{ic|Hidden<nowiki>=</nowiki>yes}} si no funciona allí.  
+
* Renombrar las variables de dichos ficheros perfil de conexiones de red de acuerdo con las instrucciones en {{ic|netctl.profile(5)}}. La gran mayoría tan solo han pasado de tener todo en letras mayúsculas a tener solo la primera letra. Un ejemplo: {{ic|CONNECTION}} pasa a ser {{ic|Connection}}.
*Quitar las comillas de las variables de las distintas interfaces y otras variables que no necesitan de forma estricta las comillas. Esto no es más que una cuestión de estilo.
+
* Para la configuración de la IP estática asegúrese de que las variables {{ic|Address}} tienen una máscara de red después de la IP (por ejemplo, {{ic|1=Address=('192.168.1.23'''/24'''' '192.168.1.87'''/24'''')}} en el perfil de ejemplo).  
*Ejecutar {{ic|netctl enable <nombre del perfil de la conexión de red>}} para cada uno de los perfiles de conexión de red en la antigua línea NETWORKS. ''«last»'' ya no tiene la función que tenía. Para más infomación leer '''netctl.special(7)'''.
+
* Si configura un perfil para una red inalámbrica siguiendo el ejemplo de {{ic|wireless-wpa-configsection}}, tenga en cuenta que ello sobrescribe las opciones de {{ic|wpa_supplicant}} definidas antes de los corchetes. Para una conexión a una red inalámbrica oculta, agregue {{ic|scan_ssid<nowiki>=1</nowiki>}} a las opciones en {{ic|wireless-wpa-configsection}}; {{ic|Hidden<nowiki>=</nowiki>yes}} si no funciona allí.  
*Usar {{ic|netctl list}} / {{ic|netctl start <nombre del perfil de la conexión de red>}} en lugar de '''netcfg-menu'''. No obstante, '''wifi-menu''' seguirá disponible.
+
* Quitar las comillas de las variables de las distintas interfaces y otras variables que no necesitan de forma estricta las comillas. Esto no es más que una cuestión de estilo.
* Puede ser una buena idea usar {{ic|1=systemctl --type=service}} para asegurarse que ningún otro servicio que pueda configurar la red está en ejecución.  La existencia de múltiples servicios de gestión de redes entrarían en conflicto.
+
* Ejecutar {{ic|netctl enable ''nombre del perfil de la conexión de red''}} para cada uno de los perfiles de conexión de red en la antigua línea {{ic|NETWORKS}}. ''«last»'' ya no tiene la función que tenía. Para más infomación leer {{ic|netctl.special(7)}}.
* A diferencia de {{ic|netcfg}}, {{ic|netctl}}, por defecto, no levanta un [[wikipedia:Network interface controller|NIC]] cuando este no está conectado a otro NIC potencialmente abierto. Para resolver este problema, añada {{ic|1=SkipNoCarrier=yes}} al final del archivo de perfil {{ic|/etc/netctl/''profile-file''}}.
+
* Usar {{ic|netctl list}} y/o {{ic|netctl start <nombre del perfil de la conexión de red>}}, en lugar de ''netcfg-menu''. No obstante, ''wifi-menu'' seguirá disponible.
 +
* A diferencia de {{ic|netcfg}}, {{ic|netctl}}, por defecto, no levanta un [[wikipedia:Network interface controller|NIC]] cuando este no está conectado a otro NIC potencialmente abierto. Para resolver este problema, añada {{ic|1=SkipNoCarrier=yes}} al final del fichero de perfil {{ic|/etc/netctl/''fichero-de-perfil''}}.
  
 
===Contraseñas encriptadas (PSK de 256-bits)===
 
===Contraseñas encriptadas (PSK de 256-bits)===
  
Los usuarios que '''no''' quieran tener sus contraseñas guardadas en '''texto plano''' tienen la posibilidad de generar una clave precompartida o PSK —del inglés, ''Pre-Shared Key''— con encriptación de 256-bits, que se calcula a partir de la frase de contraseña («passphrase») y el nombre de la red («SSID») utilizando algoritmos estándar.
+
{{Nota|Aunque «cifrada», la clave que se pone en la configuración del perfil es suficiente para conectarse a una red WPA-PSK, lo que significa que este procedimiento solo sirve para ocultar la versión legible de la frase de contraseña o passphrase, pero no evita que cualquier usuario con permisos de lectura acceda a este fichero para conectarse a la red. Debemos preguntarnos si hay alguna utilidad en este procedimiento, ya que usar la misma contraseña para todo suele ser una medida de seguridad muy pobre.}}
  
* Método 1: Utilice {{ic|wifi-menu -o}} para crear un archivo de configuración en la carpeta {{ic|/etc/netctl}}.
+
Los usuarios que '''no''' quieran tener sus contraseñas guardadas en ''texto plano'' tienen la posibilidad de generar una clave precompartida o PSK —del inglés, ''Pre-Shared Key''— con encriptación de 256-bits, que se calcula a partir de la frase de contraseña («passphrase») y el nombre de la red («SSID») utilizando algoritmos estándar.
* Método 2: Configuración manual como sigue. Si la contraseña no funciona, intente eliminar {{ic|\"}} en Key= (véase la nota de abajo).
+
 
 +
* Método 1: Utilice {{ic|wifi-menu -o}} para crear un fichero de configuración en la carpeta {{ic|/etc/netctl}}.
 +
* Método 2: Configuración manual como sigue.
  
 
Para ambos métodos es recomendable el uso de la orden {{ic|chmod 600 /etc/netctl/<config_file>}}, a fin de evitar el acceso a la contraseña por parte de otros usuarios.
 
Para ambos métodos es recomendable el uso de la orden {{ic|chmod 600 /etc/netctl/<config_file>}}, a fin de evitar el acceso a la contraseña por parte de otros usuarios.
  
A continuación, se generará la PSK con encriptación de 256-bits usando [[WPA_supplicant#Configuration_file|wpa_passphrase]]:
+
A continuación, se generará la PSK con encriptación de 256-bits usando [[WPA_supplicant#Configuration|wpa_passphrase]]:
{{hc|Usage: wpa_passphrase [nombre de la red a la que queremos conectar o ssid] [clave precompartida o passphrase]|
+
{{hc|$ wpa_passphrase ''your_essid'' ''passphrase''|2=
2=$ wpa_passphrase archlinux freenode|
+
 
   network={
 
   network={
   ssid="archlinux"
+
   ssid="''your_essid''"
   #psk="freenode"
+
   #psk="''passphrase''"
 
   psk=64cf3ced850ecef39197bb7b7b301fc39437a6aa6c6a599d0534b16af578e04a
 
   psk=64cf3ced850ecef39197bb7b7b301fc39437a6aa6c6a599d0534b16af578e04a
 
}
 
}
{{Nota|Esta información será utilizada en su perfil para que no cierre el terminal.}}
 
 
}}
 
}}
 +
 +
{{Nota|Esta información será utilizada en su perfil para que no cierre el terminal.}}
  
 
En otra consola, copiar el fichero ejemplo de perfil de conexión de red {{ic|wireless-wpa}} de {{ic|/etc/netctl/examples}} al directorio {{ic|/etc/netctl}}.
 
En otra consola, copiar el fichero ejemplo de perfil de conexión de red {{ic|wireless-wpa}} de {{ic|/etc/netctl/examples}} al directorio {{ic|/etc/netctl}}.
Line 119: Line 144:
 
  # cp /etc/netctl/examples/wireless-wpa /etc/netctl/wireless-wpa
 
  # cp /etc/netctl/examples/wireless-wpa /etc/netctl/wireless-wpa
  
Será necesario editar el fichero {{ic|/etc/netctl/wireless-wpa}} con el editor de texto que prefiera el usuario y añadir la clave precompartida encriptada o ''Encrypted Pre-shared Key'' que se ha generado previamente con wpa_passphrase a la variable {{ic|'''Key'''}} del perfil de conexión de red.
+
Será necesario editar el fichero {{ic|/etc/netctl/wireless-wpa}} con el editor de texto que prefiera el usuario y añadir la clave precompartida encriptada o ''Encrypted Pre-shared Key'' que se ha generado previamente con wpa_passphrase a la variable {{ic|Key}} del perfil de conexión de red.
  
 
Una vez terminada la edición del perfil de conexión de red  {{ic|wireless-wpa}} que contiene la PSK con encriptación de 256-bits, debería quedar algo así:
 
Una vez terminada la edición del perfil de conexión de red  {{ic|wireless-wpa}} que contiene la PSK con encriptación de 256-bits, debería quedar algo así:
 +
 
{{hc|/etc/netctl/wireless-wpa|2=
 
{{hc|/etc/netctl/wireless-wpa|2=
Description='Una conexión inalámbrica WPA encriptada usando una PSK con encriptación de 256-bits'
+
Description='A simple WPA encrypted wireless connection using 256-bit PSK'
 
Interface=wlp2s2
 
Interface=wlp2s2
 
Connection=wireless
 
Connection=wireless
 
Security=wpa
 
Security=wpa
 
IP=dhcp
 
IP=dhcp
ESSID=archlinux
+
ESSID=''your_essid''
 
Key=\"64cf3ced850ecef39197bb7b7b301fc39437a6aa6c6a599d0534b16af578e04a
 
Key=\"64cf3ced850ecef39197bb7b7b301fc39437a6aa6c6a599d0534b16af578e04a
 
}}
 
}}
 +
 
{{Nota|
 
{{Nota|
*Hay que asegurarse de usar las directrices especiales sin entrecomillar o '''special non-quoted rules''' para la variable {{ic|1=Key=}} que se encuentran al final de la página man [https://github.com/joukewitteveen/netctl/blob/master/docs/netctl.profile.5.txt netctl.profile(5)].
+
*Hay que asegurarse de usar las directrices especiales sin entrecomillar o '''special quoted rules''' para la variable {{ic|1=Key=}} como se explica al final de la página man [https://github.com/joukewitteveen/netctl/blob/master/docs/netctl.profile.5.txt netctl.profile(5)].
* La clave que se pone en la configuración de perfil es suficiente para conectarse a una red WPA-PSK, lo que significa que este procedimiento solo sirve para ocultar la contraseña o passphrase a la lectura humana, pero no evita que cualquier usuario con permisos de lectura a este archivo pueda conectarse a la red. Debemos preguntarnos si hay alguna utilidad en este procedimiento, ya que usar la misma contraseña para todo suele ser una medida de seguridad muy pobre.}}
+
* Si la contraseña no funciona, pruebe eliminar el signo {{ic|\"}} en la variable {{ic|Key}}.}}
 
+
==Soporte técnico==
+
Hilo del foro '''en inglés''' en el que se anuncia la incorporación oficial de netctl a Arch Linux: https://bbs.archlinux.org/viewtopic.php?id=157670
+
  
 
==Consejos y trucos útiles==
 
==Consejos y trucos útiles==
 
=== Sustituir 'netcfg current' ===
 
=== Sustituir 'netcfg current' ===
A fecha de abril del año 2013, todavía no existe una alternativa similar a 'netcfg current' para netctl. Si se estaba usando por algún motivo, como puede ser una barra de estado de un gestor de ventanas ''tiling'', ahora se puede obtener la misma información con:
+
Si ha utilizado {{ic|netcfg current}} en el pasado, puede utilizar {{ic|# netctl-auto current}} como un reemplazo para las conexiones iniciadas con {{ic|netctl-auto}} (funcional desde netctl-1.3).
# netctl list | sed -n 's/\* //p'
+
 
o, cuando se utilice {{ic|netctl-auto}} para conectarse:
+
Para analizar manualmente las conexiones, también se puede utilizar:
  # wpa_cli -i ''interface'' status | sed -n 's/^id_str=//p'
+
 
 +
  # netctl list | awk '/*/ {print $2}'
  
 
=== Eduroam ===
 
=== Eduroam ===
  
Para conectarse a una red inalámbrica en la universidad, es muy probable que necesita un perfil con este aspecto (probado en  Freiburg, Germany):
+
Algunas universidades utilizan un sistema llamado «Eduroam» para la gestión de sus redes inalámbricas. Para este sistema, un perfil de WPA config-section con el siguiente formato suele ser útil:
 +
 
 
{{hc|/etc/netctl/wlan0-eduroam|<nowiki>
 
{{hc|/etc/netctl/wlan0-eduroam|<nowiki>
 
Description='Eduroam-profile for <user>'
 
Description='Eduroam-profile for <user>'
Line 165: Line 191:
 
)</nowiki>
 
)</nowiki>
 
}}
 
}}
 +
 +
{{Sugerencia|Para evitar el almacenamiento de la contraseña en texto plano, puede generar un algoritmo para la contraseña con {{ic|$ echo -n <password> &#124; iconv -t utf16le &#124; openssl md4}}. Después utilícelo como {{ic|'password&#61;hash:<hash>'}}.}}
 +
 +
Para perfiles TTLS y universidades certificadas esta configuración funciona:
 +
 +
{{hc|/etc/netctl/wlan0-eduroam|<nowiki>
 +
Description='Eduroam university'
 +
Interface=wlan0
 +
Connection=wireless
 +
Security=wpa-configsection
 +
IP=dhcp
 +
ESSID=eduroam
 +
WPAConfigSection=(
 +
    'ssid="eduroam"'
 +
    'key_mgmt=WPA-EAP'
 +
    'eap=TTLS'
 +
    'group=TKIP'
 +
    'anonymous_identity="anonymous@domain_university"'
 +
    'identity="XXX@domain_university"'
 +
    'password="XXX"'
 +
    'ca_cert="Path/to/the/certificate"'
 +
    'phase2="auth=PAP"'
 +
)</nowiki>
 +
}}
 +
 +
===  Bonding ===
 +
 +
De [https://www.kernel.org/doc/Documentation/networking/bonding.txt kernel documentation]:
 +
 +
:''El controlador bonding de Linux proporciona un método para agregar múltiples interfaces de red en una sola interfaz lógica «vinculada». El comportamiento de la interfaz ''bonded'' depende de la modalidad. En términos generales, las modalidades proporcionan tanto una espera activa como servicios de equilibrio de carga. Además, permite llevar a cabo un monitoreo integral del enlace'.''
 +
 +
==== Equilibrar la carga ====
 +
 +
Para utilizar bonding con netctl, se necesita un paquete adicional disponible en los repositorios oficiales: {{Pkg|ifenslave}}.
 +
 +
Copie el fichero {{ic|/etc/netctl/examples/bonding}} a la carpeta {{ic|/etc/netctl/bonding}}, y modifíquelo, por ejemplo, como se indica a continuación:
 +
 +
{{hc|/etc/netctl/bonding|2=
 +
Description='Bond Interface'
 +
Interface='bond0'
 +
Connection=bond
 +
BindsToInterfaces=('eth0' 'eth1')
 +
IP=dhcp
 +
IP6=stateless}}
 +
 +
Ahora se puede desactivar y detener su configuración antigua y establecer ''bonding'' para que se inicie automáticamente. Para cambiar al nuevo perfil, por ejemplo bonding, ejecute:
 +
 +
# netctl switch-to bonding
 +
 +
{{Nota|Este sistema utiliza la política de round-robin, que es el valor predeterminado para el controlador {{ic|bonding}}. Véase [https://www.kernel.org/doc/Documentation/networking/bonding.txt official documentation] para obtener más detalles.}}
 +
 +
{{Sugerencia|Para comprobar el estado y la modalidad de bonding, ejecute: {{bc|$ cat /proc/net/bonding/bond0}}}}
 +
 +
==== Pasar a la conexión inalámbrica cuando la conexión cableada falla ====
 +
 +
Este ejemplo describe cómo usar ''bonding'' como respaldo de la red inalámbrica para cuando la red cableada se cae, sirve también para detectar la presencia de cualquier conexión de red e iniciar dhcpcd cuando una o ambas redes se conecten.
 +
 +
Necesitaremos los paquetes <s>{{Pkg|ifplugd}}</s>, {{Pkg|ifenslave}}, y {{Pkg|wpa_supplicant}} disponibles en los repositorios oficiales.
 +
 +
Primero, configuraremos el controlador {{ic|bonding}} para usar {{ic|active-backup}}:
 +
 +
{{hc|/etc/modprobe.d/bonding.conf|2=
 +
options bonding mode=active-backup
 +
options bonding miimon=100
 +
options bonding primary=eth0
 +
options bonding max_bonds=0
 +
}}
 +
 +
La opción {{ic|max_bonds}} evita obtener el error {{ic|Interface bond0 already exists}}. Se puede añadir el ajuste {{ic|fail_over_mac<nowiki>=</nowiki>active}} si se usa el filtrado MAC.
 +
 +
Luego, configuraremos un perfil de netctl para subordinar las dos interfaces del hardware:
 +
 +
{{hc|/etc/netctl/failover|2=
 +
Description='A wired connection with failover to wireless'
 +
Interface='bond0'
 +
Connection=bond
 +
BindsToInterfaces=('eth0' 'wlan0')
 +
IP='no'
 +
SkipNoCarrier='no'
 +
}}
 +
 +
Activamos el perfil en el arranque:
 +
 +
# netctl enable failover
 +
 +
Configuraremos ''wpa_supplicant'' para asociarla con redes conocidas. Esto se puede hacer con un perfil netcfg (recuerde usar {{ic|1=IP='no'}}), con un servicio ''wpa_supplicant'' funcionando constantemente, o bajo demanda con ''wpa_cli''. Las maneras para hacer esto están tratadas en la página de [[WPA_supplicant (Español)|wpa_supplicant]]. Para mantener ''wpa_supplicant'' ejecutándose constántemente, cree el fichero de configuración de ''wpa_supplicant'' {{ic|/etc/wpa_supplicant/wpa_supplicant-wlan0.conf}} y después ejecute:
 +
 +
# systemctl enable wpa_supplicant@wlan0
 +
 +
Ajuste {{ic|1=IP='no'}} en el perfil de la conexión de red cableada.  La dirección IP debe asignarse únicamente a la interfaz ''bond0''.
 +
 +
A partir de ahora, si tenemos una conexión por cable e inalámbrica conectadas a la misma red, es probable que podamos desconectar y reconectar la conexión por cable sin perder la conectividad. ¡En la mayoría de los casos, incluso la transmisión de música se realizará sin saltos!
 +
 +
=== Quitar direcciones antiguas de dhcpcd ===
 +
 +
El fichero {{ic|/var/lib/dhcpcd/dhcpcd-[interface].lease}}, donde {{ic|[interface]}} es el nombre de la interfaz con la que se tiene el vínculo, contiene la dirección DHCP vigente, que es la respuesta enviada por el servidor DHCP. Se utiliza para determinar la última concesión del servidor, y su atributo {{ic|mtime}} se utiliza para determinar cuándo se expidió. Esta última información se utiliza para solicitar la misma dirección IP anterior, si está disponible. Si no se quiere eso, simplemente borre este fichero. Por ejemplo :
 +
 +
# rm /var/lib/dhcpcd/dhcpcd-wlan0.lease
 +
 +
Esto elimina la última dirección dhcpcd concedida a la interfaz {{ic|wlan0}} interface.
 +
 +
=== Problemas de espera con DHCP ===
 +
 +
Si se están teniendo problemas de tiempo de espera al solicitar concesiones a través de DHCP, se puede establecer un valor de tiempo de espera mayor que el que netctl establece de forma predeterminada, que es de 30 segundos. Cree un fichero en {{ic|/etc/netctl/hooks/}} o {{ic|/etc/netctl/interfaces/}}, y añada {{ic|1=TimeoutDHCP=40}} para disponer de un tiempo de espera de 40 segundos, y hágalo ejecutable.
 +
 +
== Véase también ==
 +
 +
* [https://bbs.archlinux.org/viewtopic.php?id=157670 Hilo sobre información oficial]
 +
* Hay un applet de cinnamon disponible en AUR: {{AUR|cinnamon-applet-netctl-systray-menu}}{{Broken package link|{{aur-mirror|cinnamon-applet-netctl-systray-menu}}}}

Latest revision as of 20:12, 24 April 2016

netctl es una herramienta basada en CLI («intérprete de línea de órdenes», esto es, a través de consola)) utilizada para configurar y gestionar las conexiones de red mediante perfiles. Es la apuesta de Arch Linux para sustituir a netcfg. netctl supone el futuro (y el presente) de la gestión de conexiones de red.

Instalación

El paquete netctl está disponible en los repositorios oficiales. netctl sustituirá a netcfgAUR una vez se instale en el equipo.

netctl y netcfgAUR son paquetes incompatibles y conflictivos. Si los perfiles de las conexiones de red no están correctamente configurados, lo más probable es que el usuario se quede sin conexión a internet después de instalar netctl.

Nota: Puede ser una buena idea usar systemctl --type=service para asegurarse de que ningún otro servicio de configuración de red está en ejecución. La presencia de varios servicios de gestión de redes entrarán en conflicto.

Bibliografía altamente recomendada

Se ha puesto mucho empeño e interés en redactar unas páginas man muy completas. Se recomienda encarecidamente a los usuarios que estén interesados en usar netctl que lean las siguientes páginas man antes de lanzarse a probarlo:

Configuración

El uso de netctl va dirigido a controlar y observar a fondo el estado de los servicios de systemd que gestionan los perfiles de las conexiones de red. El paquete incluye varios ficheros de configuración ejemplo para ayudar al usuario a la hora de configurar sus conexiones de red. Dichos ejemplos de ficheros de configuración de perfiles se encuentran en el directorio /etc/netctl/examples/. Entre las configuraciones más típicas se pueden encontrar las siguientes:

  • ethernet-dhcp
  • ethernet-static
  • wireless-wpa
  • wireless-wpa-static

Para usar un fichero ejemplo de un perfil de una conexión de red hay que copiar el fichero en cuestión de /etc/netctl/examples/<nombre del perfil de conexión de red> al directorio /etc/netctl/<nombre del perfil de conexión de red> y editarlo para configurarlo de acuerdo con las necesidades específicas de cada usuario:

# cp /etc/netctl/examples/wireless-wpa /etc/netctl/mi-wireless-wpa
Sugerencia: Para las configuraciones de las redes inalámbricas, utilice wifi-menu -o que creará un fichero de configuración en /etc/netctl/.
Advertencia: wifi-menu -o generará el fichero de perfil en /etc/netctl/ con '-' en el nombre. Esto dará problemas con la configuración automática. Se recomienda cambiar el nombre del fichero.

Una vez que se ha creado el perfil de configuración para una conexión de red concreta hay que intentar establecer la conexión usando dicho perfil. Para ello:

# netctl start <nombre del perfil de la conexión de red>
Nota: El «perfil» es el nombre del fichero, sin incluir la ruta completa. Si se facilita la ruta completa, ello provocará que netctl devuelva un código de error.

En caso de obtener un error al ejecutar la orden anterior, es posible acceder a una explicación detallada de lo que ha provocado el fallo. Para ello se pueden usar las órdenes journalctl -xn y netctl status <nombre del perfil de la conexión de red>. Una vez que se ha encontrado el fallo tan solo hay que hacer las correcciones pertinentes en el perfil de la conexión de red y volver a intentarlo.

Automatizar las conexiones

Si solo se está usando un perfil de conexión de red (por interfaz) o se desea cambiar de perfil manualmente, el método básico es el acertado. Entre los ejemplos más comunes se encuentran los servidores, estaciones de trabajo, routers, etc.

Si se necesita cambiar entre varios perfiles con frecuencia, utilice el método del cambio automático de perfiles. Los ejemplos más comunes son los ordenadores portátiles.

Método básico

Con este método, se puede comenzar un solo perfil con dirección estática por interfaz. Primero compruebe manualmente que el perfil se puede iniciar con éxito, y después actívelo usando la orden:

# netctl enable nombre del perfil de la conexión de red

Esto creará y activará un servicio de systemd, servicio que se iniciará cuando arranque el equipo. Los cambios en el fichero de este perfil no se transmitirán automáticamente a dicho fichero de servicio. Si se realizan cambios, es necesario volver a activar el perfil con la orden:

# netctl reenable nombre del perfil de la conexión de red
Nota: La conexión solo se establecerá si el perfil se puede iniciar con éxito en el arranque (o cuando se inicia el servicio). Esto significa concretamente, que, en el caso de una conexión por cable, el cable debe estar enchufado, y, en el caso de una conexión inalámbrica, la red debe estar dentro del rango.
Sugerencia: Para activar el perfil de la IP estática en la interfaz cableada, sin importar si el cable de red está o no conectado, pase la opción SkipNoCarrier=yes a su perfil.

Cambio automático de perfiles

netctl ofrece dos servicos especiales de systemd para la conmutación automática de perfiles:

  • Para las interfaces cableadas: netctl-ifplugd@interfaz.service. El uso de estos perfiles de netctl se intercambian cuando se enchufa/desenchufa el cable de red.
  • Para las interfaces inalámbricas: netctl-auto@interfaz.service. El uso de estos perfiles de netctl se intercambian al pasar del rango de una red dentro del alcance de rango de otra red.
Nota: netcfg utiliza net-auto-wireless.service y net-auto-wired.service para estos fines.

Primero instale los paquetes necesarios:

  • El paquete wpa_actiond es necesario para usar netctl-auto@interfaz.service.
  • El paquete ifplugd es necesario para usar netctl-ifplugd@interfaz.service.

Ahora configure todos los perfiles que netctl-auto@interfaz.service o netctl-ifplugd@interfaz.service desea que inicien.

Si algún perfil inalámbrico no se inicia automáticamente por netctl-auto@interfaz.service, tiene que agregar explícitamente la variable ExcludeAuto=yes para ese perfil. Puede utilizar la variable Priority= para establecer la prioridad de algún perfil cuando existen varios perfiles disponibles. netctl-ifplugd@interfaz.service preferirá perfiles que utilicen DHCP. Para preferir un perfil con una dirección IP estática, puede utilizar la variable AutoWired=yes. Consulte netctl.profile(5) para obtener más detalles.

Advertencia: La selección automática de un perfil compatible con WPA por netctl-auto no es posible con la opción Security=wpa-config, sino que hay que usar, en su lugar, la opción Security=wpa-configsection.

Una vez que ha establecido y comprobrado que sus perfiles funcionan correctamente, solo tiene que activar estos servicios utilizando systemctl:

# systemctl enable netctl-auto@interfaz.service 
# systemctl enable netctl-ifplugd@interfaz.service  
Advertencia:
  • Si alguno de los perfiles contienen errores, como por ejemplo, una variable Key= vacía, la unidad no se cargará durante el arranque.
  • Este método entra en conflicto con el Método básico. Si ha activado previamente un perfil a través de netctl, ejecute netctl disable profile para evitar que el perfil se cargue dos veces en el arranque.

Desde netctl 1.3, es posible controlar manualmente una interfaz gestionada de otra manera por netctl-auto sin tener que detener el servicio netctl-auto. Esto se hace usando la orden netctl-auto. Para obtener una lista de acciones disponibles basta con ejecutar:

 # netctl-auto --help

Migración de netcfg a netctl

netctl se vale del directorio /etc/netctl para almacenar los distintos perfiles de las conexiones de red en lugar de /etc/network.d, (el cual era el directorio en el cual netcfg almacenaba los perfiles de las conexiones de red).

Para migrar de netcfg a netcfg es necesario, al menos, lo siguiente:

  • Desactivar el servicio netcfg: systemctl disable netcfg.service.
  • Desinstalar netcfg e instalar netctl.
  • Mover los perfiles de las conexiones de red al nuevo directorio.
  • Renombrar las variables de dichos ficheros perfil de conexiones de red de acuerdo con las instrucciones en netctl.profile(5). La gran mayoría tan solo han pasado de tener todo en letras mayúsculas a tener solo la primera letra. Un ejemplo: CONNECTION pasa a ser Connection.
  • Para la configuración de la IP estática asegúrese de que las variables Address tienen una máscara de red después de la IP (por ejemplo, Address=('192.168.1.23/24' '192.168.1.87/24') en el perfil de ejemplo).
  • Si configura un perfil para una red inalámbrica siguiendo el ejemplo de wireless-wpa-configsection, tenga en cuenta que ello sobrescribe las opciones de wpa_supplicant definidas antes de los corchetes. Para una conexión a una red inalámbrica oculta, agregue scan_ssid=1 a las opciones en wireless-wpa-configsection; Hidden=yes si no funciona allí.
  • Quitar las comillas de las variables de las distintas interfaces y otras variables que no necesitan de forma estricta las comillas. Esto no es más que una cuestión de estilo.
  • Ejecutar netctl enable nombre del perfil de la conexión de red para cada uno de los perfiles de conexión de red en la antigua línea NETWORKS. «last» ya no tiene la función que tenía. Para más infomación leer netctl.special(7).
  • Usar netctl list y/o netctl start <nombre del perfil de la conexión de red>, en lugar de netcfg-menu. No obstante, wifi-menu seguirá disponible.
  • A diferencia de netcfg, netctl, por defecto, no levanta un NIC cuando este no está conectado a otro NIC potencialmente abierto. Para resolver este problema, añada SkipNoCarrier=yes al final del fichero de perfil /etc/netctl/fichero-de-perfil.

Contraseñas encriptadas (PSK de 256-bits)

Nota: Aunque «cifrada», la clave que se pone en la configuración del perfil es suficiente para conectarse a una red WPA-PSK, lo que significa que este procedimiento solo sirve para ocultar la versión legible de la frase de contraseña o passphrase, pero no evita que cualquier usuario con permisos de lectura acceda a este fichero para conectarse a la red. Debemos preguntarnos si hay alguna utilidad en este procedimiento, ya que usar la misma contraseña para todo suele ser una medida de seguridad muy pobre.

Los usuarios que no quieran tener sus contraseñas guardadas en texto plano tienen la posibilidad de generar una clave precompartida o PSK —del inglés, Pre-Shared Key— con encriptación de 256-bits, que se calcula a partir de la frase de contraseña («passphrase») y el nombre de la red («SSID») utilizando algoritmos estándar.

  • Método 1: Utilice wifi-menu -o para crear un fichero de configuración en la carpeta /etc/netctl.
  • Método 2: Configuración manual como sigue.

Para ambos métodos es recomendable el uso de la orden chmod 600 /etc/netctl/<config_file>, a fin de evitar el acceso a la contraseña por parte de otros usuarios.

A continuación, se generará la PSK con encriptación de 256-bits usando wpa_passphrase:

$ wpa_passphrase your_essid passphrase
network={
  ssid="your_essid"
  #psk="passphrase"
  psk=64cf3ced850ecef39197bb7b7b301fc39437a6aa6c6a599d0534b16af578e04a
}
Nota: Esta información será utilizada en su perfil para que no cierre el terminal.

En otra consola, copiar el fichero ejemplo de perfil de conexión de red wireless-wpa de /etc/netctl/examples al directorio /etc/netctl.

# cp /etc/netctl/examples/wireless-wpa /etc/netctl/wireless-wpa

Será necesario editar el fichero /etc/netctl/wireless-wpa con el editor de texto que prefiera el usuario y añadir la clave precompartida encriptada o Encrypted Pre-shared Key que se ha generado previamente con wpa_passphrase a la variable Key del perfil de conexión de red.

Una vez terminada la edición del perfil de conexión de red wireless-wpa que contiene la PSK con encriptación de 256-bits, debería quedar algo así:

/etc/netctl/wireless-wpa
Description='A simple WPA encrypted wireless connection using 256-bit PSK'
Interface=wlp2s2
Connection=wireless
Security=wpa
IP=dhcp
ESSID=your_essid
Key=\"64cf3ced850ecef39197bb7b7b301fc39437a6aa6c6a599d0534b16af578e04a
Nota:
  • Hay que asegurarse de usar las directrices especiales sin entrecomillar o special quoted rules para la variable Key= como se explica al final de la página man netctl.profile(5).
  • Si la contraseña no funciona, pruebe eliminar el signo \" en la variable Key.

Consejos y trucos útiles

Sustituir 'netcfg current'

Si ha utilizado netcfg current en el pasado, puede utilizar # netctl-auto current como un reemplazo para las conexiones iniciadas con netctl-auto (funcional desde netctl-1.3).

Para analizar manualmente las conexiones, también se puede utilizar:

# netctl list | awk '/*/ {print $2}'

Eduroam

Algunas universidades utilizan un sistema llamado «Eduroam» para la gestión de sus redes inalámbricas. Para este sistema, un perfil de WPA config-section con el siguiente formato suele ser útil:

/etc/netctl/wlan0-eduroam
Description='Eduroam-profile for <user>'
Interface=wlan0
Connection=wireless
Security=wpa-configsection
IP=dhcp
WPAConfigSection=(
 'ssid="eduroam"'
 'proto=RSN'
 'key_mgmt=WPA-EAP'
 'pairwise=CCMP'
 'auth_alg=OPEN'
 'eap=PEAP'
 'identity="<user>"'
 'password="<password>"'
)
Sugerencia: Para evitar el almacenamiento de la contraseña en texto plano, puede generar un algoritmo para la contraseña con $ echo -n <password> | iconv -t utf16le | openssl md4. Después utilícelo como 'password=hash:<hash>'.

Para perfiles TTLS y universidades certificadas esta configuración funciona:

/etc/netctl/wlan0-eduroam
Description='Eduroam university'
Interface=wlan0 
Connection=wireless
Security=wpa-configsection
IP=dhcp
ESSID=eduroam
WPAConfigSection=(
    'ssid="eduroam"'
    'key_mgmt=WPA-EAP'
    'eap=TTLS'
    'group=TKIP'
    'anonymous_identity="anonymous@domain_university"'
    'identity="XXX@domain_university"'
    'password="XXX"'
    'ca_cert="Path/to/the/certificate"'
    'phase2="auth=PAP"'
)

Bonding

De kernel documentation:

El controlador bonding de Linux proporciona un método para agregar múltiples interfaces de red en una sola interfaz lógica «vinculada». El comportamiento de la interfaz bonded depende de la modalidad. En términos generales, las modalidades proporcionan tanto una espera activa como servicios de equilibrio de carga. Además, permite llevar a cabo un monitoreo integral del enlace'.

Equilibrar la carga

Para utilizar bonding con netctl, se necesita un paquete adicional disponible en los repositorios oficiales: ifenslave.

Copie el fichero /etc/netctl/examples/bonding a la carpeta /etc/netctl/bonding, y modifíquelo, por ejemplo, como se indica a continuación:

/etc/netctl/bonding
Description='Bond Interface'
Interface='bond0'
Connection=bond
BindsToInterfaces=('eth0' 'eth1')
IP=dhcp
IP6=stateless

Ahora se puede desactivar y detener su configuración antigua y establecer bonding para que se inicie automáticamente. Para cambiar al nuevo perfil, por ejemplo bonding, ejecute:

# netctl switch-to bonding
Nota: Este sistema utiliza la política de round-robin, que es el valor predeterminado para el controlador bonding. Véase official documentation para obtener más detalles.
Sugerencia: Para comprobar el estado y la modalidad de bonding, ejecute:
$ cat /proc/net/bonding/bond0

Pasar a la conexión inalámbrica cuando la conexión cableada falla

Este ejemplo describe cómo usar bonding como respaldo de la red inalámbrica para cuando la red cableada se cae, sirve también para detectar la presencia de cualquier conexión de red e iniciar dhcpcd cuando una o ambas redes se conecten.

Necesitaremos los paquetes ifplugd, ifenslave, y wpa_supplicant disponibles en los repositorios oficiales.

Primero, configuraremos el controlador bonding para usar active-backup:

/etc/modprobe.d/bonding.conf
options bonding mode=active-backup
options bonding miimon=100
options bonding primary=eth0
options bonding max_bonds=0

La opción max_bonds evita obtener el error Interface bond0 already exists. Se puede añadir el ajuste fail_over_mac=active si se usa el filtrado MAC.

Luego, configuraremos un perfil de netctl para subordinar las dos interfaces del hardware:

/etc/netctl/failover
Description='A wired connection with failover to wireless'
Interface='bond0'
Connection=bond
BindsToInterfaces=('eth0' 'wlan0')
IP='no'
SkipNoCarrier='no'

Activamos el perfil en el arranque:

# netctl enable failover

Configuraremos wpa_supplicant para asociarla con redes conocidas. Esto se puede hacer con un perfil netcfg (recuerde usar IP='no'), con un servicio wpa_supplicant funcionando constantemente, o bajo demanda con wpa_cli. Las maneras para hacer esto están tratadas en la página de wpa_supplicant. Para mantener wpa_supplicant ejecutándose constántemente, cree el fichero de configuración de wpa_supplicant /etc/wpa_supplicant/wpa_supplicant-wlan0.conf y después ejecute:

# systemctl enable wpa_supplicant@wlan0

Ajuste IP='no' en el perfil de la conexión de red cableada. La dirección IP debe asignarse únicamente a la interfaz bond0.

A partir de ahora, si tenemos una conexión por cable e inalámbrica conectadas a la misma red, es probable que podamos desconectar y reconectar la conexión por cable sin perder la conectividad. ¡En la mayoría de los casos, incluso la transmisión de música se realizará sin saltos!

Quitar direcciones antiguas de dhcpcd

El fichero /var/lib/dhcpcd/dhcpcd-[interface].lease, donde [interface] es el nombre de la interfaz con la que se tiene el vínculo, contiene la dirección DHCP vigente, que es la respuesta enviada por el servidor DHCP. Se utiliza para determinar la última concesión del servidor, y su atributo mtime se utiliza para determinar cuándo se expidió. Esta última información se utiliza para solicitar la misma dirección IP anterior, si está disponible. Si no se quiere eso, simplemente borre este fichero. Por ejemplo :

# rm /var/lib/dhcpcd/dhcpcd-wlan0.lease

Esto elimina la última dirección dhcpcd concedida a la interfaz wlan0 interface.

Problemas de espera con DHCP

Si se están teniendo problemas de tiempo de espera al solicitar concesiones a través de DHCP, se puede establecer un valor de tiempo de espera mayor que el que netctl establece de forma predeterminada, que es de 30 segundos. Cree un fichero en /etc/netctl/hooks/ o /etc/netctl/interfaces/, y añada TimeoutDHCP=40 para disponer de un tiempo de espera de 40 segundos, y hágalo ejecutable.

Véase también