Network configuration (Español)

Este artículo describe cómo configurar conexiones de red en la Capa 3 del modelo OSI y superiores. Los detalles específicos del medio se manejan en las subpáginas /Ethernet (Español) y /Wireless (Español).

Esta traducción de Network configuration fue revisada el 2022-10-19. Si existen cambios puede actualizarla o avisar al equipo de traducción.

Comprobar la conexión

Para solucionar los problemas de una conexión de red, siga las siguientes condiciones y asegúrese de cumplirlas:

  1. Su interfaz de red está listada y activada. De lo contrario, compruebe el controlador del dispositivo; véase /Ethernet (Español)#Controlador de dispositivo[enlace roto: sección no válida] o /Wireless (Español)#Controlador de dispositivo[enlace roto: sección no válida].
  2. Está conectado a la red. El cable está enchufado o está conectado a la LAN inalámbrica.
  3. Su interfaz de red tiene una dirección IP.
  4. Su tabla de enrutamiento está configurada correctamente.
  5. Puede hacer ping a una dirección IP local (por ejemplo, su puerta de enlace predeterminada).
  6. Puede hacer ping a una dirección IP pública (por ejemplo 9.9.9.9, que es un servidor DNS operado por Quad9 Foundation y es una dirección conveniente para realizar pruebas).
  7. Puede resolver nombres de dominio (por ejemplo archlinux.org).

Ping

ping se utiliza para comprobar si puede comunicarse con un host.

$ ping www.example.com
PING www.example.com (93.184.216.34): 56(84) data bytes
64 bytes from 93.184.216.34: icmp_seq=0 ttl=56 time=11.632 ms
64 bytes from 93.184.216.34: icmp_seq=1 ttl=56 time=11.726 ms
64 bytes from 93.184.216.34: icmp_seq=2 ttl=56 time=10.683 ms
...

Por cada respuesta recibida, la utilidad ping imprimirá una línea como la anterior hasta que la interrumpa (mediante ) de forma interactiva. Para obtener más información, véase el manual de . Tenga en cuenta que las computadoras se pueden configurar para que no respondan a las solicitudes de eco ICMP.

Si recibe un mensaje de error (véase indicaciones de error de ping) o no recibe respuesta, esto puede estar relacionado con una configuración incompleta, pero también con su puerta de enlace predeterminada o su proveedor de servicios de Internet (ISP). Puede ejecutar un traceroute para continuar con el diagnostico de la ruta al host.

Administración de redes

Para configurar una conexión de red, siga los siguientes pasos:

  1. Asegúrese de que su interfaz de red esté listada y activada.
  2. Conéctese a la red. Conecte el cable Ethernet o conéctese a la LAN inalámbrica.
  3. Configure su conexión de red:
Nota: La imagen de instalación utiliza systemd-resolved y systemd-networkd, que está configurado como un cliente DHCP para interfaces de red Ethernet, WLAN y WWAN.

net-tools

Arch Linux ha hecho obsoleto en favor de iproute2.

Orden obsoletaÓrdenes de reemplazo
arpip neighbor
ifconfigip address, ip link
netstatss
routeip route

Para obtener un resumen más completo, véase Órdenes de red de Linux obsoletos y sus reemplazos.

iproute2

iproute2 es una dependencia del metapaquete y proporciona la interfaz de línea de órdenes , utilizada para administrar interfaces de red, direcciones IP y la tabla de enrutamiento. Tenga en cuenta que la configuración realizada con se perderá después de reiniciar. Para una configuración persistente, puede utilizar un gestor de red o automatizar las órdenes ip usando scripts y unidades systemd. También tenga en cuenta que las órdenes generalmente se pueden abreviar para mayor claridad, sin embargo, se explican en detalle en este artículo.

Interfaces de red

De forma predeterminada, udev asigna nombres a sus controladores de interfaz de red utilizando Nombres de interfaz de red predecibles, que antepone los nombres de las interfaces con (alámbrico/Ethernet), (inalámbrico/WLAN), o (WWAN). Véase .

Listar las interfaces de red

Tanto los nombres de las interfaces tanto las cableadas como las inalámbricas se pueden encontrar a través de ls /sys/class/net o . Tenga en cuenta que lo es la interfaz virtual de bucle invertido y no se utiliza para realizar conexiones de red.

