Configuración básica en Ubuntu 20.04 server

per Victor Carceler darrera modificació 2023-09-23T12:10:08+02:00

Una vez importada la máquina virtual será necesario realizar una configuración básica que incluya:netplan_design_overview.png

Configuración de la red en el sistema operativo con Netplan

Ubuntu 20.04 utiliza Netplan para configurar la red en el sistema operativo. Netplan configura los parámetros de red del host a partir de ficheros de configuración YAML.

El directorio de configuración de Netplan es: /etc/netplan

En su interior el instalador de Ubuntu habrá dejado el fichero de configuración diferente según se trate de la versión de escritorio o de servidor.

Sistema operativo Fichero de configuración en /etc/netplan Backend
Ubuntu 20.04 Desktop 01-network-manager-all.yaml NetworkManager
Ubuntu 20.04 Server 00-installer-config.yaml Systemd-network

En estos ficheros es muy importante utilizar espacios para sangrar los elementos del fichero de forma adecuada. Netplan puede utilizar NetworkManager o Systemd-network. En la versión de escritorio se utiliza el primero y en la de servidor el segundo.

En Ubuntu 20.04 Server resulta muy sencillo especificar que una interfaz de red debe configurarse automáticamente mediante DHCP.

# This is the network config written by 'subiquity'
network:
ethernets:
enp0s3:
dhcp4: true
version: 2

Y también especificar una configuración de red con un IP fija.

# This is the network config written by 'subiquity'
network:
ethernets:
enp0s3:
dhcp4: false
addresses: [192.168.1.254/24]
gateway4: 192.168.1.1
nameservers:
addresses: [192.168.1.1]
version: 2

Cuando se haya editado de configuración de Netplan se puede:

  • Utilizar el comando netplan apply para aplicar la configuración. Si se detecta algún error en el fichero se indicará.
  • Reiniciar la máquina para que arranque con la nueva configuración. Si hay algún error en la configuración de Netplan la máquina arrancará sin configurar la red.

Se puede obtener más información sobre Netplan en: https://netplan.io/

Directiva routes en lugar de gateway4

Las versiones actuales desaconsejan el uso de la directiva gateway4. En su lugar se aconseja el uso de la directiva routes que permite añadir la ruta por defecto o cualquier otra ruta.

En este caso, la configuración anterior podría ser:

# This is the network config written by 'subiquity'
network:
  version: 2
  ethernets:
    enp0s3:
      dhcp4: false
      addresses: [192.168.1.254/24]
      routes:
        - to: default
          via: 192.168.1.1
      nameservers:
              addresses: [192.168.1.1]

Nombre de equipo: hostname

En un equipo de red conviene configurar el nombre de equipo (hostname) para poder identificar de manera adecuada al equipo.

Fichero de configuración: /etc/hostname

Bastará con editar el fichero y escribir el nuevo nombre del equipo.

Las herramienta hostname muestra el valor actual:

usuario@laika:~$ hostname
laika
usuario@laika:~$

Y la herramienta hostnamectl permite consultar y modificar el hostname y otras informaciones relacionadas.

usuario@laika:~$ hostnamectl
Static hostname: laika
Icon name: computer-laptop
Chassis: laptop
Machine ID: 42b940a893ab4089912138fe2f0a751b
Boot ID: 0923046719e449eb943a7863b4b8d1c2
Operating System: Ubuntu 20.04.1 LTS
Kernel: Linux 5.4.0-48-generic
Architecture: x86-64
usuario@laika:~$

Finalmente vale la pena recordar que el fichero /etc/hosts contiene una lista estática de nombres para algunas direcciones de red. Si se cambia el hostname se deberá actualizar este fichero.

127.0.0.1 localhost
127.0.1.1 laika

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Configuración de la zona horaria

Los equipos Unix suelen tener su reloj con la hora UTC y además tienen configurada la zona horaria para poder mostrar al usuario la hora local. Si un equipo no tiene bien configurada la zona horaria se mostrará una hora equivocada al usuario.

En Ubuntu (que es un derivado de Debian) se puede configurar la zona horaria con el comando: dpkg-reconfigure tzdata

Una vez configurada la zona horaria el comando date mostrará la hora indicando la zona horaria utilizada:

usuario@laika:~$ date
lun 28 sep 2020 19:30:31 CEST
usuario@laika:~$

El comando timedatectl mostrará la configuración relacionada con la fecha y la hora del equipo.

usuario@laika:~$ timedatectl 
Local time: lun 2020-09-28 19:32:12 CEST
Universal time: lun 2020-09-28 17:32:12 UTC
RTC time: lun 2020-09-28 17:32:12
Time zone: Europe/Madrid (CEST, +0200)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
usuario@laika:~$

En la salida de este comando se puede apreciar que se está utilizando el protocolo NTP para sincronizar la hora del equipo con una referencia horaria a través de la red.

El comando timedatectl timesync-status nos mostrará información sobre la sincronización horaria con NTP.

vcarceler@baba-yaga-2004-v2:~$ timedatectl timesync-status
       Server: 192.168.0.10 (192.168.0.10)      
Poll interval: 34min 8s (min: 32s; max 34min 8s)
         Leap: normal                           
      Version: 4                                
      Stratum: 2                                
    Reference: C035676C                         
    Precision: 1us (-23)                        
Root distance: 22.086ms (max: 5s)               
       Offset: +615us                           
        Delay: 914us                            
       Jitter: 559us                            
 Packet count: 567                              
vcarceler@baba-yaga-2004-v2:~$

Si se quiere configurar un servidor NTP se puede utilizar chrony: Introducción a NTP con chrony.

Actualizaciones automáticas

En Ubuntu 20.04 hay un sistema que aplica automáticamente actualizaciones de seguridad. Esta es una práctica conveniente y en una máquina en producción conviene dejar activadas las actualizaciones automáticas de seguridad.

Pero en el aula, cuando únicamente se quiere realizar una práctica resulta molesto intentar instalar un paquete y descubrir que no se puede porque se están realizando actualizaciones automáticas. Así que probablemente en el aula resulte conveniente desactivar las actualizaciones automáticas.

Afortunadamente es muy sencillo. Será suficiente con editar el fichero /etc/apt/apt.conf.d/20auto-upgrades y dejar su contenido tal y como se muestra:

APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Unattended-Upgrade "0";