After a bit of googling around, it looks like the only way to create a persistent route is through a startup script. I found a good tutorial at Secure Computing Networks.
Basically you need to create two files; a script for the route add and and paramaters file.
Build out the files with these commands:
# cd /System/Library/StartupItems
# sudo mkdir StaticRoutes
# sudo chmod 0755 ./StaticRoutes
# cd StaticRoutes
# touch StaticRoutes && touch StartupParameters.plist
# chmod 0644 ./* && chmod o+x StaticRoutes
Add the script with your route in "StaticRoutes"
#!/bin/sh
##
# Load local static routes
##
. /etc/rc.common
StartService ()
{
ConsoleMessage "Loading Static Routes"
## Enter static routes here, one line at a time as follows:
# route add <destination_network> <next_hop> (man route for syntax)
route add 93.***.***.***/29 192.168.1.1
}
StopService ()
{
return 0
}
RestartService ()
{
return 0
}
RunService "$1"
And the proper paramaters in StartupParamaters.plist:
{
Description = "Static Routes";
Provides = ("StaticRoutes");
Requires = ("Network");
OrderPreference = "None";
}