May 03, 2006

Añadiendo rutas estáticas en MacOS X

Para añadir rutas estáticas en Tiger y no tener que volver a introducirlas en cada arranque, podemos utilizar el SystemStarter. El SystemStarter es básicamente el programa que lanza todos los servicios del sistema. Estos servicios se encuentran en los directorios /System/Library/StartupItems y /Library/StartupItems. Así que lo único que debemos hacer es crear un servicio y que cree las rutas correspondientes en cada arranque.

Nosotros crearemos el servicio en /Library/StartupItems ya que este es el lugar adecuado para aplicaciones de terceros. Los pasos son los siguientes:

Desde una sesión de terminal ejecutaremos su para convertirnos en root, y seguidamente...

cd /Library/StartupItems

Prodeceremos a crear el directorio de nuestro servicio:

mkdir NetworkLocal
cd NetworkLocal

Utilizando un editor de textos (p.e. vi), crearemos un fichero con el nombre de NetworkLocal que será el script que se ejecutará en cada inicio.

#!/bin/sh
 
. /etc/rc.common
 
StartService ()
{
   ConsoleMessage "Configuración local de la red"
   route add -net 192.168.2.0 -netmask 255.255.255.0 192.168.1.1
}
 
StopService ()
{
   return 0
}
 
RestartService ()
{
   return 0
}
 
RunService "$1"

Crearemos también el fichero StartupParameters.plist con lo siguiente:

{
Description = "Configuración local de la red";
Provides = ("NetworkLocal");
Requires = ("Network");
OrderPreference = "None";
}

Y estableceremos los permisos adecuados:

chmod 755 NetworkLocal StartupParameters.plist

Ahora sólo nos queda reiniciar y comprobar que se ha cargado las rutas con el comando netstat -r.

Si queréis saber mas sobre el SystemStarter, aquí tenéis uno válido para versiones de MacOS X 10.3 o anteriores y otro para versiones de MacOS X 10.4 o posterios. Ambos son de la página Mac Programadores.