Los nombres de los dispositivos inalámbricos también se pueden recuperar utilizando . Véase también /Wireless#Obtener el nombre de la interfaz.

Si su interfaz de red no aparece en la lista, asegúrese de que el controlador de su dispositivo se haya cargado correctamente. Véase /Ethernet#Controlador de dispositivo o /Wireless#Controlador de dispositivo.

Activar y desactivar interfaces de red

Las interfaces de red se pueden activar o desactivar utilizando , véase .

Para comprobar el estado de la interfaz :

El en indica que la interfaz está activa, no el posterior state DOWN.

Nota: Si su ruta predeterminada es a través de la interfaz enp2s0, eliminarla también eliminará dicha ruta y volver a activarla no la restablecerá automáticamente. Véase #Tabla de enrutamiento para restablecerla.

¿Dirección IP estática o dinámica?

Si está utilizando una red Wi-FI o un enrutador, por ejemplo en casa, lo más probable es que esté utilizando una dirección IP dinámica. La dirección IP es asignada por el Wi-Fi o el enrutador y es lo que su computadora debe configurar. O, si está en casa y su computadora está conectada al módem de su ISP, por ejemplo un módem por cable, que también utilizará una dirección IP dinámica. Las direcciones IP dinámicas pueden cambiar cada vez que enciende su computadora. En un entorno de trabajo, puede tener una dirección IP estática o dinámica. En casa, puede configurar su enrutador para que siempre asigne a su computadora la misma dirección IP, en cuyo caso está utilizando una dirección IP estática. Cuando utilice una dirección IP dinámica, deberá utilizar DHCP para que pueda configurar su interfaz de red con la dirección IP correcta. Además de configurar su dirección IP, DHCP también puede configurar su enrutamiento (cómo llegar desde donde se encuentra al lugar de la red al que se dirige), así como sus servidores de nombres, que convierten el nombre de host, por ejemplo google.com, en su dirección IP, ese número con puntos en él.

Dirección IP estática

Se puede configurar una dirección IP estática con la mayoría de gestores de red y también dhcpcd.

Para configurar manualmente una dirección IP estática, añada una dirección IP como se describe en #Direcciones IP, configure su tabla de enrutamiento y configure sus servidores DNS.

Direcciones IP

Las direcciones IP se gestionan utilizando .

Lista de direcciones IP:

$ ip address show

Añadir una dirección IP a una interfaz:

# ip address add dirección/longitud_prefijo broadcast + dev interfaz
Tenga en cuenta que:

Eliminar una dirección IP de una interfaz:

# ip address del dirección/longitud_prefijo dev interfaz

Eliminar todas las direcciones que coincidan con un criterio, por ejemplo de una interfaz específica:

# ip address flush dev interfaz

Tabla de enrutamiento

La tabla de enrutamiento se utiliza para determinar si puede acceder a una dirección IP directamente o qué puerta de enlace (enrutador) debe usar. Si ninguna otra ruta coincide con la dirección IP, se utiliza la Puerta de enlace predeterminada.

La tabla de enrutamiento se administra mediante .

PREFIJO es una notación CIDR o para la puerta de enlace predeterminada.

Lista de rutas IPv4:

$ ip route show

Lista de rutas IPv6:

$ ip -6 route

Añadir una ruta:

# ip route add PREFIJO via dirección dev interfaz

Eliminar una ruta:

# ip route del PREFIJO via dirección dev interfaz

DHCP

Un Protocolo de configuración dinámica de host (DHCP) proporciona a los clientes una dirección IP dinámica, la máscara de subred, la dirección IP de la puerta de enlace predeterminada y, opcionalmente, los servidores de nombres DNS.

Para utilizar DHCP, necesita un servidor DHCP en su red y un cliente DHCP:

ClientePaqueteArchisoNotaUnidades systemd
dhcpcdDHCP, DHCPv6, ZeroConf, IP estáticadhcpcd.service,
ISC dhclientdhclientDHCP, DHCPv6, BOOTP, IP estática

Servidores

ServidorPaqueteIPv4IPv6GUIInterfacesTipo(s) de almacenamientoNota
dhcpdGlass-ISC-DHCP?Archivo
dnsmasq?ArchivoTambién DNS, PXE y TFTP
KeaStorkREST, RADIUS y NETCONFArchivo, MySQL, PostgreSQL y CassandraTambién DNS

