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

From ArchWiki
Jump to: navigation, search
(Created page with "{{Lowercase title}} Category:Networking (Español) en:Netctl fr:Netctl zh-CN:Netctl {{Article summary start}} {{Article summary text|Guía para configurar la c...")
 
(Actualización)
Line 1: Line 1:
 
{{Lowercase title}}
 
{{Lowercase title}}
 
[[Category:Networking (Español)]]
 
[[Category:Networking (Español)]]
 +
[[cs:Netctl]]
 
[[en:Netctl]]
 
[[en:Netctl]]
 
[[fr:Netctl]]
 
[[fr:Netctl]]
 +
[[ja:Netctl]]
 
[[zh-CN:Netctl]]
 
[[zh-CN:Netctl]]
{{Article summary start}}
+
[[ru:Netctl]]
 +
{{Article summary start|Sumario}}
 
{{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.}}
 
{{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.}}
 +
{{Article summary heading|Descripción}}
 +
{{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. }}
 +
{{Article summary heading|Recursos}}
 +
{{Article summary wiki|Bridge with netctl}}
 
{{Article summary end}}
 
{{Article summary end}}
 
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.
 
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.
  
 
==Instalación==
 
==Instalación==
El paquete {{Pkg|netctl}} está disponible en el repositorio [[Official Repositories#[core]|[core]]]. 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 {{pkg|netcfg}} una vez se instale en el equipo.
 +
 
 +
{{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'''.
  
 
==Bibliografía altamente recomendada==
 
==Bibliografía altamente recomendada==
Line 17: Line 26:
 
*[https://github.com/joukewitteveen/netctl/blob/master/docs/netctl.profile.5.txt netctl.profile]
 
*[https://github.com/joukewitteveen/netctl/blob/master/docs/netctl.profile.5.txt netctl.profile]
 
*[https://github.com/joukewitteveen/netctl/blob/master/docs/netctl.special.7.txt netctl.special]
 
*[https://github.com/joukewitteveen/netctl/blob/master/docs/netctl.special.7.txt netctl.special]
 
{{ic|netctl}} y {{ic|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 {{ic|netctl}}.
 
  
 
==Configuración==
 
==Configuración==
Line 27: Line 34:
 
*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:
Line 33: Line 42:
 
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.}}
  
 
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 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.
Line 38: Line 49:
 
===Automatizar las conexiones===
 
===Automatizar las conexiones===
 
====Un perfil====
 
====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 {{ic|# netctl enable <nombre del perfil de la conexión de red>}} una vez que ha iniciado de forma satisfactoria con {{ic|netctl start}}. Esto creará un servicio de {{ic|systemd}} que se iniciará de forma automática al arrancar el ordenador.
+
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>
 +
 
 +
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.
 +
 
 +
{{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]].}}
  
 
====Varios perfiles====
 
====Varios perfiles====
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. Cuando se ha comprobado que los perfiles de las conexiones de red funcionan correctamente, sólo queda activar dichos servicios mediante {{ic|# systemctl enable netctl-auto@<nombre de la interfaz de la conexión de red>.service}} y {{ic|# systemctl nectl-ifplugd@<nombre de la interfaz de la conexión de red>.service}}.
+
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}}.
  
Si ya se había activado un perfil de conexión de red usando {{ic|netctl}}, run {{ic|# netctl disable <nombre del perfil de la conexión de red>}} para evitar que el perfil se inicie dos veces al iniciar el equipo y de problemas con wpa_supplicant.
+
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}}.
  
{{Nota|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.}}
+
Cuando se ha comprobado que los perfiles de las conexiones de red funcionan correctamente, sólo queda activar dichos servicios mediante:
 +
 
 +
# systemctl enable netctl-auto@<nombre de la interfaz de la conexión de red>.service
 +
# 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.}}
 +
 
 +
Si ya se había activado un perfil de conexión de red usando {{ic|netctl}}, ejecute:
 +
 
 +
# netctl disable <nombre del perfil de la conexión de red>
 +
 
 +
para evitar que el perfil se inicie dos veces al iniciar el equipo y de problemas con wpa_supplicant.
 +
 
 +
{{Nota|
 +
* 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.
 +
* La ''interfaz'' es una simplificación del hardware, por ejemplo, netctl-auto@wlan0.service o netctl-auto@enp2s0.service.}}
  
 
===Migración de netcfg a netctl===
 
===Migración de netcfg a netctl===
{{Advertencia|netctl netctl provoca conflictos con 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 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.
+
{{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).
  
 
Para migrar de netcfg a netctl es necesario, al menos, lo siguiente:
 
Para migrar de netcfg a netctl es necesario, al menos, lo siguiente:
 
*Mover los perfiles de las conexiones de red al nuevo directorio.
 
*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 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=.
 
*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=.
 +
* 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 {{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í.
 
*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.
 
*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 {{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)'''.
+
*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)'''.
*Usar {{ic|netctl list}} / {{ic|netctl start <nombre del perfil de la conexión de red>}} en lugar de {{ic|netcfg-menu}}. No obstante, {{ic|wifi-menu}} seguirá disponible.
+
*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.
 +
* 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.
 +
* 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''}}.
  
 
===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
+
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.
  
Si no se ha hecho todavía, hay que instalar {{pkg|wpa_actiond}} disponible en el repositorio [[Official Repositories#&#91;core&#93;|&#91;core&#93;]] mediante  [[pacman (Español)]]
+
* Método 1: Utilice {{ic|wifi-menu -o}} para crear un archivo de configuración en la carpeta {{ic|/etc/netctl}}.
  # pacman -S wpa_actiond
+
* 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).
 +
 
 +
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_file|wpa_passphrase]]:
Line 74: Line 112:
 
   psk=64cf3ced850ecef39197bb7b7b301fc39437a6aa6c6a599d0534b16af578e04a
 
   psk=64cf3ced850ecef39197bb7b7b301fc39437a6aa6c6a599d0534b16af578e04a
 
}
 
}
{{Note|This information will be used in your profile so do not close the 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}}.
 +
 
  # cp /etc/netctl/examples/wireless-wpa /etc/netctl/wireless-wpa
 
  # cp /etc/netctl/examples/wireless-wpa /etc/netctl/wireless-wpa
  
Line 92: Line 131:
 
Key=\"64cf3ced850ecef39197bb7b7b301fc39437a6aa6c6a599d0534b16af578e04a
 
Key=\"64cf3ced850ecef39197bb7b7b301fc39437a6aa6c6a599d0534b16af578e04a
 
}}
 
}}
{{Nota|1=hay que asegurarse de usar las directrices especiales sin entrecomillar o '''special non-quoted rules''' para la variable 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)].}}
+
{{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)].
 +
* 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.}}
  
 
==Soporte técnico==
 
==Soporte técnico==
Line 98: Line 139:
  
 
==Consejos y trucos útiles==
 
==Consejos y trucos útiles==
 +
=== 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:
 
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:
  netctl list | sed -n 's/\* //p'
+
  # netctl list | sed -n 's/\* //p'
 +
o, cuando se utilice {{ic|netctl-auto}} para conectarse:
 +
# wpa_cli -i ''interface'' status | sed -n 's/^id_str=//p'
 +
 
 +
=== 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):
 +
{{hc|/etc/netctl/wlan0-eduroam|<nowiki>
 +
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>"'
 +
)</nowiki>
 +
}}

Revision as of 16:51, 14 July 2013

Sumario help replacing me
Guía para configurar la conexión a internet mediante el uso de netctl y scripts de perfiles de conexiones de redes.
Descripción
Arch Linux ofrece netctl para la gestión de redes. netctl proporciona soporte técnico para las conexiones cableadas en escritorios y servidores, así como configuraciones de conexiones inalámbricas y roaming para la movilidad de los usuarios, permitiendo una fácil gestión de los perfiles de red. NetworkManager y Wicd son alternativas populares ofrecidas por terceros.
Recursos
Bridge with netctl

Netctl 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 a través de la consola en Arch Linux.

Instalación

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

netctl y 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.

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 ejmplos 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 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 /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

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 archivo, 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 journalctl -xn y 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.

Automatizar las conexiones

Un perfil

Si sólo se está usando un perfil de conexión de red, se puede habilitar —en inglés, enabled— ejecutando el comando:

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

una vez que ha iniciado de forma satisfactoria con netctl start. Esto creará un servicio de systemd que se iniciará de forma automática al arrancar el ordenador.

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.

Varios perfiles

Mientras que con netcfg se usaba net-auto-wireless.service y 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, netctl usa netctl-auto@<nombre de la interfaz de la conexión de red>.service para los perfiles de red inalámbrica o wireless y 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 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 ifplugd. Configure el archivo /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 Security=wpa-config, hay que usar, en su lugar, Security=wpa-configsection.

Para establecer un perfil preferido para la conexión por cable para conectarse automáticamente, especifique AutoWired=yes en dicho perfil. Por defecto, en caso de fallo del mismo, 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 ForceConnect=yes.

Cuando se ha comprobado que los perfiles de las conexiones de red funcionan correctamente, sólo queda activar dichos servicios mediante:

# systemctl enable netctl-auto@<nombre de la interfaz de la conexión de red>.service
# 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 Key= vacía, la unidad no se cargará durante el arranque.

Si ya se había activado un perfil de conexión de red usando netctl, ejecute:

# netctl disable <nombre del perfil de la conexión de red>

para evitar que el perfil se inicie dos veces al iniciar el equipo y de problemas con wpa_supplicant.

Nota:
  • Si por algún casual alguna vez hay que modificar un perfil de conexión de red que está activado hay que ejecutar netctl reenable <nombre del perfil de la conexión de red> para aplicar los cambios que se han realizado.
  • La interfaz es una simplificación del hardware, por ejemplo, netctl-auto@wlan0.service o netctl-auto@enp2s0.service.

Migración de netcfg a netctl

Advertencia: netctl provoca conflictos con netcfg por lo que hay que deshabilitar el servicio netcfg@<nombre del perfil de la conexión de red> ya existente antes de proceder con la instalación de 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 netctl es necesario, al menos, lo siguiente:

  • 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 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=.
  • 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 sobreescribe 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 / netctl start <nombre del perfil de la conexión de red> en lugar de netcfg-menu. No obstante, wifi-menu seguirá disponible.
  • Puede ser una buena idea usar 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.
  • 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 archivo de perfil /etc/netctl/profile-file.

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.

  • Método 1: Utilice wifi-menu -o para crear un archivo de configuración en la carpeta /etc/netctl.
  • Método 2: Configuración manual como sigue. Si la contraseña no funciona, intente eliminar \" en Key= (véase la nota de abajo).

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:

Usage: wpa_passphrase [nombre de la red a la que queremos conectar o ssid] [clave precompartida o passphrase]
$ wpa_passphrase archlinux freenode

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='Una conexión inalámbrica WPA encriptada usando una PSK con encriptación de 256-bits'
Interface=wlp2s2
Connection=wireless
Security=wpa
IP=dhcp
ESSID=archlinux
Key=\"64cf3ced850ecef39197bb7b7b301fc39437a6aa6c6a599d0534b16af578e04a
Nota:
  • Hay que asegurarse de usar las directrices especiales sin entrecomillar o special non-quoted rules para la variable Key= que se encuentran al final de la página man 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.

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

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:

# netctl list | sed -n 's/\* //p'

o, cuando se utilice netctl-auto para conectarse:

# wpa_cli -i interface status | sed -n 's/^id_str=//p'

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):

/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>"'
)