Virtualbox: desactivar sincronización horaria con el host

Tenemos una maquina virtual con virtualbox en la que necesitamos que trabaje con una fecha distinta que la del host.

Lo primero será desactivar el cliente NTP de nuestro sistema operativo.

A continuación instalamos las guest additions (si queremos).

Y finalmente, desde el host, con el usuario que está corriendo el virtualbox (atención si lo ejecutas como “laura” por ejemplo, no hacerlo con root, ya que root no ve las maquinas virtuales de laura), ejecutamos lo siguiente

vboxmanage setextradata vmname "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" "1"

Siendo vmname el nombre de la maquina virtual, usamos lo siguiente para listar las máquinas existentes en nuestro sistema

laura@melatonina:~$ vboxmanage list vms
"capa8" {a1333e64-1b9c-4414-9411-973adf55xxx}
"Resolume" {f175a4dc-c3ea-42ec-b74b-83e496a6xxxx}
"windows7" {fe860ff5-bbae-478c-a026-378df134xxxx}
"Windows UE" {972ee722-2f0b-480d-8cc4-2ab993f7xxxx}
"kali" {6cea5b78-88bb-4888-a73e-5f3533f0xxxx}
"forense" {c009e747-d086-4f76-b407-d5f6a26xxxx}

Las virtualboxguest additions no intervienen en dicha configuración, ésto es cosa del virtualbox.…

LXC: Montar un directorio del host en un contenedor

Ésto hace tiempo lo documenté para openvz, pero con lxc cambia un poco la cosa. Voy a saco y pongo lo que se tiene que hacer hehe

Montas el punto de montaje que quieres, en mi caso estoy montando un dav con davfs2 (apt-get install davfs2) en el host en un punto de montaje:

# mkdir /mnt/dav_capa8
# mount -t davfs -o gid=www-data,uid=www-data https://cloud.capa8.net/remote.php/webdav/ /mnt/dav_capa8/

Previamente he puesto las credenciales en /etc/davfs2/secrets del acceso al webdav

y luego así se lo paso al contenedor:

# pct set 102 -mp0 /mnt/dav_capa8,mp=/mnt/dav_capa8

Reinicio el contenedor y el nuevo mountpoint ya está accesible

Sólo me falta comprobar si el usuario www-data que es quien tiene que escribir en éste punto de montaje tiene permisos suficientes.

Para que se monte el davfs al iniciar el sistema, editaremos el fichero /etc/fstab y la última línea:

# vi /etc/fstab
/dev/pve/root / ext4 errors=remount-ro 0 1
/dev/pve/swap none swap sw 0 0
proc /proc proc defaults 0 0
/dev/sdb1 /var/lib/vz2 ext4 defaults 0 0
https://cloud.capa8.net/remote.php/webdav/ /mnt/dav_capa8/ davfs noauto,user 0  0

Proxmox + nat + iptables

Acabo de contratar un servidor en un datacenter y sólo me dan una sola ip.
Como me gusta tener los servicios separados y todo bien ordenadito le he instalado proxmox 4, con soporte LXC, pero necesito que el host se comunique con los contenedores de alguna forma.

Lo que vamos a crear va a ser una interfaz virtual nueva, donde crearemos nuestra subred y luego redigiremos los puertos con iptables. Esto es lo que se llama hacer nat y redirección de puertos :P…

Convertir contenedor lxc a contenedor compatible con proxmox

Un contenedor lxc funcionará en un host que tiene instalado proxmox, pero si queremos poder administrarlo cómodamente desde el interfaz de proxmox, tendremos que prepararlo para que lo entienda proxmox.

Inicialmente había probado de mover directamente los ficheros a los directorios correctos, pero de momento no veo como hacer que proxmox entienda un rootfs sin formato .raw, una de las cosas que no me gustó al ver trabajar a proxmox con lxc, con vz podías acceder desde el host directamente a los ficheros del contenedor :(…

Carmageddon + Dosbox

Carmageddon es un magnífico juego que te permite liberar tensiones, has tenido un día duro en el trabajo? un cliente te está dando la murga? etc. Carmageddon es tu juego!

Hace un par de días me vinieron ganas locas de hacer una partidita a Carmageddon, pero por supuesto y como es marca de la casa, no me vale ejecutarlo directamente en la terminal DOS de windows, tal como hice con Z Zed lo suyo es usar dosbox.

Dosbox es un emulador DOS.

Primero de todo tenemos que tener en cuenta que Carmageddon es un juego de 32bit y la visualización del juego con el emulador de 64bit no funciona correctamente, así que tendremos que instalar dosbox pero la versión de i386

# apt-get --add-architecture i386
# apt-get update
# apt-get install dosbox:i386

Solución de problemas con virtualbox

Hoy he estado como una hora tratando de solucionar un problema con virtualbox, hasta que finalmente me he dado cuenta que era un problema del kernel que tenía instalado! :)

