Настройка постоянных (persistent) маршрутов, которые не теряются после перезагрузки Печать
Добавил(а) microsin   

Здесь мы рассмотрим, как добавлять маршруты и делать их сохраняющимися при перезагрузках. В общем случае управляет маршрутами команда route, а смотрят маршруты командой netstat -ru, но у каждой операционной системы семейства *nix есть свои тонкости.

[FreeBSD]
Маршрутная информация, добавленная командой route add, не сохранится после перезагрузки FreeBSD. К сожалению, опции наподобие -p как в Windows XP здесь нет. Способ сохранения добавленного маршрута заключается в добавлении его в файл /etc/rc.conf. Пример:

# Добавление статического маршрута в Internal Net 2
static_routes="internalnet2"
route_internalnet2="-net 192.168.2.0/24 192.168.1.2"

В переменной static_routes находятся строки, разделенные пробелами. Каждая строка означает имя маршрута. В примере выше в static_routes есть только одна строка, это internalnet2. Затем мы добавили переменную route_internalnet2, куда помещены все параметры, которые необходимо передать команде route(8). В примере выше была использована команда:

# route add -net 192.168.2.0/24 192.168.1.2
поэтому нам потребуется "-net 192.168.2.0/24 192.168.1.2".

Как было сказано выше, мы можем добавить в static_routes более чем одну строку. Это позволит создать несколько статических маршрутов. В следующем примере показано добавление маршрутов для сетей 192.168.0.0/24 и 192.168.1.0/24:
static_routes="net1 net2"
route_net1="-net 192.168.0.0/24 192.168.0.1"
route_net2="-net 192.168.1.0/24 192.168.1.1"

Информация взята из книги "Руководство FreeBSD", http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/network-routing.html 

[ASPLinux]
Здесь команды на настройку маршрутов можно вставить в скрипт /etc/rc.d/rc.sysinit, либо в /etc/rc.d/rc.local. Пример таких команд:
route add -net 0.0.0.0 netmask 0.0.0.0 gw a.b.0.45
route del -net 0.0.0.0 netmask 0.0.0.0 gw a.b.0.254
route add -net a.0.0.0 netmask 255.0.0.0 gw a.b.0.254
route add -net x.y.0.0 netmask 255.255.255.0 gw a.b.0.254
route add -net x.u.10.0 netmask 255.255.255.0 gw a.b.0.254
route add -net x.z.0.0 netmask 255.255.255.0 gw a.b.0.254
route add -net 192.168.10.0 netmask 255.255.255.0 gw a.b.100.81
route add -net 192.168.20.0 netmask 255.255.255.0 gw a.b.100.81
route add -net 192.168.21.0 netmask 255.255.255.0 gw a.b.100.81
route add -net 192.168.254.0 netmask 255.255.255.0 gw a.b.100.81
route add -net 192.168.222.0 netmask 255.255.255.0 gw a.b.100.81
route add -net 192.168.210.0 netmask 255.255.255.0 gw a.b.100.81
route add -net 192.168.200.0 netmask 255.255.255.0 gw a.b.100.81
route add -net 192.168.4.0 netmask 255.255.255.0 gw a.b.0.254
route add -net 192.168.51.0 netmask 255.255.255.0 gw a.b.0.254
route add -net 213.189.196.216 netmask 255.255.255.248 gw a.b.0.254
route add -net x.u.1.0 netmask 255.255.255.0 gw a.b.0.254
route add -net 192.168.223.0 netmask 255.255.255.252 gw a.b.100.83
route add -net a.c.0.0 netmask 255.255.0.0 gw a.b.100.83

[RedHat Linux]
Скрипты для вставки команд route add .. те же самые, как и у ASPLinux - /etc/rc.d/rc.sysinit, либо /etc/rc.d/rc.local. Отличие может быть в синтаксисе команды route - не поддерживается ключевое слово netmask, и команда настройки маршрута выглядит по-другому:
route add -net a.0.0.0/8 gw a.b.0.254