Cómo configurar la red en Ubuntu 18.04 y derivados

Como habrás notado, la configuración de red en Ubuntu 18.04 ha cambiado. /etc/network/interfaces ya no es el archivo que se utiliza para configurar tus interfaces de red.

Veremos cómo configurar las tarjetas de red desde linea de comandos.

Esto es lo que aprenderemos:

  • Herramienta Netplay y archivos de configuración.
  • Modificación del archivo de configuración yaml y algunos ejemplos.
  • Aplicar las modificaciones hechas en la configuración.

Este artículo habla sobre la configuración a través de networkd, lo que es especialmente útil para configuraciones desde linea de comando.

Si estás en un entorno de escritorio, tendrás instalado con toda probabilidad network-manager, por lo que utiliza la herramienta gráfica para configurar la red.

Herramienta Netplay y archivos de configuración

La herramienta que debemos usar es «netplan».

Esta herramienta utiliza archivos de configuración en /etc/netplan, ahí podrás encontrar el arhivo en formato yaml.

Si no hay ningún archivo, o necesitas generar uno nuevo, puedes hacerlo con:

netplan generate

Modificación del archivo de configuración yaml y algunos ejemplos

Esta es la configuración típica en una máquina Ubuntu 18.04, editamos /etc/netplan/01-netcfg.yaml:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: yes
    enp0s8:
      dhcp4: no
      dhcp6: no
      addresses: [192.168.56.23/24]

Se puede ver fácilmente el patrón de configuración.

Vemos 2 ejemplos típicos de configuración.

IP Estática con gateway y DNS (nameserver)

En este caso, la IP que queremos poner es 192.168.56.23 con máscara de subred 255.255.255.0, con puerta de enlace 192.168.56.1 y servidores de DNS 192.168.56.1 y 8.8.8.8:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: no
      dhcp6: no
      addresses: [192.168.56.23/24]
      gateway4: 192.168.56.1
      nameservers:
        addresses: [192.168.56.1,8.8.8.8]

IP Dinámica – DHCP

Sencillo, configuración por DHCP.

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
	  dhcp4: yes

Aplicar las modificaciones hechas en la configuración

Hay 2 formas de aplicar los cambios realizados: la primera usando la herramienta netplan, la segunda reiniciando el demonio de networkd.

Usando Netplan

sudo netplan apply

Reiniciando el demonio networkd

systemctl status systemd-networkd

6 opiniones en “Cómo configurar la red en Ubuntu 18.04 y derivados”

  1. Pues nada yo no consigo añadir un dns que tengo en una maquina de mi red a ubuntu de ninguna de las mil formas que he intentado

    1 intente con fichero resolv.conf y no me va.
    2 intente con netplan, tampoco me va
    3 intente metiendo entradas nameservers en el fichero interfaces y tampoco
    4 intento configurarlo desde el entorno grafico (es gnome en ubuntu 18.04.01) pero no tengo nada desde la configuracion, me aparece solo vpn y proxy y nada para configurar la red cableada

    y ya no se por donde mas continuar, con lo facil que era antes y ahora lo complican si que hubo un momento que funciono con netplan creo que fue (ya ni me acuerdo) lo que se es que funciono recien reiniciado el equipo hice un ping a un servidor dentro de mi red y funciono probe desde el navegador y no lo encontraba y probe de nuevo en la terminal y dejo de encontrarlo.

    1. Revisa la configuración del adaptador con

      systemd-resolve --status
      

      Para saber los servidores DNS que tienes configurados.

      Por otro lado puedes probar la resolución DNS con ‘dig’, especificando el servidor DNS que quieres usar. Por ejemplo, si tu servidor DNS es 192.168.0.1:

      dig @192.168.0.1 google.com
      

      De esta manera podrás saber al menos donde está el problema.

      Por último, si tienes un servidor DNS propio probaría a configurar sólo ese servidor en tus sistemas clientes, no incluyas ningún otro servidor DNS.

      1. hola Admin_total,
        También tengo el mismo problema que tigreci y he usado como has dicho los comandos systemmd-resolve status y dig, siendo este el resultado:
        endi@mipark:~$ systemd-resolve status
        status: resolve call failed: No appropriate name servers or networks for name fo und
        endi@mipark:~$ dig @8.8.8.8 google.com

        ; <> DiG 9.11.3-1ubuntu1.7-Ubuntu <> @8.8.8.8 google.com
        ; (1 server found)
        ;; global options: +cmd
        ;; Got answer:
        ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45443
        ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

        ;; OPT PSEUDOSECTION:
        ; EDNS: version: 0, flags:; udp: 512
        ;; QUESTION SECTION:
        ;google.com. IN A

        ;; ANSWER SECTION:
        google.com. 299 IN A 172.217.16.238

        ;; Query time: 33 msec
        ;; SERVER: 8.8.8.8#53(8.8.8.8)
        ;; WHEN: Sat Apr 27 08:05:56 UTC 2019
        ;; MSG SIZE rcvd: 55

        endi@mipark:~$ nslookup 8.8.8.8
        ** server can't find 8.8.8.8.in-addr.arpa: SERVFAIL

        Como curiosidad decir que si modifico el archivo yaml y pongo la interfaz en modo dhcp si es capaz de resolver los nombres. Te agradecería que me aclararas esto
        La verdad es que no saco nada en claro y estoy con tigreci cuando dice que con ifdownup era más "sencillo", aunque ya sabemos que la informática es actualización constante!!!!

        muchas gracias de antemano y un saludo

        1. Me autorrespondo yo mismo.
          En modo DHCP, tenía claro que dentro de mi red es el router (que contiene un servidor dhcp) el que asigna las ips, pero no sabía que también contiene un servidor dns, y era éste el que resolvía las direcciones. En cuanto he metido la ip del router en el archivo yaml en el apartado nameservers, probando con nslookup y ping, se ve que lo resuelve perfectamente.

          1. Que tal amigo, entonces con eso resolviste el problema?
            Ya que tengo el mismo error con dhcp me va perfecto pero no ip estatica no

          2. Hola Eduardo,
            Si te funciona correctamente con DHCP pero configurando IP estática no te funciona correctamente es porque alguno de los datos que especificas es incorrecto. Revisa bien la IP que utilizas, la máscara de red, la puerta de enlace y uno o más servidores DNS.

            Un truco puede ser configurar con DHCP y revisar los valores asignados por el servidor DHCP.

            Con «ip link show» verás la IP configurada y la máscara (en siguiente ejemplo la máscara es 24, equivalente a 255.255.255.0), asumiendo que usas IPv4 verás algo así

            inet 192.168.0.223/24
            

            Con «ip route show» verás la puerta de enlace o gateway, fíjate en la IP que especifica en «default via»

            default via 192.168.0.87 dev wlp2s0 proto dhcp metric 600 
            

            Y como ponía arriba usa «systemd-resolve –status» para ver los dns que usas. Fíjate al final de la salida, aparecerán los servidores DNS que estás usando.

            Con todos los datos correctos, prueba a configurar la red usando una configuración estática según se indica en el artículo, en la sección «IP Estática con gateway y DNS (nameserver)».

            Saludos

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *