
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.
Bienvenido a mi rincón en la web. Mi nombre es Carlos Mayo y me dedico a eso del desarrollo web.






HOla Carlos, uso el procedimiento para crear la ruta estatica y no me funciona,
cuando se ejecuta da esto
: command not foundrtupItems/NetworkLocal/NetworkLocal: line 14:
: command not foundrtupItems/NetworkLocal/NetworkLocal: line 16:
/System/Library/StartupItems/NetworkLocal/NetworkLocal: line 21: $1: unbound variable
tengo asi el archivo NetworkLocal:
#!/bin/sh
. /etc/rc.common
StartService ()
{
ConsoleMessage "Configuración local de la red"
route add -net 95.0.0.0 -netmask 255.0.0.0 192.168.1.239
}
StopService ()
{
return 0
}
RestartService ()
{
return 0
}
RunService "$1"