* Imagenes de instalación de las versiones estables para Mageia y OpenMandriva.

OpenMandriva: Mageia (Mageia 9) 20/Agosto/2023 - Anuncio, Descargas.

Blogdrake recomienda descargar las imágenes de instalación (iso) vía torrent para evitar corrupción de datos, aprovechar mejor su ancho de banda y mejorar la difusión de las distribuciones.

NAT y Videoconferencia con MSN Messenger (Soporte para Mandriva)

Resulta que mi máquina actúa como pasarela para dos ordenadores más, cuyos usuarios utilizan diariamente la videoconferencia del MSN Messenger. Y también resulta que dicho cliente requiere de una pasarela UPnP (Universal Plug And Play), algo de lo que mi Mandriva carece a priori. Combinando estos dos factores tenemos mi cabeza como un bombo de quejas diarias, así que me puse a remediar la situación, encontrando a mi salvador (siempre hay alguien que ha tenido tu mismo problema antes) en Linux Internet Gateway Device.

Me bajo el .tgz y empiezo la faena, cuyo proceso narro a continuación por si a alguien le puede ser útil:

  1. 1. Bajar el .tgz del Linux UPnP SDK versión 1.04 (OJO CON ESTO), que está aquí
  2. 2. Desempaquetar el upnpsdk-1.04.tar.gz
  3. 3. Instalar las dependencias del UPnP SDK

    	$ urpmi glibc-devel
    	$ urpmi e2fsprogs libext2fs2-devel
    

  4. 4. En las fuentes del upnpsdk, modificar el archivo src/ssdp/ssdplib.c en la linea 406:



    Donde pone
  5. 	
    	SelfAddr.sin_addr.s_addr = inet_addr(SSDP_IP);
    

    cambiar por

    	SelfAddr.sin_addr.s_addr = htonl(INADDR_ANY);
    
  6. 5. Mmmhhh, sí:
    	[iraillo@quearte upnpsdk]$ make
    	[root@quearte upnpsdk]$ make install
    

    (dio vieho que nive, se compila como los leone ;)

  7. 6. Ahora lo mismo pero para linux-igd
    	[iraillo@quearte linux-igd]$ make
    	[root@quearte linux-igd]$ make install
    

    (ole ole, otra ve nique, si es que me sargo der pellejo, canijo)

Ahora ya tenemos un ejecutable llamado upnpd en /usr/bin. Se invoca de la forma

	$ upnpd {interfaz_externo} {interfaz_interno}

y para que funcione bien hace falta incluir una ruta de dirección multicast en la red local

	$ route add -net 239.0.0.0 netmask 255.0.0.0 {interfaz_interno}

Yo tengo eth0 conectado al cablemodem, y eth1 con la red local. Por tanto, en mi caso sería:

	$ route add -net 239.0.0.0 netmask 255.0.0.0 eth1
	$ upnpd eth0 eth1

Pero claro, esto vale hasta que haya que reiniciar, así que vamos a establecer la ruta como permanente y a registrar el demonio como un servicio del sistema (aquí ya entramos con el porculeo de versiones según las distribuciones).

  1. 7a. Establecer ruta permanente 'forma tocatelosgüebo':

    Crea o añade a un fichero /etc/sysconfig/networking/devices/{interfaz_interno}.route



    (en mi caso se llama eth1.route)



    El contenido debería ser algo parecido a:

    	
    **************************************
    ADDRESS0=239.0.0.0
    GATEWAY0=""
    NETMASK0=255.0.0.0
    **************************************
    
  2. 7b. Establecer ruta permanente 'forma de grati':

    Usa el webmin (herramienta creada para nuestro goce y disfrute por angelitos del cielo)

  3. 8. Creación de un script llamado upnpd en /etc/rc.d/init.d. Este archivo está hecho a base de copy & paste, y seguramente sea mejorable.

  4. *****************************************************************
    #!/bin/bash
    #
    # chkconfig: 2345 66 34
    # description: upnpd arranca el demonio que da soporte UPnP 
    # para videoconferencia en MSN Messenger
    #
    
    ##########################
    # Interfaz de red externo
    ##########################
    EXT_IF=eth0
    
    ##########################
    # Interfaz de red interno
    ##########################
    INT_IF=eth1
    
    ####################################################
    # Origen de la biblioteca de funciones de init.d
    ####################################################
    if [ -f /etc/init.d/functions ] ; then
      . /etc/init.d/functions
    elif [ -f /etc/rc.d/init.d/functions ] ; then
      . /etc/rc.d/init.d/functions
    else
      exit 0
    fi
    
    RETVAL=0
    
    start() {
      status upnpd > /dev/null
      RETVAL=$?
      if [ $RETVAL -gt 0 ]; then
        gprintf "Comenzando upnpd: "
        daemon upnpd $EXT_IF $INT_IF
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/upnpd || \
           RETVAL=1
        return $RETVAL
      fi
    }  
    stop() {
      status upnpd > /dev/null
      RETVAL=$?
      if [ $RETVAL -eq 0 ]; then
        gprintf "Parando upnpd: "
        killproc upnpd
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/upnpd
        return $RETVAL
      fi
    }  
    restart() {
      stop
      start
    }  
    mdkstatus() {
      status upnpd
    }  
    
    case "$1" in
      start)
        start
      ;;
      stop)
        stop
      ;;
      restart)
        restart
      ;;
      status)
        mdkstatus
      ;;
      condrestart)
      [ -f /var/lock/subsys/upnpd ] && restart || :
      ;;
      *)
      echo "Uso: $0 {start|stop|restart|condrestart|status}"
      exit 1
    esac
    
    exit $?
    
    *****************************************************************
    

    En EXT_IF se pone el interfaz externo y en INT_IF el interno.
    Respecto a la linea

    # chkconfig: 2345 66 34

    indica que el servicio se registra para los niveles de ejecución 2,3,4 y 5, y que tiene prioridad 66 en el arranque del sistema y 34 para matarlo en el apagado. Estos valores son a gusto del consumidor y de tu sistema.

  5. 9. Dar permiso de ejecución al script
    	[root@quearte init.d]$ chmod u+x upnpd
    
  6. 10. Registrar el script con chkconfig
    	[root@quearte init.d]$ chkconfig --add upnpd
    
  7. 11. Probar que funciona la ruta:
    	[root@quearte ~]$ service network restart
            [root@quearte ~]$ route
    
  8. 12. Probar que funciona el servicio:
    	[root@quearte ~]$ service upnpd start|status|stop|restart
    

Si en la ventana de configuración de los ordenadores con el MSN Messenger en Windows aparece algo como UPnP Firewall, significa que todo va yendo como debería. Tan sólo queda probar la videoconferencia.

Pues nada, espero que esto le pueda servir a alguien. Si alguno encuentra errores (de bulto o detallitos) o tiene críticas, se agradecerán los comentarios.

Opciones de visualización de comentarios

Seleccione la forma que desee de mostrar los comentarios y haga clic en «Guardar opciones» para activar los cambios.


Gravatar de pacho

# 18819 Usa las etiquetas "code" en

Usa las etiquetas "code" en lugar de "pre", se verá mejor el artículo :-)

Gracias :-)

Opciones de visualización de comentarios

Seleccione la forma que desee de mostrar los comentarios y haga clic en «Guardar opciones» para activar los cambios.