Конфигурирование статических маршрутов
Конфигурирование статических маршрутов: route
Команда route определяет статические маршруты — явно заданные элементы таблицы маршрутизации, которые обычно не меняются даже в тех случаях, когда запускается демон маршрутизации.
Маршрутизация выполняется на уровне IP. Когда поступает пакет, предназначенный для другой машины, IP-адрес пункта назначения пакета сравнивается с маршрутами, указанными в таблице маршрутизации ядра. Если номер сети пункта назначения совпадает с номером сети какого-либо маршрута, то пакет направляется по IP-адресу следующего шлюза, связанного с данным маршрутом.
Есть два особых случая. Во-первых, пакет может быть предназначен дм1 какой-то машины, включенной в ту же сеть, что и машина-отправитель. В этом случае адрес следующего шлюза является одним из интерфейсов самой} локальной машины, и пакет посылается прямо в пункт назначения, Этот тип маршрута добавляет для Вас команда ifconfig, когда Вы конфигурируете интерфейс.
Во-вторых, может не оказаться маршрута, совпадающего с адресом пункта назначения. В этом случае вызывается маршрут по умолчанию, если таковой имеется; в противном случае отправителю выдается сообщение протокола ICMP "network unreachable". Маршрут по умолчанию обычно посылает пакет в некий интеллектуальный шлюз, у которого, возможно, имеется более четкое представление о том, куда этот пакет следует направить. В сети-ответвлении, которая соединена только с одной другой сетью, маршрут, заданный по умолчанию, обычно означает пересылку пакета в шлюз, ведущий к основной сети.
Каждая команда route добавляет или удаляет один маршрут. Вот ее; формат:
route [-f] оп 1 тип] адресат шлюз счетчик переходов
Аргумент оп может принимать одно из двух значений: add (маршрут добавляется) или delete (маршрут удаляется). Аргумент адресат может быть адресом машины, адресом сети или ключевым словом default. Аргумент шлюз — это машина, на которую следует посылать пакет. Аргумент счетчик_переходов должен быть числом таких пересылок, необходимых для достижения адресата, но часто его просто устанавливают в 1.
Рекомендуемые материалы
Команда route -f удаляет из таблицы данные обо всех шлюзах. Если эта команда объединена с командой add, таблица сначала очищается, а затем вносится затребованное изменение. Необязательный аргумент тип используется для поддержки host-маршрутов (маршрутов, ведущих к конкретной машине), которые используются с полным IP-адресом, а не с адресом сети. Этот аргумент принимает значения net и host. Если он опущен, команда route проверяет машинную часть адреса пункта назначения на предмет равенства ее нулю (или, как указано на соответствующей странице руководства, значению INADDR_ANY), Если машинная часть равна нулю или если адрес — это адрес сети, указанной в файле networks, то маршрут считается обычным сетевым маршрутом.
Поскольку команда route не знает номеров сетей, разбитых на подсети, то для задания некоторых маршрутов может потребоваться использование поля тип. Например, адрес 128.138.240.0 относится к разделенной на подсети сети класса В, имеющейся в нашей организации, но для команды route он выглядит как адрес класса В 128.138 с машинной частью 240.0. Для того чтобы не вводить route в заблуждение, следует указать опцию net. Вообще говоря, лучше всего указывать тип явно для всех маршрутов, которые включают подсети.
Команды
route add /bin/hostnane 127.0.0.1 0 # for loopback
route add default 128.138.242.1 1 # gateway
могут быть подходящими для нешлюзовой машины, находящейся в сети-ответвлении. Будучи выполненными во время начальной загрузки, они оптимизируют передачу пакетов, предназначенных для локальной машины, путем посылки их через закольцовывающий интерфейс и посылают все нелокальные пакеты через шлюз 128.138.242.1 со стоимостью, равной одному переходу.
Существующие маршруты можно проанализировать с помощью команды netstat -nr. Подробнее об этой команде см. ниже.
routed: стандартный демон маршрутизации
Демон routed в течение длительного времени был стандартным демоном маршрутизации ОС UNIX, и его до сих пор включают в большинство дистрибутивных комплектов. Существенным преимуществом routed является простота, однако этот демон обладает повышенным аппетитом к ресурсам и сейчас постепенно вытесняется демоном gated. Хотя демон gated в качестве стандартного поставляется лишь несколькими фирмами, можно получить его бесплатные версии для большинства платформ, в том числе и для всех наших систем-примеров.
Демон routed признает только RIP, простой внутренний протокол маршрутизации, который в качестве показателя стоимости использует количество переходов. RIP, вообще говоря, — широковещательный протокол; каждые тридцать секунд серверы маршрутизации оповещают сеть об известных им маршрутах. Получатели включают новую информацию в свои базы данных маршрутизации и таблицу маршрутизации ядра.
Демон routed может работать в режиме сервера (-а) или в "бесшумном" режиме (-q) . В обоих режимах принимаются широковещательные данные, но свою собственную информацию рассылают только серверы. Вообще говоря, серверами могут быть только машины с Несколькими интерфейсами. Если не указано ни -s, ни -q, то routed работает в "бесшумном" режиме с одним интерфейсом и в режиме сервера с несколькими. Во многих системах, однако, этот механизм не работает. (О демоне routed во многих системах сложилось плохое мнение. Многие даже считают, что этому демону нельзя доверять.)
Для отладки маршрутизации можно пользоваться командой routed -t. Эта опция заставляет routed работать в приоритетном режиме и распечатывать все посланные и полученные пакеты.
Демон routed, как правило, выявляет данные маршрутизации динамически и не требует конфигурирования. Если же у Вас на узле есть шлюзы к Internet или к другим автономным системам, то, вероятно, понадобятся некоторые дополнительные операции, чтобы заставить эти каналы работать с routed.
Если Вам понравилась эта лекция, то понравится и эта - ТЕМА 6. Организация системы управления охраной труда.
Если у Вас имеется всего один выходной шлюз. Вы можете объявить его как глобальный маршрут по умолчанию; для этого нужно запустить его routed с флагом - g. Это аналогично заданию маршрута по умолчанию на одиночной машине, но здесь он распространяется на всю сеть.
Второй вариант работы со шлюзами — описать их в файле /etc/gateways, к которому routed обращается при запуске. Файл gateways содержит элементы, которые очень похожи на команды route, за исключением того, что указанные в файле шлюзы могут находиться на расстоянии нескольких переходов. Файл gateways, кроме того, определяет каждый шлюз как активный или пассивный. Активные шлюзы должны "говорить" на RIP; в противном случае о них можно забыть. Пассивные шлюзы аналогичны статическим маршрутам; они никуда не деваются, даже если от них и не поступает информация, подтверждающая их нормальное функционирование,
gated: более уаачный демон маршрутизации
Демон gated — это базовый командный процессор маршрутизации, в который можно вставлять средства поддержки различных протоколов. Обычно для для внутренней маршрутизации поддерживаются протоколы RIP и OSPF, а для внешней — EGP/BGP. По историческим причинам предусмотрена поддержка также одного старого протокола, HELLO. Одновременно можно пользоваться несколькими протоколами, так как gated обеспечивает преобразование данных маршрутизации.
Демон gated обеспечивает детальный контроль за объявленными маршрутами, широковещательными адресами, показателями стоимости и т.д. gated можно выполнять в режиме отладки, при этом его действия архивируются в файле регистрации. Средства отладки, имеющиеся в gated, очень полезны при первой настройке файла конфигурации и, кроме того, дают точную картину изменений маршрутизации на работающей машине.
Поскольку синтаксис файла конфигурации от системы к системе меняется, мы не будем давать подробные инструкции по конфигурированию gated. Лучше рассмотрим пример, который демонстрирует использование демона gated в качестве сервера протокола RIP.