Configuraciones básicas de Redes en Linux
En este apartado veremos las configuraciones básicas de redes en Linux. Como así también, las herramientas y conocimientos llevados a cabo para una mejor comprensión de trabajo y aplicación de las tecnologías
Table of Contents
ToggleNetwork Manager
Esta es una utilidad de software para simplificar el uso de redes de computadoras en Linux y otros sistemas operativos basados en Unix. El propósito de NetworkManager es configurar la red fácilmente, y permitir a la vez, hacer ajustes manuales. Este programa viene con dos herramientas importantes para realizar configuraciones básicas de redes en Linux. Estos son: nmcli (para visualizar y configurar) y nmtui (para editar y/o activar conexiones y configurar el nombre del host). Muchas distribuciones en Linux utilizan NetworkManager de manera predeterminada.
Comando nmcli
# nmcli
Algunas opciones de este comando:
-v Muestra la versión del programa
-f Especifica la columna
-s Permite mostrar contraseñas
-w Establece el tiempo de espera para finalizar las operaciones
Veamos algunos de sus usos:
Ver el estado de los dispositivos conectados en red. En algunos casos puede aparecer un doble guión en la columna DEVICE indicando que la conexión no está configurada con dicha columna
# nmcli connection show
Ver los parámetros de configuración de dicho dispositivo.
# nmcli device show
Ver propiedades sobre el wifi con respecto al device:
# nmcli -f general,ip4,wifi-properties device show enp0s3
Verificar si algún dispositivo wifi está activado:
# nmcli radio wifi
Cuyo resultado es “enable”,es decir, se encuentra hablitado. En el caso de querer ver una lista de los dispositivos wifi disponibles pondríamos # nmclic device wifi list
Editar una conexión:
#nmcli connection edit nueva
Opciones Relevantes
Modificar una conexión existente:
#nmcli connection modify nueva ipv4.method manual
Luego deberíamos dar de baja a la conexión actual para después dar color a la conexión “nueva”:
nmcli connection down enp0s3 ; nmcli connection up nueva
En el caso de querer agregar una conexión Ethernet:
# nmcli connection add con-name nueva ifname eth0 type ethernet ip4 192.168.1.2/24 gw4 192.168.1.2
Configurar una conexión wireless:
# nmcli device wifi connect –ask EJEMPLO
Comando nmtui
Este comando ofrece una forma gráfica para modificar y/o activar una conexión.
# nmtui
Configuración de red en Debian
Si bien NetworkManager es una herramienta muy útil, aún no cubre todos los escenarios. Por tal motivo, es posible que sea necesario realizar la configuración de manera manual. En tal caso, tendremos que deshabilitar y detener dicho servicio como se muestra a continuación:
# systemctl disable NetworkManager.service
En Debian y sus derivados el archivo para la configuración de interfaces de red es /etc/network/interfaces.
# cat /etc/network/interfaces
Si hemos configurado un servidor y queremos que exista una conexión puente con nuestro host, deberíamos configurar dicho archivo de la siguiente forma:
En el servidor veríamos:
En nuestro host tendríamos:
Parámetros y Descripción
A continuación se describirán los parámetros necesarios para llevar a cabo configuraciones básicas de redes con distribucion Debian en Linux.
PARÁMETRO | DESCRIPCIÓN |
auto | Indica que las interfaces que van a levantarse automáticamente. |
iface | El comando iface identifica la interfaz con la que se va a trabajar. Luego va inet seguido de dhcp ó static. |
address | Dirección IP. |
netmask | Máscara de red. |
network | Dirección de subred. |
gateway | Dirección del gateway. |
hwaddress ether | Mac Address. |
dns-nameservers | Servidores DNS. |
down | Acción al desactivar la interfaz. |
up | Acción al levantar la interfaz. |
Configuraciones de red en Red Hat
En las configuraciones en Red Hat y sus derivados, tienen un archivo por cada interfaz ubicado en /etc/sysconfig/network-scripts/ifcfg-<interfaz>.
Veamos un ejemplo:
# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.1.9
NETMASK=255.255.255.0
NETWORK=192.168.1.0
GATEWAY=192.168.1.1
HWADDR=00:1E:EC:6E:CD:51
Parámetros y Descripción
Al igual que en Debian, las distribucuibes en Red Hat poseen sus propios parámetros para configuraciones básicas de redes en Linux.
PARÁMETRO | DESCRIPCIÓN |
DEVICE | Nombre de la interfaz. |
BOOTPROTO | Puede ser ‘dhcp’ cuando obtendrá la IP mediante un servidor dhcp. Los valores como ‘none’ o ‘static’ es para configuración manual. |
IPADDR | Dirección IPv4. |
NETMASK | La máscara de red. |
NETWORK | Dirección de subred. |
HWADDR | Mac Address. |
GATEWAY | Dirección IP del gateway. |
ONBOOT | Puede ser ‘yes’ o ‘no’, es para activar o desactivar respectivamente la activación de la interfaz durante el arranque o reinicio del servicio de red. |
DNS1 | Dirección IP del DNS primario. |
DNS2 | Dirección IP del DNS secundario. |
DHCP_HOSTNAME | Nombre del host que se desea enviar al servidor DHCP. |
DHCPRELEASE | Puede ser ‘yes’ o ‘1’ para indicarle al servidor que la dirección IP ya no está más en uso al ejecutar ifdown. Para indicar lo contrario es ‘no’ o ‘0’. |
PERSISTENT_DHCLIENT | Si está en ‘yes’ o ‘1’ el cliente dhcp seguirá reintentando hasta obtener una IP. |
DHCLIENT_IGNORE_GATEWAY | Es para hacer el cliente dhcp ignore el parámetro GATEWAY del archivo y use el suministrado por el servidor DHCP (va ‘yes’ o ‘1’ para activar este comportamiento). |
TYPE | TIpo de interfaz. |
IPV6INIT | Habilitar (yes) o deshabilitar (no) IPv6 para la interfaz. |
USERCTL | Va ‘yes’ para permitir que la interfaz sea controlada por un usuario distinto de root. De lo contrario va ‘no’. |
DEFROUTE | De manera predeterminada es ‘yes’ que significa que esta interfaz será la ruta predeterminada. De lo contrario va ‘no’. |
PEERDNS | De manera predeterminada los servidores obtenidos mediante dhcp o usando los parámetros DNS1 o DNS2 modificarán el archivo /etc/resolv.conf (‘yes’). De lo contrario va ‘no’. |
PEERROUTES | Es similar a PEERDNS pero en relación a las rutas. |
Para establecer rutas globales se puede escribir el archivo /etc/sysconfig/network-scripts/static-routes.
Comando ip
Esta herramientas suele ser de uso habitual, no solo para llevar a cabo configuraciones básicas de redes en Linux, sino también para cualquier uso que las requiera. La misma, pertence a la suite iproute2, que nos permite ver las interfaces de red y de más funciones. Por ejemplo:
Señal de la capa física.
mtu.
Disciplina de encolado.
Estado de red.
Modo que tiene para “conectarse”.
Grupo de interfaces al que pertenece.
Longitud de cola de paquetes.
El tipo de enlace.
La dirección MAC.
Con el siguiente ejemplo y la opción addr podremos ver las interfaces de red y nuestra dirección IP.
# ip addr
O por qué no, usar el viejo y querido comando ifconfig.
# ifconfig
Ver las Rutas
# ip route show
Analizaremos línea por línea del ejemplo:
default via 10.0.2.2 dev enp0s3: Significa que la ruta predeterminada será mediante la dirección 10.0.2.2 usando la interfaz enp0s3
10.0.2.0/24 dev enp0s3 proto kernel scope link src 10.0.2.15: Significa que para ir a la red 10.0.2.0/24 se irá mediante la interfaz enp0s3 con protocolo establecido por el kernel durante la autoconfiguración. Además “scope link” es el alcance de la red para rutas unicast y broadcast directas. Finalmente “src 10.0.2.15” es la dirección de origen que usará para esta ruta.
Ver la caché ARP
# ip neighbour show
Dirección IP – interfaz – dirección MAC – estado
El estado puede ser alguno de estos:
- NOARP: Quiere decir que la entrada es válida pero que no se tratará de válidar y se puede borrar cuando su tiempo de vida expire.
- PERMANENT: La entrada es válida permanentemente y se debe borrar explìcitamente.
- REACHABLE: Quiere decir que la entrada es válida hasta que se agote el tiempo de espera.
- FAILED: Significa que no puede encontrar la dirección MAC para la ip.
- STALE: Significa que la dirección es válida, pero ha pasado un cierto tiempo en el que no ha obtenido respuesta, por lo tanto el kernel intentará verificarla cuando haya tráfico hacia o desde esa dirección IP.
- DELAY: El similar, pero anterior a STALE, de igual modo en este caso el kernel está esperando un determinado tiempo.
- NONE: Este es un estado ficticio que se usa al crear una entrada en la tabla o luego de intentar borrarlaantes de que se libere.
- INCOMPLETE: Significa que la línea aun no ha sido validada o resuelta.
- PROBE: Quiere decir que se está probando la dirección MAC.
Ver el nombre del Host
Aquí podemos usar el comando básico hostname. Sin embargo, hoy en día es muy usado el comando hostnamectl
# hostnamectl