Instalar mikrotik the dude como un servicio de GNU/Linux

Como últimamente estoy muy proxmoxera, en un cliente decidí instalar proxmox en su servidor de guifi y separar los servicios en distintos contenedores, uno con el NTP + dnsservices + snpservices, otro con el guifi-proxy3 y otro con el vsFTP, pero mi compañero me propuso de forma inocente y de buena fe de crear otro contenedor para el dude, el programa de gestión masiva de dispositivos con routerOS de mikrotik.

Manos a la obra, pero fallo! el instalador es un ejecutable de windows y los contenedores openvz no tienen entorno gráfico! :o haciendo memoria, una vez lo hice para otra cosa, pero no tenía que llegar a interaccionar con la pantalla esta vez si :)

Primero preparamos el servidor para no tener problemas con las tipografías ni las dependencias:

# apt-get install wine msttcorefonts

si no está el paquete msttcorefonts probar con este otro:

# apt-get install ttf-mscorefonts-installer

wine: emulador para aplicaciones windows en GNU/Linux
msttcorefonts: fuentes true type de microsoft (es un paquete que está en los repos non-free)

Como he comentado antes, necesitamos entorno gráfico para hacer la instalación de the dude, así que vamos a instalar un fake x11 virtual:

# apt-get install xvfb

Para conectar remotamente a la máquina usaremos vnc, así que instalaremos el servidor de vnc.

# apt-get install x11vnc

Y crearemos un dispositivo de pantalla virtual con xvfb

# Xvfb :1 -screen 0 800x600x16 &

Y le daremos acceso al servidor VNC

# x11vnc -display :1  -bg -forever

Nos descargamos la última versión de the dude de la web de mikrotik:

# cd /root
# wget -c http://download.mikrotik.com/dude-install-3.6.exe

Y empezamos con la instalación:

export DISPLAY=:1
export WINEPREFIX=/srv/dude
wine dude-install-3.6.exe

Ahora, entraremos a nuestro servidor con un cliente VNC como remmina, gvncviewer o xvnc4viewer.

Y procederemos con el resto de la instalación.

A partir de aquí ya tenemos el server instalado y vamos a configurarlo que arranque como un servicio.

Creamos el fichero /etc/init.d/dude con este contenido:

#!/bin/bash

### BEGIN INIT INFO
# Provides: dude
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: Dude Server
### END INIT INFO

action=${1}

# ----------------------------------------------
# User Options
# ----------------------------------------------
xvfb_pidfile='/var/run/dude-xvfb.pid'
wine_pidfile='/var/run/dude-wine.pid'
virtual_display=':1'
dude_path='/srv/dude'
# ----------------------------------------------

export DISPLAY=$virtual_display
export WINEPREFIX=$dude_path

start ()
{
	echo -n 'Starting Dude virtual display: '
	Xvfb $virtual_display &> /dev/null &
	echo $! > $xvfb_pidfile
	echo 'ok'
	echo -n 'Starting Dude Server: '
	sleep 5
	wine 'c:program filesdudedude.exe' --server &> /dev/null &
	echo $! > $wine_pidfile
	echo 'ok'
}

stop ()
{
	echo -n 'Stopping Dude Server: '
	kill $(cat $wine_pidfile)
	rm -f $wine_pidfile
	sleep 5
	echo 'ok'
	echo -n 'Stopping Dude virtual display: '
	kill $(cat $xvfb_pidfile)
	rm -f $xvfb_pidfile
	echo 'ok'
}

case "$action" in
	start)
		start
	;;

	stop)
		stop
	;;

	*)
		echo "Usage: $0 {start|stop}"
	;;
esac

# -----------------------------------------------------------------------

le asignamos permisos de ejecución:

# chmod +x /etc/init.d/dude

Y luego lo activamos para que se levante cuando arranque el sistema:

# insserv dude

o con el programa sysv-rc-conf

# sysv-rc-conf

Y ahora ya sólo faltará entrar con tu the dude remotamente a la ip de esta máquina y empezar a configurar tu red :)

Fuente: wiki Mikrotik (install the dude as a service)
Fuente 2: wiki Mirkotik (install/uninstall the dude)

2 Comments

  1. si el script init no arranca dude, aplicar éstas modificaciones al fichero init.d/dude

    #wine ‘c:program filesdudedude.exe’ –server &> /dev/null &
    cd “/srv/dude/drive_c/Program Files (x86)/Dude”
    wine dude.exe –server &> /dev/null &

    Respon

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *

Aquest lloc utilitza Akismet per reduir els comentaris brossa. Apreneu com es processen les dades dels comentaris.