ИСПОЛЬЗОВАНИЕ ТРАДИЦИОННОЙ IP-МАРШРУТИЗАЦИИ В WINDOWS И LINUX
Любая сетевая ОС после установки уже имеет базовую таблицу маршрутизации, сформированную на основе введенных IP-параметров. Как правило, эту таблицу нужно лишь корректировать.
Чтобы просмотреть текущую таблицу маршрутизации практически везде используется команда route с аргументом print. Традиционная команда Linux: netstat –n (–nr).
Чтобы вводимые маршруты сохранялись после перезагрузки ОС, необходимо делать их постоянными (persistent).
В типовом случае, на примере взаимодействия двух максимально удаленных абонентов, на границе СПД применяется статическая маршрутизация. Механизм шлюзов по умолчанию позволяет «спустить» пакет ближе к базовой магистрали в зону динамической маршрутизации более высокоранговых подсетей. Чтобы обеспечить «подъем» пакетов к абоненту, а также подъем ответных пакетов в зоне статической маршрутизации необходимо прописывать маршруты к соответствующим подсетям. При необходимости, всегда существует возможность задать маршрут вручную.
Рисунок -- Типовая стратегия маршрутизации
Основной смысл разделения на подсети состоит в упрощении таблиц маршрутизации.
Чтобы добавить статический маршрут в таблицу маршрутизации ядра используется команда route с аргументом add.
Рисунок -- Пример добавления статического маршрута
Постоянство вводимого статического маршрута в Windows достигается за счет аргумента –p.
Поддержка динамической маршрутизации в Windows сильно ограничена (поддерживаются часть функционала RIP и часть функционала OSPF). Вне пределов организаций Windows-шлюзы практически не встречаются (хотя ради справедливости следует отметить, что и Linux там не доминирует).
Постоянство статических маршрутов в Linux обеспечивается несколькими способами с возможностью комбинирования этих способов (зависит от дистрибутива). Маршруты могут «привязываться» к конкретным сетевым интерфейсам (но необязательно использовать их).
Рисунок -- Пример постоянных маршрутов (ветвь Red Hat)
Рисунок -- Пример постоянных маршрутов (ветвь SuSE)
Рисунок -- Пример постоянных маршрутов (ветвь Debian)
При необходимости введения сравнительно большого количества статических маршрутов или при переходе к простейшей динамической маршрутизации (RIP) можно задействовать демон routed. При этом статические маршруты помещаются в стандартный конфигурационный файл /etc/gateways.
Рисунок -- Пример маршрута из конфигурационного файла /etc/gateways
После настройки и запуска сервиса в течение некоторого времени сформируется таблица маршрутизации, которая затем может изменяться.
Для обеспечения полноценной поддержки динамической маршрутизации в последнее время вместо традиционного демона gated обычно применяется пакет Quagga. Кроме «корневого» демона под названием zebra, Quagga включает набор демонов, каждый из которых соответствует определенному протоколу маршрутизации (ripd, ospfd, bgpd и др.) Quagga предоставляет интерфейс управления, подобный интерфейсу Cisco IOS.
Рисунок -- Пример конфигурационного файла /etc/quagga/ripd.conf
Рисунок -- Рисунок -- Пример конфигурационного файла /etc/quagga/bgpd.conf
IP Forwarding в Windows.
Рисунок -- Включение IP Forwarding в Windows
IP Forwarding в Linux.
Рисунок -- Включение IP Forwarding в Linux
Практически во всех реализациях заложены механизмы простейшей оптимизации (ICMP Redirects).
Рисунок -- Пример оптимизации маршрутов
Для того, чтобы проследить трассу к какой-либо станции в Windows используется команда tracert, в Linux – traceroute.