Partía de una debian jessie (8) instalada desde cero, felizmente he instalado virtualbox sin instalar los headers de linux ni nada y al crear una maquina virtual me soltaba:

/etc/init.d/vboxsrv setup

Pero dicho fichero no estaba!!! así que he ido a mirar a mi portátil y tampoco estaba, he estado buscando en foros pero ninguno daba exactamente en el clavo de lo que me estaba ocurriendo, así que he empezado a indagar un poco.

¿Está el módulo presente?
Pues no, así que he empezado a buscar en el sistema el vboxdrv y sólo había un directorio pero no había ninguna libreria (.so) para cargar el módulo.…

Proxmox 4.0-beta

El 23 de Junio salió la beta de proxmox 4.0. Esta versión trae con ella un cambio realmente grande e interesante… los contenedores vz, pasan a ser contenedores lxc!

En Proxmox Downloads, nos podemos descargar la iso de la beta.

Al instalarla por algún motivo no se dejaba porqué me soltaba “gtk-critical gtk_container_remove”, así que he leído que desconectando el cable de red la instalación seguía adelante, lo he hecho y efectivamente he podido terminar de instalar proxmox! (es importante hacer la instalación desde un disco limpio, que no haya otro proxmox, porqué tampoco se va a dejar!).

Al entrar al interfaz web, pues como siempre, la apariencia la misma, pero con algunos cambios pequeñitos que no se ven a la primera.…

dnsmasq dentro de un contenedor vz

He tenido que instalar un dnsmasq dentro de un contenedor vz y al arrancarlo me salía éste mensaje

dnsmasq: setting capabilities failed: Operation not permitted openvz

El motivo es que dnsmasq no se ejecuta como root (cosa buena). Con esto cuando dnsmasq se levanta y quiere adquirir privilegios avanzados falla.
La razón del fallo es porque faltan algunas propiedades en el kernel o en este caso los permisos no se pasan al contenedor. Pero esto se puede cambiar fácilmente aplicando algunos cambios a la configuración del contenedor.

vzctl stop CITD
vzctl set CTID --capability setuid:on --save
vzctl set CTID --capability net_admin:on --save
vzctl set CTID --capability net_raw:on --save
vzctl start CTID

Cambiaremos el CTID por el numero de contenedor.

Fuente: blackmanticore

Migrar template OVA a proxmox

Proxmox no tiene soporte nativo para un template OVA, cosa curiosa porque se trata de un formato abierto para crear maquinas virtuales empaquetadas, también llamadas “virtual appliances”.

Es posible pero hacer funcionar un template en proxmox pero vamos a tener que hacer algunas cosillas para que proxmox sepa comerse el OVA.

Lo primero será subir el fichero OVA al servidor proxmox por scp (ssh), por ejemplo en /root…

Configurar vlans, bondings y IPv6 en un Proxmox

Venga, hoy tenemos una configuración completita! :)

Nos encontramos con un equipo que tiene instalado proxmox y quiero que sus contenedores puedan tener vlan. Toda feliciana me propongo de pasar olímpicamente de configurar las vlan con el proxmox ya que alguna vez lo he intentado desde el interfaz y no hay ni un solo menú que sirva para realizar esta tarea.

Como es normal, busco en el blog para manuales de referencia y me pongo a seguir éste: Configurar vlans con GNU/Linux. Pero me encuentro que no me hace ni puñetero caso, así que buscando por internet leo que es necesario tener el módulo 8021q activado, así que trato de activarlo y el sistema dentro del contenedor me suelta palabrotas:

root@murzim-dnsnat64:/# modprobe 8021q
libkmod: ERROR ../libkmod/libkmod.c:505 kmod_lookup_alias_from_builtin_file: could not open builtin file '/lib/modules/2.6.32-27-pve/modules.builtin.bin'
FATAL: Module 8021q not found.