Based on some research, here’s a way to add permanent static routes to Mac OS X Lion (and problably other OS Xs too).
The principe is that we create a bash script which is run on every boot and sets static routes.
First of all, you have to be a local admin.
Open a terminal and change to the StartupItems directory
cd /Library/StartupItemsThen create a new directory with root priviledges, e.g. AddRoutes and change into it
sudo mkdir ./AddRoutes
cd ./AddRoutesNow you have to create and edit the bash script
sudo touch ./AddRoutesPaste the following Lines into the bash script and adapt it for your network
sudo nano ./AddRoutes
#!/bin/sh
# Set static routing tables
. /etc/rc.common
StartService ()
{
sleep 10
ConsoleMessage "Adding Static Routing Table"
sudo /sbin/route add -net 10.0.0.0 -netmask 255.0.0.0 -gateway w.x.y.z
}
StopService ()
{
return 0
}
StopService ()
{
return 0
}
RestartService ()
{
return 0
}
RunService "$1"
When you finished with the script, save it.
Then create the corresponding plist.
sudo touch StartupParameters.plist
sudo nano StartupParameters.plist
When you created the plist file, paste the following lines into it.
{
Description = "Add static routing tables";
Provides = ("AddRoutes");
Requires = ("Network");
OrderPreference = "None";
}
When you finished the plist file, save it.
Finally we have to set the access rights
sudo chmod 755 /Library/StartupItems/AddRoutes/*
At the end we have to
rebootand now your permanent static routes are set.
You can verify with the following
netstat -nr