Linux · 7 min read · Feb 09, 2026
Linux-Vserver en Debian Sarge
Resumen
Puedes encontrar una versión más fácil de leer de este cómo en 5dollarwhitebox.org.
Citado de 13thfloor.at/vserver/project:
Linux-VServer te permite crear servidores privados virtuales y contextos de seguridad que operan como un servidor Linux normal, pero permiten que muchos servidores independientes se ejecuten simultáneamente en una sola máquina a plena velocidad. Todos los servicios, como ssh, correo, Web y bases de datos, pueden iniciarse en un VPS, sin modificaciones, al igual que en cualquier servidor real. Cada servidor virtual tiene su propia base de datos de cuentas de usuario y contraseña de root y no interfiere con otros servidores virtuales.
Puedes encontrar una presentación sobre Linux-vserver en http://www.linux-vserver.org.
Los dos términos principales que debes conocer son:
- Sistema Host: Este es el servidor físico que “alberga” los sistemas operativos invitados (servidores virtuales).
- Sistema Invitado: Estos son los servidores virtuales que se ejecutan sobre el sistema operativo host.
Preparación
Comienza con una instalación limpia de Debian Sarge 3.1. Se recomienda mantener el sistema host lo más minimalista posible (raramente veo alguna razón para ejecutar más que SSH e iptables).
Paquetes a instalar
Siempre actualiza tu base de datos apt antes de instalar software y actualiza los paquetes actuales:
# apt-get update && apt-get upgrade
Luego necesitamos instalar algunos paquetes básicos:
- util-vserver: Utilidades de usuario para controlar servidores virtuales
- ssh: Esto probablemente ya debería haber sido instalado
- ncurses-base y libncurses5-dev: Necesarios para “make menuconfig” al compilar el kernel.
# apt-get install util-vserver ssh ncurses-base libncurses5-dev
Los Archivos
| /var/lib/vservers | Directorio home para los archivos de vservers |
| /etc/vservers.conf | archivo de configuración básico (no hay mucho que ver allí) |
| /etc/vservers | Contiene los directorios de configuración para cada servidor virtual |
| /usr/sbin/vserver | Utilidad para interactuar, construir, iniciar, detener, entrar, etc. los vservers |
| /bin/vshelper | Otra utilidad para controlar cómo funcionan los vservers |
| /usr/lib/util-vserver | Scripts/principales funciones/etc |
El Kernel
Por favor, ten en cuenta que no he hecho esta sección “A la manera de Debian”. Todo se hizo utilizando un kernel Vanilla de kernel.org. Puedes encontrar buenos enlaces en los comentarios de los usuarios a continuación para otros recursos. Obtén el último Kernel, actualmente la última versión estable de linux-vserver es para el kernel 2.6.12.4.. que es lo que obtenemos:
# cd /usr/src
Obtén el último parche del kernel de linux-vserver.org o 13thfloor.at/vserver:
# wget http://www.13thfloor.at/vserver/s_rel26/v2.0/patch-2.6.12.4-vs2.0.diff.gz
Si ya estás ejecutando un kernel 2.6.x similar, puedes copiar tu configuración actual antes de compilar. Debería estar en algún lugar como “/boot/config-2.6.x”
# cp /boot/config-2.6.X /usr/src/linux-2.6.12.4/.config
Ese último comando es solo si deseas usar una configuración existente… por favor, no intentes usar un archivo de configuración 2.4.X… por favor.
Ok, hagamos que esto suceda. Hay algunas cosas que deseas incluir cuando compilamos. Primero lo primero, necesitas tener una compilación funcional para tu sistema… y eso no puedo ayudarte. Por favor, consulta el enlace si necesitas ayuda para compilar un kernel.
# make menuconfig
Para uso futuro, probablemente deberías incluir LVM (y soporte de dev-mapper)… ya que esto es útil para servidores virtuales.
Ves una categoría para “Linux Vserver”. Las selecciones predeterminadas deberían ser geniales, sin embargo, deberías tener algo como lo siguiente seleccionado:
Habilitar API de kernel heredado
Habilitar seguridad de Proc
Habilitar límites de CPU duros
Genial… ahora tenemos nuestra configuración…. hagamos el kernel:
# make
Luego queremos actualizar nuestra configuración de grub:
Usando el comando ‘vi’ edita /boot/grub/menu.lst y agrega las siguientes líneas ANTES de las otras entradas que ya están allí… y asegúrate de que la línea “default” esté configurada en “0”: título Vanilla 2.6.12.4-vs2.0
root (hd0,0)
kernel /vmlinuz-2.6.12.4-vs2.0 root=/dev/hda2 ro
initrd /initrd.img-2.6.12.4-vs2.0
savedefault
boot
Y ahí lo tienes. Ahora, deberíamos poder reiniciar y tener nuestro nuevo kernel listo para algunos servidores virtuales.
# reboot
Verifica que el kernel después de que arranquemos para asegurarte de que estamos ejecutando el nuevo:
# uname -r
2.6.12.4-vs2.0
¡Genial!
Configurando los Servidores Virtuales
Crear servidores Debian virtuales en un host Debian es casi ridículamente simple. Lo siguiente lo expone para ti:
# vserver
-n
–hostname
–interface
-m debootstrap – -d
Así que, nuestro primer servidor virtual tendrá la siguiente información:
| NOMBRE_VSERVER | vserver1 |
| FQDN | vserver1.mydomain.com |
| DISPOSITIVO_RED | eth0 |
| IP | 192.168.1.10 |
| CIDR | 24 (255.255.255.0) |
| DISTRIBUCIÓN_DEBIAN | sarge |
Por lo tanto, el siguiente comando lo creará:
# vserver vserver1 build \
-n vserver1 \
–hostname vserver1.mydomain.com \
–interface eth0:192.168.1.10/24 \
-m debootstrap – -d sarge
Las barras invertidas ‘\’ significan una nueva línea… sin embargo, puedes ejecutar todo esto como un solo comando sin el uso de barras invertidas.
Y ahí lo tienes… la instalación comienza una instalación de red de Debian de la distribución seleccionada. Esto no debería tomar más de unos minutos. En mi sistema, la instalación base solo ocupa 144MB. Ahora veamos qué tenemos:
# ls -lah /var/lib/vservers/vserver1
total 80K
drwxr-xr-x 20 root root 4.0K Nov 10 08:17 .
drwxr-xr-x 4 root root 4.0K Nov 10 08:13 ..
drwxr-xr-x 2 root root 4.0K Nov 10 08:17 bin
drwxr-xr-x 2 root root 4.0K Dec 15 2004 boot
drwxr-xr-x 3 root root 4.0K Nov 10 08:13 dev
drwxr-xr-x 37 root root 4.0K Nov 10 08:17 etc
drwxrwsr-x 2 root staff 4.0K Dec 15 2004 home
drwxr-xr-x 2 root root 4.0K Nov 10 08:16 initrd
drwxr-xr-x 7 root root 4.0K Nov 10 08:17 lib
drwxr-xr-x 2 root root 4.0K Nov 10 08:16 media
drwxr-xr-x 2 root root 4.0K Dec 15 2004 mnt
drwxr-xr-x 2 root root 4.0K Nov 10 08:16 opt
drwxr-xr-x 2 root root 4.0K Dec 15 2004 proc
drwxr-xr-x 2 root root 4.0K Nov 10 08:16 root
drwxr-xr-x 2 root root 4.0K Nov 10 08:17 sbin
drwxr-xr-x 2 root root 4.0K Nov 10 08:16 srv
drwxr-xr-x 2 root root 4.0K May 10 2005 sys
drwxrwxrwt 2 root root 4.0K Nov 10 08:17 tmp
drwxr-xr-x 11 root root 4.0K Nov 10 08:16 usr
drwxr-xr-x 13 root root 4.0K Nov 10 08:16 var # ls -lah /etc/vservers/vserver1
total 28K
drwxr-xr-x 5 root root 4.0K Nov 10 08:13 .
drwxr-xr-x 6 root root 4.0K Nov 10 08:13 ..
drwxr-xr-x 4 root root 4.0K Nov 10 08:13 apps
-rw-r–r– 1 root root 112 Nov 10 08:13 fstab
drwxr-xr-x 3 root root 4.0K Nov 10 08:13 interfaces
-rw-r–r– 1 root root 5 Nov 10 08:13 name
lrwxrwxrwx 1 root root 22 Nov 10 08:13 run -> /var/run/vservers/vserver1
drwxr-xr-x 2 root root 4.0K Nov 10 08:13 uts
lrwxrwxrwx 1 root root 37 Nov 10 08:13 vdir -> /etc/vservers/.defaults/vdirbase/vserver1
Ahora que tenemos nuestro vserver instalado, iniciémoslo. La sintaxis para el comando ‘vserver’ es:
# vserver
Y para nuestro vserver1:
# vserver vserver1 start Iniciando el demonio de registro del sistema: syslogd.
Iniciando el demonio de registro del kernel: klogd.
Iniciando MTA: exim4.
Iniciando superservidor de internet: inetd.
Iniciando programador de ejecución diferida: atd.
Iniciando programador de comandos periódicos: cron.
… # vserver-stat
CTX PROC VSZ RSS userTIME sysTIME UPTIME NAME
0 35 73.4M 5.4K 0m05s21 0m02s33 1m13s00 root server
49152 5 11M 967 0m00s00 0m00s00 0m30s52 vserver1
vserver1:/#
Y ahora estás en el contexto del servidor virtual. Para salir y volver al sistema host, solo escribe “exit”.
Notas sobre la Configuración
Primero necesitarás ejecutar “apt-setup” y configurar apt igual que cualquier otro sistema debian. La instalación mínima de bootstrap de debian es una instalación base muy mínima. Necesitarás instalar todo lo que desees.
Debería mencionarse que cada servidor virtual tiene su propia dirección IP. Sin embargo, dado que estas IPs están configuradas como alias a tu dispositivo de red real (es decir, eth0) todos están escuchando en el mismo dispositivo físico. Esto puede plantear un problema cuando las configuraciones predeterminadas especifican “Escuchar” en todas las interfaces. Cada servicio dentro del vserver debe especificar una dirección de escucha.
Por ejemplo:
SSH:
# apt-get install sshd
Cambia la línea:
#ListenAddress 0.0.0.0
A
ListenAddress 192.168.1.10
Y…
# /etc/init.d/ssh restart
El resto depende realmente de tu imaginación y de descubrir las maravillas del código abierto no documentado… ¡diviértete!
BJ Dierkes, RHCE-LPIC1
wdierkes [at] 5dollarwhitebox [dot] org
Texas, EE. UU.
Recursos
- El Proyecto Linux-vserver
- http://www.13thfloor.at/vserver/project
- Debian GNU Linux
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.