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

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...

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...