6-Configuración de Acceso a Internet y IP Estática en Ubuntu Server

 

Configuración de Acceso a Internet y IP Estática en Ubuntu Server

Este tutorial te guiará para configurar tu Ubuntu Server 20.04 en VirtualBox con una IP estática y acceso a Internet, lo que es esencial para actualizaciones e instalación de herramientas como Docker, además de permitir el acceso SSH desde tu host.

1. Configuración del Adaptador de Red en VirtualBox

Antes de cambiar la configuración de red dentro del sistema operativo invitado, debemos configurar el tipo de adaptador de red en VirtualBox para que pueda acceder a la red física de tu computadora.

  1. Apaga la máquina virtual. Puedes hacerlo desde la terminal del servidor usando el comando:

    Bash
  2. Una vez apagada, ve a la configuración de la máquina virtual: Settings (Configuración) $\rightarrow$ Network (Red).

  3. En la pestaña Adapter 1 (Adaptador 1), asegúrate de que esté habilitada.

  4. Cambia el campo Attached to: (Conectado a:) a Bridge Adapter (Adaptador Puente).

  5. Haz clic en OK y luego inicia la máquina virtual.

2. Obtener Información de la Red Local (Host)

Necesitas conocer el rango de direcciones IP de tu red local, tu Gateway por defecto (Puerta de enlace) y la Máscara de subred (aunque esta se definirá con el CIDR /24).

  1. Abre la Línea de comandos (CMD) en tu sistema operativo Host (tu computadora local).

  2. Ejecuta el comando ipconfig (en Windows) o ip addr (en Linux/macOS).

    • Dato Clave: Busca la dirección IP y el Default Gateway. En el ejemplo, la red es 192.168.1.x y el Gateway es 192.168.1.1.

    • IP que Asignaremos: Debes elegir una IP estática que esté dentro de este rango (192.168.1.x) pero que sepas que no está siendo utilizada por otro dispositivo. En este caso, se elige 192.168.1.208.

3. Identificar el Nombre de la Interfaz de Red (VM)

En Ubuntu Server, las interfaces de red tienen nombres predecibles como eth0 o nombres más largos y específicos como enp0s3 por seguridad.

  1. Inicia sesión en tu máquina virtual.

  2. Ejecuta el comando para listar las interfaces de red:

    Bash
  3. Busca la interfaz que tiene el estado DOWN (en el ejemplo es la número 2).

    • Identificación: En la imagen, se llama enp0s3. Este es el nombre que usaremos en el archivo de configuración de Netplan.

4. Edición del Archivo de Configuración de Netplan

Ubuntu Server utiliza Netplan para configurar la red. El archivo de configuración se encuentra en /etc/netplan/.

Navegar al Directorio Raíz (/)

Para ir al directorio raíz del sistema de archivos, usa el comando cd (Change Directory) seguido de una barra inclinada (/):

Bash
cd /
Comprobación: Después de ejecutarlo, tu prompt cambiará
 para mostrar que estás en la raíz: sotelo@server:/$.

2. Navegar a /etc/netplan/
Puedes ir directamente a cualquier 
ruta absoluta desde donde estés. 
Usa el comando cd seguido de la ruta completa:

Bash

