Ir al contenido principal

Servidor Ubuntu

Herramienta Netplan y Configuración de Servidores

Todo dentro del modo Red Nat de VirtualBox.

1. Configuración de Red con Netplan

  • Editar archivo de configuración:
# Abrir editor
sudo nano /etc/netplan/archivo.yaml

Estructura básica del archivo .yaml:

network:
  version: 2
  ethernets:
    enp0s3:
      dhcp4: no
      addresses:
        - 10.0.2.10/24
      routes:
        - to: default
          via: 10.0.2.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4
  • Para aplicar los cambios y revisar la IP:
sudo netplan apply
ip a

2. Configuración de DHCP-Server

Pasos tras la instalación del servicio:

  • Configurar archivo principal: sudo nano /etc/dhcp/dhcpd.conf
authoritative; # Colocar antes del server de VBox

subnet 10.0.2.0 netmask 255.255.255.0 {
  range 10.0.2.50 10.0.2.100;
  option routers 10.0.2.10;
  option domain-name-servers 8.8.8.8, 8.8.4.4;
  default-lease-time 600;
  max-lease-time 7200;
}
  • Definir interfaz: sudo nano /etc/default/isc-dhcp-server
INTERFACESv4="enp0s3"
INTERFACESv6=""

Comandos de gestión DHCP:

# Verificar sintaxis
sudo dhcpd -t -cf /etc/dhcp/dhcpd.conf

# Control del servicio
sudo systemctl stop isc-dhcp-server
sudo systemctl restart isc-dhcp-server
sudo systemctl status isc-dhcp-server

# Monitoreo de logs e IPs entregadas
sudo tail -f /var/log/syslog | grep dhcpd
cat /var/lib/dhcp/dhcpd.leases

Habilitar reenvío de IP (IP Forwarding):

sudo sysctl -w net.ipv4.ip_forward=1
# Para persistencia, editar /etc/sysctl.conf y quitar el # en:
net.ipv4.ip_forward=1

3. Configuración de SAMBA

  • Preparar directorios y permisos:
sudo mkdir -p /srv/samba/usuario1
sudo chown usuario1:usuario1 /srv/samba/usuario1
  • Configurar el recurso compartido: sudo nano /etc/samba/smb.conf
[Carpeta_U1]
   path = /srv/samba/usuario1
   browseable = yes
   read only = no
   valid users = usuario1
   hosts allow = 10.0.2.50
   hosts deny = 0.0.0.0/0
  • Gestión y acceso:
sudo systemctl restart smbd nmbd
sudo smbstatus
# Acceder desde cliente Linux
smbclient //localhost/Carpeta_U1 -U usuario1

4. Configuración VirtualBox y Acceso Windows

  • Red NAT Privada: Crear red en VirtualBox (ej. ExamenNet) con CIDR coincidente (10.0.2.0/24).
  • Acceso desde Windows (Puerto 445):
    1. En Windows: Detener servicio "Servidor" (LanmanServer) en services.msc.
    2. En VirtualBox: Mapear puerto anfitrión 445 a invitado 445.
    3. Entrar mediante: \\127.0.0.1\Carpeta_U1

5. Servidor Web Apache

# Instalación
sudo apt install apache2 -y
sudo systemctl status apache2

# Firewall para web
sudo ufw allow 'Apache'

6. Seguridad: Firewall UFW

sudo ufw enable
sudo ufw default deny incoming

# Abrir puertos necesarios
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 445/tcp
sudo ufw allow 67/udp
sudo ufw allow 'Apache'

# Revisar estado
sudo ufw status verbose

7. Gestión de Usuarios y Grupos

# Usuarios y Grupos
adduser NombreUsuario
groupadd NombreGrupo
usermod -aG NombreGrupo NombreUsuario
gpasswd -d NombreUsuario NombreGrupo

# Permisos y Dueños
chgrp NombreGrupo directorio
chown NombreUsuario directorio
chmod XXX directorio

# Auditoría
sudo -l -U NombreUsuario
cat /etc/passwd

Comentarios

Entradas populares de este blog

Comunicación USB para WSL2 con Windows 11

Conexión USB en WSL2 con USBIPD Instalar USBIPD como Administrador en PowerShell winget install --id=dorssel.usbipd-win -e Configurar el PATH si no se detecta el software al invocar usbipd $folder = 'C:\Program Files\usbipd-win' $current = [Environment]::GetEnvironmentVariable('Path','User') if (-not $current.Split(';') -contains $folder) { [Environment]::SetEnvironmentVariable('Path', "$current;$folder", 'User') } Comprobar la versión usbipd --version Listar los puertos en uso usbipd list Compartir el dispositivo Sabiendo el puerto que se desea usar, ahora lo compartimos. Para ello, conecte y desconecte el dispositivo para identificarlo: usbipd bind --busid 2-2 Al detectar qué puerto se quiere pasar a WSL y conociendo el nombre de la máquina, ejecutamos: usbipd attach --busid 2-2 --wsl Debian El nombre de la máquina se puede ver en PowerShell haciendo: wsl -l -v Si la...

Solución de Error "fno-tree-switch-conversion" de clangd con Xtensa-elf-g++ en sistemas GNU/Linux Debian x86_64

Esta solución ha sido probada en el microcontrolador ESP32 (Espressif) Requisitos previos GNU++11 como estándar del core PlatformIO Core 6.1.18 o superior curl 8.14.1 o superior (o alternativamente wget 1.25.0 o superior) Python 3.13.5 o superior Carpeta de instalación .platformio en /home/USUARIO/ Vim 9.2.1 o Neovim 0.11.5 o superior LazyVim (opcional) Mason.nvim 2.2.1 o superior clangd 21.1.8 o superior Creación de un proyecto en PlatformIO para ESP32 Pico Crear la carpeta del proyecto mkdir -p proyecto1 cd proyecto1/ pio --boards list | grep esp32 pio project init --board pico32 --ide vim pio run -t compiledb Correcion de error fno-tree-switch-conversion con archivo yaml El compilador Clangd necesita de el compile_commands.json para encontrar las rutas que establece el compilador de Xt...