Trace: network_manager

NetworkManager

NetworkManager es una herramienta muy útil para la administración de redes, se ha vuelto, sin ser, un estándar en las distribuciones GNU/Linux, en especial RedHat y sus derivadas y Debian y sus derivadas.

Con NetworkManager podemos:

  • Realizar la configuración de redes Ethernet
  • Realizar la configuración de redes Wireless
  • Realizar la configuración de VPN
  • Realizar la configuración de hardware de banda ancha

NetworkManager puede ser administrado con tres herramientas:

  • nm-pplet: es la implementación gráfica, permitiendo un modo amigable de configurar las redes, es importante indicar que este applet está pensado para utilizarse en ambientes basados en GTK y Gnome… por lo que otros proyectos han creado su propia implementación visual de un GUI para NetworkManager
  • nmtui: esta es una interfaz basada en texto muy amigable, que permite con menús y asistentes, configurar las redes
  • nmcli: esta es una basada en la línea de comandos que permite configurar la red mediante comandos, es útil para configurar scripts que permitan hacer configuraciones desatendidas o para que su servidor se sienta feliz usándolo. Una de las mayores ventajas es que permite que de manera homogénea sin importar en cual versión de GNU/Linux se trabaje, los comandos a utilizar son los mismos.

En este artículo daremos énfasis a la última.

NetworkManager maneja ciertos conceptos que es necesario entender, el fin de este artículo no es mencionarlos todos, sólo lo básico para configuraciones sencillas.

  • Dispositivos (device): son el hardware con el cual vamos a trabajar.
    • Tipos de dispositivos: los dispositivos pueden varias, unos puede ser Ethernet, para conexiones cableadas, Wireless o Virtuales, entre otros.
  • Conexiones (connection): cada dispositivo puede tener varias conexiones, el caso mas sencillo que podemos plantear es el las redes inalámbricas, la tarjeta de red wireless es única, usted cuando se conecta en la red de su casa configura una conexión específica para ella, pero si va a su trabajo, deberá crear otra conexión con la configuración específica para esta, y así con cualquier otra conexión a la cual necesite conectarse.
  • ipv4: son todas las configuraciones posibles que se pueden realizar para la utilización del protocolo ipv4, por ejemplo la utilización de DHCP, ips fijas, DNS estáticos entre otros.
  • ipv6: lo mismo que lo anterior pero aplicado a conexiones ipv6.

A continuación… y si este wiki es una receta… algunos casos de uso.

Configuración de una red Ethernet

Valide el estado de los dispositivos:

$ nmcli dev

La salida del comando anterior es similar a la siguiente:

DEVICE      TYPE      STATE        CONNECTION
virbr0      bridge    connected    virbr0
tunsnx      tun       connected    tunsnx
wlp3s0      wifi      connected    Guest
enp0s25     ethernet  unavailable  --
lo          loopback  unmanaged    --
virbr0-nic  tun       unmanaged    --

A partir de Debian 7 y RedHat 7, mas específicamente de systemd/udev v197, las interfaces de red ya no se llamarán ethX, ethY de manera predeterminada, sino que se les asigna un nombre predecible y estable, en las referencias puede encontrar mas información, tal y como se puede apreciar nuestra interfaz de red cableada se llama enp0s25, mientras que la interfaz de red inalámbrica se llama wlp3s0 y por supuesto tenemos el loopback que siempre se llamara lo, en este ejemplo existen otras interfaces del tipo puente y del tipo tunel.

Vamos a tomar la conexión de red enp0s25, por lo que va a ir en todos los ejemplos, cámbiela según corresponda.

Puede revisar las conexiones actuales

$ nmcli con 

Lca salida del comando anterior es similar a la siguiente:

[root@localhost ~]# nmcli con
NAME  UUID                                  TYPE            DEVICE
ens3  7c63b889-ed5b-4aa6-9078-55d12416b245  802-3-ethernet  ens3

Para simplificar las cosas… vamos a eliminar cualquier conexión que tengamos:

$ sudo nmcli con del ens3

Para crear la conexión, de la manera sencilla, la cual es con DHCP siga los siguientes pasos:

$ sudo nmcli con add con-name ens3 ifname ens3 type ethernet autoconnect yes

Desgranando los parámetros del comando tenemos:

  • con: vamos a trabajar con una conexión
  • add: vamos a agregar una conexión
  • con-name: el nombre de la conexión, la recomendación es que para interfaces de red cableadas se use el nombre del dispositivo y en el caso de interfaces de red inalámbrias el SSID de la red. El nombre de la conexión es algo libre y puedes poner lo que desees pero será mas fácil de entender si se sigue un estándar.
  • ifname: nombre del dispositivo
  • type: tipo de conexión
  • autoconnect: esto permite levantar la interfaz al reiniciar el equipo, si esto no se configura al reiniciar el servidor… no habrá direccionamiento IP.

Para configurar una IP estática siga el siguiente ejemplo

$ sudo nmcli con add type ethernet con-name ens3 ifname ens3 ip4 192.168.122.144/24 gw4 192.168.122.1

Tenemos un par de amigos mas:

  • ip4: la IP de la conexión
  • gw4: el gateway

La configuración se puede realizar toda la configuración en un sólo comando, pero para efectos didácticos vamos a agregar la configuración de los DNS. Siga el siguiente ejemplo:

$ sudo nmcli con mod ens3 ipv4.dns "208.67.222.222 208.67.220.220"

Igualmente para fines didácticos vamos a subir y bajar la conexión con el fin de activar la resolución de nombres:

$ sudo nmcli con down ens3
$ sudo nmcli con up ens3

Puede validar la configuración de la IP con el siguiente comando:

$ ip a

Referencias

network_manager.txt · Last modified: 2016/05/12 11:24
Public Domain Except where otherwise noted, content on this wiki is licensed under the following license: Public Domain