cd /etc/netplan/
Comprobación: Después de ejecutarlo, 
tu prompt mostrará el nuevo directorio: 
sotelo@server:/etc/netplan$.

  1. Navega al directorio de Netplan:

    Bash
  2. Lista los archivos para encontrar el archivo .yaml de configuración (en el ejemplo: 00-installer-config.yaml): ```bash

    ls

  3. Edita el archivo usando nano con privilegios de administrador:

    Bash
sudo nano 00-installer-config.yaml

  1. Edita el archivo con la siguiente configuración, asegurándote de usar dos espacios de indentación consistentemente (los archivos YAML son sensibles a esto):

    • Reemplaza enp0s3 con el nombre de tu propia interfaz si es diferente.

    • Reemplaza las direcciones IP con las que correspondan a tu red local.

    YAML
    • dhcp4: false: Desactiva la obtención automática de IP.

    • addresses: [192.168.1.208/24]: Establece la IP estática y la máscara de subred (/24 es equivalente a 255.255.255.0).

    • gateway4: 192.168.1.1: Especifica la Puerta de enlace por defecto.

    • nameservers:: Define los servidores DNS (aquí se usan los de Google).

  2. network:
      version: 2
      ethernets:
        enp0s3:
          dhcp4: false
          addresses: [192.168.1.71/24]
          gateway4: 192.168.1.1
          nameservers:
            addresses: [8.8.8.8, 8.8.4.4]

    Explicación de la configuración:

    • Interfazenp0s3 (tarjeta de red Ethernet)

    • IP estática192.168.1.71/24 (máscara 255.255.255.0)

    • Gateway192.168.1.1 (router)

    • DNS: Servidores de Google (8.8.8.8 y 8.8.4.4)

    • DHCP: Desactivado



network:
  version: 2
  ethernets:
    enp0s3:
      dhcp4: false
      addresses: [192.168.1.71/24]
      routes:
        - to: default
          via: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]
*******************************
# network: # version: 2 # ethernets: # enp0s3: # dhcp4: false # addresses: [192.168.1.100/24] # routes: # - to: default # via: 192.168.1.254 # nameservers: # addresses: [8.8.8.8, 1.1.1.1]

  1. Guarda el archivo: Presiona Ctrl+O, luego Enter.

  2. Sale del editor nano: Presiona Ctrl+X.

Ejecuta el siguiente comando con privilegios de administrador:

Bash

sudo netplan apply

2. Verificar la Sintaxis de Netplan (Validación)
Si sudo netplan apply no funciona, es posible que el archivo 00-installer-config.yaml tenga un error de sintaxis YAML.

Puedes verificar la sintaxis del archivo antes de aplicarlo con el comando netplan try. Este comando te permite probar la configuración y revertirla si pierdes la conectividad.

Bash

sudo netplan try

Si no tienes acceso a la IP estática después de aplicar la configuración:

Reinicia tu máquina virtual (a veces es necesario para que la configuración surta efecto completamente):

Bash

sudo reboot
Una vez reiniciado, vuelve a verificar la dirección IP con ip addr.

5. Aplicar la Nueva Configuración

Una vez guardado, debes aplicar la configuración usando Netplan.

  1. Aplica la configuración con el siguiente comando:

    Bash
  2. Verifica que la dirección IP se haya asignado correctamente:

    Bash

    Deberías ver la dirección 192.168.1.208 asignada a tu interfaz (enp0s3).

6. Verificar Acceso a Internet

Finalmente, prueba la conectividad a Internet para asegurarte de que todo funciona correctamente.

  1. Haz ping a un sitio web externo:

    Bash

    Si ves respuestas, ¡significa que tu servidor tiene acceso a Internet!

Ahora tu Ubuntu Server tiene una IP estática (192.168.1.208 en el ejemplo) y acceso a Internet, lo que te permite acceder a él vía SSH desde tu máquina local y realizar actualizaciones e instalaciones.

Opción 1: Deshabilitar IPv6 a nivel de Kernel (Recomendado para servidores solo IPv4)

  1. Edita el archivo sysctl para la configuración del kernel:

    Bash
    sudo nano /etc/sysctl.conf
    
  2. Agrega o descomenta las siguientes líneas al final del archivo para deshabilitar IPv6 en tu interfaz de red (enp0s3):

    Ini, TOML
    # Deshabilitar IPv6 en todas las interfaces
    net.ipv6.conf.all.disable_ipv6 = 1
    # Deshabilitar IPv6 en la interfaz enp0s3
    net.ipv6.conf.enp0s3.disable_ipv6 = 1
    # Deshabilitar la loopback de IPv6
    net.ipv6.conf.lo.disable_ipv6 = 1
    
  3. Aplica los cambios inmediatamente (no requiere reiniciar):

    Bash
    sudo sysctl -p
    
  4. Prueba el ping normal:

    Bash
    ping www.google.com
    

    Ahora, el sistema solo intentará hacer ping usando IPv4 y debería funcionar sin necesidad del -4.


La Solución Correcta: Deshabilitar la Función IPv6

Basado en que tu Netplan está configurado solo con IPv4 y que el ping -4 a Google funciona perfectamente, debes indicarle al kernel que ignore IPv6 en tu MV.

Pasos para Deshabilitar IPv6

  1. Edita el archivo sysctl.conf de nuevo:

    Bash
    sudo nano /etc/sysctl.conf
    
  2. Descomenta la línea que activaste y agrega las siguientes tres líneas para deshabilitar IPv6:

    Línea que DEBES eliminar/comentarLíneas que DEBES agregar
    # net.ipv6.conf.all.forwarding = 1

    net.ipv6.conf.all.disable_ipv6 = 1


    net.ipv6.conf.enp0s3.disable_ipv6 = 1


    net.ipv6.conf.default.disable_ipv6 = 1

    Tu archivo debe verse así en esa sección:

    Ini, TOML
    # net.ipv4.ip_forward=1
    
    # Uncommend the next line to enable packet forwarding for IPv6
    # Enabling this option disables Stateless Address Autoconfigure
    # based on Router Advertisements for this host
    # net.ipv6.conf.all.forwarding = 1 <--- ¡Asegúrate de comentarla de nuevo!
    
    # Deshabilitar IPv6 para solucionar el problema de ping
    net.ipv6.conf.all.disable_ipv6 = 1
    net.ipv6.conf.enp0s3.disable_ipv6 = 1
    net.ipv6.conf.default.disable_ipv6 = 1
    
  3. Aplica los nuevos cambios:

    Bash
    sudo sysctl -p
    
  4. Verifica la conexión:

    Bash
    ping www.google.com
    

Después de estos pasos, tu sistema debería ignorar completamente IPv6. Cuando hagas ping www.google.com, solo recibirá la dirección IPv4 de Google y el ping funcionará sin necesidad del argumento -4.


Comentarios

Entradas más populares de este blog

ejercicios-Crear Carpeta y Archivo de Texto en Ubuntu

Instalar Docker en Ubuntu Server usando docker.io

Tutorial de Carpetas y Directorios en Ubuntu Linux