Gestores de red

Un gestor de red le permite administrar la configuración de la conexión de red en los llamados perfiles de red para facilitar el cambio de red.

Nota: Hay muchas soluciones para elegir, pero recuerda que todas ellas son mutuamente excluyentes; no debe ejecutar dos demonios simultáneamente.
Gestor de redGUIArchiso Herramientas CLISoporte PPP
(p.ej. modem 3G)
Cliente DHCPUnidades systemd
ConnMan (con )interno
netctl 2 No oficial, wifi-menudhcpcd o dhclient,
NetworkManager , nmtui(1)interno o dhclient
systemd-networkd ()interno,

Establecer el nombre de host

Un nombre de host es un nombre único creado para identificar una máquina en una red, configurado en /etc/hostname—véase y para más detalles. El archivo puede contener el nombre de dominio del sistema, si lo hay. Para establecer el nombre de host, modifique /etc/hostname para incluir una sola línea con minombredehost:

Alternativamente, utilizando :

# hostnamectl set-hostname minombredehost

Para establecer temporalmente el nombre de host (hasta que se reinicie), utilice de :

# hostname minombredehost

Para configurar el nombre de host "bonito" (pretty) y otros metadatos de la máquina, véase .

Resolución de nombre de host en red local

Para que su máquina sea accesible en su LAN a través de su nombre de host, puede:

  • modificar el archivo para cada dispositivo en su LAN, véase hosts(5)
  • configurar un servidor DNS para resolver su nombre de host y hacer que los dispositivos LAN lo utilicen (por ejemplo, a través de #DHCP)
  • o de la forma más sencilla: utilizar un servicio de Redes de configuración cero:
    • Resolución de nombre de host mediante NetBIOS de Microsoft. Proporcionado por Samba en Linux. Solo requiere . Las computadoras que ejecutan Windows, macOS o Linux con en ejecución podrán encontrar su máquina.
    • Resolución de nombre de host mediante mDNS. Proporcionado por nss_mdns con Avahi (véase Avahi#Hostname resolution para obtener detalles de configuración) o systemd-resolved. Las computadoras que ejecutan macOS, o Linux con Avahi o resolución por systemd, podrán encontrar su máquina. La API Win32 anterior no es compatible con mDNS, lo que puede impedir que algunas aplicaciones antiguas de Windows accedan a su dispositivo.

Consejos y trucos

Cambiar el nombre de la interfaz

Puede cambiar el nombre del dispositivo definiendo el nombre manualmente con una regla udev. Por ejemplo:

Estas reglas se aplicarán automáticamente en el arranque.

Un par de cosas a comentar:

  • Para obtener la dirección MAC de cada tarjeta, utilice esta orden:
  • Asegúrese de utilizar los valores hexadecimales en minúsculas en sus reglas de udev. No le gustan las mayúsculas.

Si la tarjeta de red tiene una MAC dinámica, puede utilizar , por ejemplo:

Para obtener el de todos los dispositivos conectados actualmente, vea a dónde conducen los enlaces simbólicos en . Por ejemplo:

La ruta del dispositivo debe coincidir con el nombre del dispositivo nuevo y antiguo, ya que la regla puede ejecutarse más de una vez en el arranque. Por ejemplo en la segunda regla, "/devices/pci*/*1c.0/*/net/enp*" sería incorrecto ya que dejará de coincidir una vez que se cambie el nombre a . Solo la regla predeterminada del sistema se activará la segunda vez, lo que hará que el nombre se cambie de nuevo a, por ejemplo .

Si está utilizando un dispositivo de red USB (p. ej., Android phone tethering) que tiene una dirección MAC dinámica y desea poder utilizar diferentes puertos USB, puede usar una regla que coincida según el proveedor y el ID del producto:

/etc/udev/rules.d/10-network.rules
SUBSYSTEM=="net", ACTION=="add", ATTRS{idVendor}=="12ab", ATTRS{idProduct}=="3cd4", NAME="net2"

Para probar sus reglas, se pueden activar directamente desde el espacio de usuario, por ejemplo con . Recuerde eliminar primero la interfaz que está intentando cambiar de nombre (por ejemplo ).

Volver a los nombres de interfaz tradicionales

Si prefiere conservar los nombres de interfaz tradicionales como , los nombres de interfaz de red predecibles pueden desactivarse enmascarando la regla udev:

# ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules

Alternativamente, añada a los parámetros del kernel.

Establecer la MTU del dispositivo y la longitud de la cola

Puede cambiar el MTU del dispositivo y la longitud de la cola definiéndolos manualmente con una regla udev. Por ejemplo:

mtu: El uso de un valor superior a 1500 (los llamados tramas jumbo) puede acelerar significativamente sus transferencias de red. Tenga en cuenta que todas las interfaces de red, incluidos los conmutadores de la red local, deben admitir la misma MTU para poder utilizar tramas gigantes. Para PPPoE, la MTU no debe ser superior a 1492. También puede configurar la MTU a través de .

: Valor pequeño para dispositivos más lentos con una latencia alta como enlaces de módem e ISDN. Se recomienda un valor alto para el servidor conectado a través de conexiones a Internet de alta velocidad que realizan grandes transferencias de datos.

Bonding o LAG

Véase netctl o systemd-networkd, o Wireless bonding.

Alias de dirección IP

El alias de IP es el proceso de añadir más de una dirección IP a una interfaz de red. Con esto, un nodo en una red puede tener múltiples conexiones a una red, cada una con un propósito diferente. Los usos típicos son el alojamiento virtual de servidores Web y FTP, o la reorganización de servidores sin tener que actualizar ninguna otra máquina (esto es especialmente útil para los servidores de nombres).

Ejemplo

Para configurar manualmente un alias, para algunas NIC, utilice iproute2:

# ip addr add 192.168.2.101/24 dev enp2s0 label enp2s0:1

Para eliminar un alias determinado:

# ip addr del 192.168.2.101/24 dev enp2s0:1

Los paquetes destinados a una subred utilizarán el alias principal de forma predeterminada. Si la IP de destino está dentro de una subred de un alias secundario, la IP de origen se establece respectivamente. Considere el caso en el que hay más de una NIC, las rutas predeterminadas se pueden listar con .

Modo promiscuo

Cambiar al modo promiscuo hará que una NIC (inalámbrica) reenvíe todo el tráfico que recibe al sistema operativo para su posterior procesamiento. Esto es opuesto al "modo normal" en el que una NIC eliminará tramas que no deba recibir. Se utiliza con mayor frecuencia para la solución avanzada de problemas de red y análisis de paquetes.

Si desea activar el modo promiscuo en la interfaz , active .

Investigar sockets

ss es una utilidad para investigar puertos de red y es parte del paquete iproute2. Tiene una funcionalidad similar a la utilidad obsolleta netstat.

Entre sus usos se incluyen los siguientes:

Mostrar todos los sockets TCP con nombres de servicio:

$ ss -at

Mostrar todos los sockets TCP con números de puerto:

$ ss -atn

Mostrar todos los sockets UDP:

$ ss -au

Para obtener más información, véase .

Solución de problemas

El problema de escalado de la ventana de TCP

Los paquetes TCP contienen un valor de "ventana" en sus encabezados que indica la cantidad de datos que el otro host puede enviar a cambio. Este valor se representa con solo 16 bits, por lo que el tamaño de la ventana es de 64 KiB como máximo. Los paquetes TCP se almacenan en caché durante un tiempo (tienen que reordenarse), y como la memoria es (o solía ser) limitada, un host podría quedarse sin ella fácilmente.

En 1992, a medida que había más y más memoria disponible, se escribió RFC:1323 para mejorar la situación: Escalado de ventana (Window Scaling). El valor de la "ventana", provisto en todos los paquetes, será modificado por un factor de escala definido una vez, al comienzo de la conexión. Ese factor de escala de 8 bits permite que la ventana sea hasta 32 veces mayor que los 64 KiB iniciales.

Parece que algunos enrutadores y cortafuegos defectuosos en Internet están reescribiendo el factor de escala a 0, lo que provoca malentendidos entre los hosts. El kernel de Linux 2.6.17 introdujo un nuevo esquema de cálculo que genera factores de escala más altos, lo que virtualmente hace que las consecuencias de los enrutadores y cortafuegos defectuosos sean más visibles.

La conexión resultante es, en el mejor de los casos, muy lenta o defectuosa.

Cómo diagnosticar el problema

En primer lugar, una aclaración: este problema es extraño. En algunos casos, no podrá utilizar conexiones TCP (HTTP, FTP, ...) en absoluto y en otros, podrá comunicarse con algunos hosts (muy pocos).

Cuando tiene este problema, la salida de dmesg está bien, los registros están limpios y informará el estado normal... y en realidad todo parece normal.

Si no puede navegar por ningún sitio web, pero puede hacer ping en algunos hosts aleatorios, es muy probable que esté experimentando este problema: el ping utiliza ICMP y no se ve afectado por los problemas de TCP.

Puedes intentar utilizar Wireshark. Es posible que vea comunicaciones UDP e ICMP exitosas, pero comunicaciones TCP fallidas (solo con hosts externos).

Mal

Para solucionarlo de la manera incorrecta, puede cambiar el valor de , en el que se basa el cálculo del factor de escala. Aunque debería funcionar para la mayoría de los hosts, no está garantizado, especialmente para los muy distantes.

# echo "4096 87380 174760" > /proc/sys/net/ipv4/tcp_rmem
Bien

Simplemente desactive el ajuste de escala de la ventana. Dado que el escalado de ventana es una buena función de TCP, puede resultar incómodo desactivarla, especialmente si no puede reparar el enrutador defectuoso. Hay varias formas de desactivar el escalado de ventana, y parece que la forma más segura (que funcionará con la mayoría de los kernel) es añadir la siguiente línea a /etc/sysctl.d/99-disable_window_scaling.conf (véase también sysctl):

net.ipv4.tcp_window_scaling = 0
Mejor

Este problema es causado por enrutadores/cortafuegos defectuosos, así que permítanos cambiarlos. Algunos usuarios informaron que el enrutador defectuoso era su propio enrutador DSL.

Más sobre eso

Esta sección se basa en el artículo de LWN Escalado de ventana TCP y enrutadores averiados y un artículo archivado de Kernel Trap: Escalado de ventana en Internet.

También hay varios hilos relevantes en LKML.

La segunda computadora conectada no puede utilizar el puente LAN

La primer computadora tiene dos LAN. La segunda computadora tiene una LAN y está conectada a la primera. Vayamos a la segunda para dar todo el acceso a la LAN después de la interfaz puenteada:

# sysctl net.bridge.bridge-nf-filter-pppoe-tagged=0
# sysctl net.bridge.bridge-nf-filter-vlan-tagged=0
# sysctl net.bridge.bridge-nf-call-ip6tables=0
# sysctl net.bridge.bridge-nf-call-iptables=0
# sysctl net.bridge.bridge-nf-call-arptables=0

localhost se resuelve a través de la red

nss-myhostname(8) (un módulo NSS proporcionado por systemd y activado de forma predeterminada en ) proporciona y la resolución del nombre de host local a una dirección IP. Sin embargo, algunos programas aún pueden leer directamente; véase para ver ejemplos.

Para evitar que dicho software resuelva localhost de forma no segura en la red, añada entradas para al archivo hosts(5):

predeterminado.

Para permitir la resolución del nombre de host local, puede añadirlo adicionalmente al archivo hosts(5):

Para un sistema con una dirección IP permanente, reemplace con esa dirección IP permanente. Para un sistema con un nombre de dominio completo, incluya el nombre de dominio completo antes del nombre de host (véase el siguiente enlace para conocer el razonamiento). Por ejemplo:

Como resultado, el sistema resuelve ambas entradas:

$ getent hosts
127.0.0.1       localhost
127.0.0.1       localhost
127.0.1.1       ''minombredehost''

Véase también

gollark: https://cdn.discordapp.com/attachments/834836108000886805/890803443969695764/aefba502f46e5f061416b2ec54f266baffdfed94ef5f00c425b6ebd48579282c_1.mp4
gollark: You can see what it's turned us into. It's best avoided.
gollark: This is the esolangs discord server.
gollark: OH APIOFORMS, it isn't starting up again somehow?
gollark: I am compiling nginx and you cannot, naturally, hope to flee.
This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.