Приняв решение использовать статическую маршрутизацию, администратор должен внести два изменения в загрузочные файлы:
- Добавить необходимые команды route в один из загрузочных сценариев.
- Удалить из загрузочных файлов все команды, запускающие протоколы маршрутизации.
Чтобы добавить команды статической маршрутизации в загрузочный сценарий, следует, прежде всего, выбрать, в какой именно сценарий их поместить. В системах BSD и Linux под локальные дополнения процесса загрузки отведен файл rc.local. Он выполняется последним из загрузочных, а потому прекрасно подходит для внесения изменений в стандартный процесс загрузки. В системе Red Hat Linux, которую мы используем в примерах, полное имя файла rc.local - /etc/rc.d/rc.local. В системе Solaris добавьте в файл /etc/init.d/inetinit следующие команды:
{xtypo_code}route -n add default 172.16.12.1 > /dev/console
route -n add 172.16.1.0 172.16.12.3 > /dev/console
route -n add 172.16.6.0 172.16.12.3 > /dev/console
route -n add 172.16.3.0 172.16.12.3 > /dev/console
route -n add 172.16.9.0 172.16.12.3 > /dev/console{/xtypo_code}
Ключ -n предписывает route отображать численные адреса в информационных сообщениях. Внося команды route в загрузочный файл системы Solaris, используйте ключ -п, чтобы запретить route тратить время, обращаясь к серверу имен, который в этот момент, вполне возможно, еще не функционирует. Ключ -n не требуется в случае системы Linux, поскольку Linux не сопровождает создание маршрутов информационными сообщениями.
Создав команды route, проверьте, не запускает ли сценарий модуль протокола маршрутизации, и при необходимости заблокируйте выполнение соответствующих строк сценария при помощи комментариев. Присутствие протокола маршрутизации ни к чему, если используется статическая маршрутизация. В системе Solaris из нашего примера программный модуль маршрутизации запускается только в случае, если в системе существует более одного сетевого интерфейса (то есть если она является маршрутизатором) либо если создан файл /etc/gateways. (Об этом файле поговорим чуть позже.) Не выполнено ни одно из условий, значит, демон маршрутизации не будет запущен в процессе загрузки и от нас не требуются какие-либо дополнительные действия, помимо создания команд route.
Прежде чем вносить изменения в рабочую систему, сверьтесь с документацией. Возможно, следует изменить другой сценарий либо скорректировать полное имя демона маршрутизации. Только документация на конкретную систему содержит точные указания.
Несмотря на возможные отличия в именах загрузочных файлов, процедура в целом одинакова для всех систем. Описанные простые шаги - все, что нужно для настройки статической маршрутизации. Собственно говоря, проблема со статической маршрутизацией заключается не в ее настройке, но в сопровождении, если речь идет о меняющейся сетевой среде. Протоколы маршрутизации обладают достаточной гибкостью, чтобы справляться как с простыми, так и со сложными средами маршрутизации. Именно поэтому некоторые из последовательностей загрузки автоматически инициируют работу протоколов маршрутизации. Однако большинству систем Unix требуется лишь статический маршрут по умолчанию. Протоколы маршрутизации обычно нужны только маршрутизаторам.