Протоколы маршрутизации - это правила, по которым осуществляется обмен информации о путях передачи пакетов между маршрутизаторами. Протоколы характеризуются временем сходимости, потерями и масштабируемостью. В настоящее время используется несколько протоколов маршрутизации.
Одна из главных задач маршрутизатора состоит в определении наилучшего пути к заданному адресату. Маршрутизатор определяет пути (маршруты) к адресатам или из статической конфигурации, введённой администратором, или динамически на основании маршрутной информации, полученной от других маршрутизаторов. Маршрутизаторы обмениваются маршрутной информацией с помощью протоколов маршрутизации.
Маршрутизатор хранит таблицы маршрутов в оперативной памяти. Таблица маршрутов это список наилучших известных доступных маршрутов. Маршрутизатор использует эту таблицу для принятия решения куда направлять пакет.
В случае статической маршрутизации администратор вручную определяет маршруты к сетям назначения.
В случае динамической маршрутизации – маршрутизаторы следуют правилам, определяемым протоколами маршрутизации для обмена информацией о маршрутах и выбора лучшего пути.
Статические маршруты не меняются самим маршрутизатором. Динамические маршруты изменяются самим маршрутизатором автоматически при получении информации о смене маршрутов от соседних маршрутизаторов. Статическая маршрутизация потребляет мало вычислительных ресурсов и полезна в сетях, которые не имеют нескольких путей к адресату назначения. Если от маршрутизатора к маршрутизатору есть только один путь, то часто используют статическую маршрутизацию.
Лабораторная работа №4. Настройка статической маршрутизации.
Проведем настройку статической маршрутизации с помощью графических мастеров интерфейса Cisco Packet Tracer.
Создайте схему сети, представленную на рис.6.1.
Рис.6.1. Схема сети.
На данной схеме представлена корпоративная сеть, состоящая из следующих компонентов:
Сеть 1 – на Switch1 замыкается сеть первой организации (таблица 6.1):
Таблица 6.1. Сеть первой организации.
В данной сети на Comp2 установлен DNS и Web сервер с сайтом организации.
На Comp3 установлен DHCP сервер. Компьютер Comp4 получает с DHCP сервера IP адрес, адрес DNS сервера провайдера (сервер Provider) и шлюз. Шлюз в сети – 192.168.1.1/24.
Сеть 2 – на Switch2 замыкается сеть второй организации (таблица 6.2):
Таблица 6.2. Сеть второй организации.
В данной сети на Comp5 установлен DNS и Web сервер с сайтом организации.
На Comp4 установлен DHCP сервер. Компьютер Comp7 получает с DHCP сервера IP адрес, адрес DNS сервера провайдера (сервер Provider) и шлюз. Шлюз в сети – 10.0.0.1/8.
Сеть 3 – на Hub1 замыкается городская сеть 200.200.200.0/24. В сети установлен DNS сервер провайдера (комьютер Provaider с IP адресом -200.200.200.10/24), содержащий данные по всем сайтам сети (Comp2, Comp5, Comp8).
Сеть 4 – маршрутизатор Router3 выводит городскую сеть в интернет через коммутатор Switch3 (сеть 210.210.210.0/24). На Comp8 (IP адрес 210.210.210.8/24, шлюз 210.210.210.3/24.) установлен DNS и Web сервер с сайтом.
Маршрутизаторы имеют по два интерфейса:
Router1 – 192.168.1.1/24 и 200.200.200.1/24.
Router2 – 10.0.0.1/8 и 200.200.200.2/24.
Router3 – 210.210.210.3/24 и 200.200.200.3/24.
1 – настроить сети организаций;
2 – настроить DNS сервер провайдера;
3 – настроить статические таблицы маршрутизации на роутерах;
4 – проверить работу сети – на каждом из компьютеров - Comp4, Comp7 и Comp8. С каждого из них должны открываться все три сайта корпоративной сети.
В предыдущих лабораторных работах рассматривалась настройка сетевых служб и DNS сервера. Приступим к настройке статической маршрутизации на роутерах. Поскольку на представленной схеме четыре сети, то таблицы маршрутизации как минимум должны содержать записи к каждой из этих сетей – т.е. четыре записи. На роутерах Cisco в таблицах маршрутизации как правило не прописываются пути к сетям, к которым подсоединены интерфейсы роутера. Поэтому на каждом роутере необходимо внести по две записи.
Настройте первый роутер.
Для этого войдите в конфигурацию маршрутизатора и в интерфейсах установите IP адрес и маску подсети. Затем в разделе МАРШРУТИЗАЦИЯ откройте вкладку СТАТИЧЕСКАЯ, внесите данные (рис.6.2) и нажмите кнопку ДОБАВИТЬ:
Рис.6.2. Данные для сети 10.0.0.0/8.
В результате у вас должны появиться две записи в таблице маршрутизации (рис.6.3):
Рис.6.3. Формирование статической таблицы маршрутизации.
Чтобы посмотреть полную настройку таблицы маршрутизации, выберите в боковом графическом меню инструмент ПРОВЕРКА (пиктограмма лупы), щелкните в схеме на роутере и выберите в раскрывающемся меню пункт ТАБЛИЦА МАРШРУТИЗАЦИИ.
После настройки всех роутеров в вашей сети станут доступны IP адреса любого компьютера и вы сможете открыть любой сайт с компьютеров Comp4, Comp7 и Comp8.
Лабораторная работа №5. Построение таблиц маршрутизации.
Выполните самостоятельно следующую работу, схема сети для которой представлена на рис.6.4.
Рис.6.4. Схема сети.
Пять концентраторов представляют следующие пять сетей:
Hub11 – сеть 11.0.0.0
Hub12 – сеть 12.0.0.0
Hub13 – сеть 13.0.0.0
Hub14 – сеть 14.0.0.0
Hub15 – сеть 15.0.0.0
Router 1 имеет дополнительный сетевой интерфейс, который добавляется из модуля WIC-1ENET при выключенном роутере.
В сети три Web узла на Server1, Server2 и Server3.
Сервера и компьютер имеют произвольные IP адреса со шлюзами своих роутеров.
Интерфейсы роутеров определяются сетью на концентраторе и номером роутера.
Например для Router3: 15.0.0.3 и 14.0.0.3
компьютер Comp1 должен открыть все три сайта на серверах корпоративной сети. В настройках Comp1 в качестве DNS сервера указан DNS сервер провайдера на Server_Provider.
Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального
образования
«Сибирский государственный аэрокосмический университет имени академика М.Ф. Решетнева»
Институт информатики и телекоммуникаций (ИИТК) Кафедрабезопасности информационных технологий (БИТ)
Лабораторная работа №6 «Изучение протоколов статической маршрутизации с
использованием Packet Tracer» по дисциплине «Компьютерные сети»
Красноярск 2010
Цель работы: Изучение принципов маршрутизации IP сетей на примере протоколов статической маршрутизации с использованием программного обеспечения построения виртуальных сетей - Packet Tracer. Получение практических навыков по настройке маршрутизаторов Cisco 2811-28xx.
1 О СНОВНЫЕ СВЕДЕНИЯ
Сетевой протокол IP является маршрутизируемым. Для передачи данных от компьютера одной локальной сети к компьютеру другой локальной сети, могут использоваться различные маршруты и маршрутизаторы. В сетях большого масштаба требуется максимально автономная прокладка маршрутов, для чего применяются различные протоколы маршрутизации
Маршрутизация (routing) – процесс определения маршрута следования информации в сетях связи.Задача маршрутизации состоит в определении последовательности транзитных узлов для передачи пакета от источника до адресата. Каждый маршрутизатор имеет от двух и более сетевых интерфейсов, к которым подключены: 1) локальные сети, либо 2) маршрутизаторы соседних сетей. Выбор маршрута или другими словами интерфейса, маршрутизатор осуществляет на основе таблицы маршрутизации. Таблицы маршрутизации содержат информацию о сетях, подключенных локально (непосредственно), и интерфейсов, через которые осуществляется подключение, а также содержатся сведения о маршрутах или путях, по которым маршрутизатор связывается с удаленными сетями, не подключенными локально.
Эти маршруты могут назначаться администратором статически или определяться динамически при помощи программного протокола маршрутизации.
Рис 1 Маршрутизатор Linksys для дома и малого офиса со встроенным коммутатором и точкой доступа
Маршрутизатор (router, роутер) – сетевое устройство третьего уровня модели OSI, обладающее как минимум двумя сетевыми интерфейсами, которые находятся в разных сетях. Причем в сетях могут использовать различные технологии физического и канального уровней. Маршрутизатор может иметь интерфейсы: для работы по медному кабелю, оптическому кабелю, так и по беспроводным «линиям» связи. На физическом и канальном уровне наиболее часто используются технологии Ethernet, FastEthernet, GigabitEthernet, 10GEthernet, Toking Ring, FDDI, PPP, Frame Relay, X.25, SDH, PDH, DWDM и др.
На сетевом уровне используются сетевые протоколы: IPv4, IPv6, IPX, Frame Relay, ATM, X.25. Маршрутизаторы различаются по области их применения. Маршрутизаторы для дома и небольшого офиса имеют малый размер, просты в
настройке. Зачастую в них встроен коммутатор Ethernet и беспроводная точка доступа WiFi.
Высокопроизводительные промышленные маршрутизаторы выпускаются в 19 дюймовых Unit корпусах для монтажа в серверную стойку. Представляют собой шасси с установленными модулями/блоками. Их функциональность, как правило, можно расширить с помощью установки дополнительных модулей. Такие маршрутизаторы отличает высокая скорость обработки пакетов, многофункциональность, возможность передачи данных в различных физических средах (за счет сменных модулей) и использования различных стандартных протоколов, а также мульти сервисность и высокая стоимость.
2 С РЕДСТВА МАРШРУТИЗАЦИИ
Каждый маршрутизатор принимает решения о направлении пересылки пакетов на основании таблицы маршрутизации. Таблица маршрутизации содержит набор правил. Каждое правило в наборе описывает шлюз или интерфейс, используемый маршрутизатором для доступа к определенной сети.
Маршрут состоит из четырех основных компонентов (полей записи):
- значение получателя (адрес сети назначения);
Маска;
- интерфейс (порт);
Адрес шлюза;
- стоимость маршрута или метрика маршрута.
Чтобы переслать сообщение получателю, маршрутизатор извлекает IP-адрес получателя из пакета и находит соответствующее правило в таблице маршрутизации. Значения получателей в таблице маршрутизации соответствуют адресам сетей получателей.
Чтобы определить наличие маршрута к IP-адресу получателя в таблице, маршрутизатор сначала определяет число битов, задающих адрес сети получателя. Затем маршрутизатор ищет в таблице маску подсети, присвоенную каждому из потенциальных маршрутов. Маршрутизатор применяет каждую из масок подсети к IP-адресу получателя в пакете и сравнивает полученный адрес сети с адресами отдельных маршрутов в таблице:
1. при обнаружении совпадающего адреса пакет пересылается на соответствующий интерфейс или к соответствующему шлюзу;
2. если адрес сети соответствует нескольким маршрутам в таблице маршрутизации, маршрутизатор использует маршрут с наиболее точным или наиболее длинным совпадающим фрагментом адреса сети;
3. иногда для одной сети адресата существует несколько маршрутов с равной стоимостью: маршрут, используемый маршрутизатором, выбирается на основе правил протокола маршрутизации;
4. в отсутствие совпадающих маршрутов маршрутизатор направляет сообщение на шлюз, указанный в маршруте по умолчанию, если он настроен.
Появление записей в таблице маршрутизации происходит в основном из трех источников:
1. Программного обеспечения стека протокола TCP/IP. Это записи с особыми IP-адресами: как 127.0.0.0, 224.0.0.0.; записи с адресами,
предназначенные для обработки широковещательных рассылок (записи имеющие маску 255.255.255.255), а также записи о непосредственно подключенных сетях и маршрутах по умолчанию (данная информациярезультат конфигурирования интерфейсов маршрутизатора).
2. Записи с адресами сетей назначения, сформированные вручную администратором с помощью утилиты (команды) ip route . Такие записи называются статическими. Они имеют неограниченный срок жизни.
3. И, наконец, третьим источником записей могут быть протоколы маршрутизации, такие как RIP, OSPF, BGP. Такие записи всегда являются динамическими, то есть имеют ограниченный срок жизни.
Для маршрутизатора желательно поддерживать маршруты к каждому возможному адресу назначения, но при большем количестве сетей, достичь этого полностью невозможно, и часто прибегают к маршруту по «умолчанию». Маршрут по «умолчанию» или «маршрут последней надежды» -это маршрут с адресом куда перенаправляются все пакеты не определенные таблицей маршрутизации.
3 С ПЕЦИАЛЬНЫЕ ТЕРМИНЫ И ПОНЯТИЯ .
Метрика – числовой коэффициент, влияющий на выбор маршрута в компьютерных сетях. Как правило, определяется количеством хопов (ретрансляционных переходов) до сети назначения или параметрами канала связи. Чем метрика меньше, тем маршрут приоритетнее.
Шлюз по умолчанию (default gateway), шлюз последней надежды (last resort gateway)– адрес маршрутизатора, на который отправляется трафик для которого не нашлось отдельных записей в таблице маршрутизации. Для устройств, подключенных к одному маршрутизатору (как правило, это рабочие станции), использование шлюза по умолчанию – единственная форма маршрутизации. Шлюз последней надежды применяется обычно в устройствах (маршрутизаторах), где ситуация, в которой не найдется отдельного маршрута, является исключительной.
Автономная система (AS) – группа маршрутизаторов, обменивающаяся маршрутной информацией при помощи одного протокола.
Шаблонная маска (wildcard mask) – маска, указывающая на количество хостов сети. Является дополнением для маски подсети. Вычисляется по формуле для каждого из октетов маски подсети как 255-маска_подсети. Например, для сети 192.168.1.0 и маской подсети 255.255.255.242 шаблонная маска будет выглядеть как 0.0.0.13. Шаблонная маска используется в настройке некоторых протоколов маршрутизации, а так же является параметром ограничений в списках доступа.
Административное расстояние (administrative distance) – коэффициент надежности маршрута, используемый на маршрутизаторах компании Cisco. Приоритет имеет тот маршрут, который обладает меньшим административным расстоянием. В случае двух одинаковых маршрутов с одинаковым административным расстоянием рассматривается метрика маршрута. Таким образом, использование административных расстояний позволяет резервировать маршруты.
Администра |
|
Источник данных о маршруте | |
расстояние |
|
Непосредственно подключенная сеть | |
Статический маршрут | |
Суммарный маршрут EIGRP | |
Внешний протокол BGP | |
Внутренний протокол EIGRP | |
Протокол IGRP | |
Протокол OSPF | |
Маршрут от одной промежуточной системы к другой (IS-IS) | |
Протокол RIP | |
Протокол внешнего шлюза (EGP) | |
Внешний протокол EIGRP | |
Внутренний протокол BGP | |
Неизвестный источник |
Петля маршрутизации – явление, возникающее, когда маршрутизатор отсылает пакет на адрес назначения, а получивший такой пакет маршрутизатор, возвращает его обратно. Таким образом, получается петля. Для борьбы с подобными петлями в TCP/IP предусмотрен механизм TTL. Протоколы маршрутизации так же предлагают способы борьбы с петлями.
4 П РОТОКОЛЫ МАРШРУТИЗАЦИИ
Протокол маршрутизации - это сетевой протокол, используемый маршрутизаторами для определения возможных маршрутов следования данных в составной компьютерной сети.
Статическая маршрутизация – вид маршрутизации, при котором информация о маршрутах заносится в таблицы маршрутизации каждого маршрутизатора вручную администратором сети. Статические маршруты не изменяются до тех пор, пока администратор не перенастроит их вручную. В таблице маршрутизации эти маршруты обозначаются буквойS . СимволомС в таблице маршрутизации помечены непосредственно присоединенные к маршрутизатору сети. Маршрутизатор задействует административное расстояние каждого маршрута, чтобы определить лучший путь к адресату. Меньшее административное расстояние означает более надежный источник. Данный вид маршрутизацииимеет ряд недостатков :
- Плохая масштабируемость, так как при добавлении N сети потребуется сделать 2*(N+1) записей о маршрутах.
- при достаточно большой сегментации составной сети (N подсетей > 5) таблица маршрутизации на каждом из маршрутизаторов будет сильно отличаться от таблиц на других устройствах.
- Отсутствует возможность адекватно отреагировать на ошибки и отказы оборудования канального и сетевого уровня (когда передача данных невозможна, а порт маршрутизатора по-прежнему находится в активном состоянии(up).
- Ввод всей информации вручную является весьма трудоемкой задачей и влечет за собой необходимость документирования этих маршрутов.
- При изменении топологии сети требуется вручную менять правила маршрутизации, т.е. переконфигурировать таблицу маршрутизатора.
- Все эти проблемы решаются (передачей служебной широковещательной информации в сеть) в протоколах динамической маршрутизации, о которых речь пойдет ниже.
Но есть и положительные качества:
Легкость конфигурации Метод статической маршрутизации является довольно простым для понимания и настройки и по праву считается наименее сложным методом маршрутизации.
- Отсутствует обмен служебной информацией между маршрутизаторами о топологии сетей, таким образом и дополнительная нагрузка на сеть в виде широковещательного служебного трафика, характерного для динамических протоколов маршрутизации.
- При использовании статических записей процессору маршрутизатора не требуется производить никаких расчетов, связанных с определением маршрутов.
Статическая маршрутизация продолжает успешно использоваться при:
- организации работы компьютерных сетей небольшого размера (1-2 маршрутизатора
- на компьютерах (рабочих станциях) внутри сети. В таком случае обычно задается маршрут шлюза по умолчанию.
- в целях безопасности - когда необходимо скрыть некоторые части составной корпоративной сети;
- если доступ к подсети обеспечивается одним маршрутом, то вполне достаточно использовать один статический маршрут. Такой тип сети (подсети) носит названия тупиковой сети (stub network).
Статическая маршрутизация по умолчанию означает, что если пакет предназначен для сети, которая не перечислена в таблице маршрутизации, то маршрутизатор отправит пакет по заданному по умолчанию маршруту. При этом маршрутизатор направляет пакеты к следующему маршрутизатору, когда тот в таблице не задан явно. Заданные по умолчанию маршруты устанавливаются как часть статической конфигурации.
5 П РАКТИЧЕСКОЕ ВЫПОЛНЕНИЕ ЗАДАНИЯ :
Для выполнения лабораторной работы используется ПО Cisco Packet Tracer. Запустите программу Cisco Packet Tracer.
5.1 Б АЗОВАЯ НАСТРОЙКА МАРШРУТИЗАТОРОВ И УСТРОЙСТВ СЕТИ
В области «Логическое пространство» создайте иерархическое дерево сети, аналогичное дереву на данном ScreenShot (Рис.2).
Рис. 2 – Топология сети
5.1. При обозначении коммутаторов, маршрутизаторов, компьютеров выполняем следующее правило, например коммутатор SW-1 обозначается как ,
SW-1-GNN, G-номер группы, NN-порядковый номер в журнале группы (ведущий ноль в данном случае пишется, например G-2, порядковый № 13, запишется как SW-1-213; router1 обозначится как R1-GNN.
5.2. Конструкция выбранного маршрутизатора (2811) предусматривает наличие 2-х интерфейсов Fast Ethernet, для увеличения количества интерфейсов надо установить плату расширения. Выбираем из списка сетевой модуль Cisco NM4A/S на 4 асинхронных/синхронных последовательных порта.
Модуль Cisco NM-4A/S позволяет иметь 4 низкоскоростных последовательных соединений через DB-60 коннекторы, поддерживающие 5 типов интерфейсов (RS-232, RS-449, RS-530, V.35, X.21) и в режиме DTE и в DCE. Такие соединения могут быть сконфигурированы вплоть до 115.2 kbps на асинхронный трафик или 128 kbps на синхронный.
Для этого нужно выключить маршрутизатор. Выбрать плату и установить ее
в свободный разъем. После установки необходимо включить маршрутизатор. На рисунках 1 и 2 показан пример добавления платы NM-4A-S в router1-GNN.
Из имеющегося списка можно выбрать более скоростную плату (модуль), например NM-1FE-FX, данный модуль, предоставляет один интерфейс FastEthernet для подключения оптического кабеля. В этом случае можно достичь скорости 100Mb/s, но придется использовать оптический кабель. Cisco 2811 поддерживает множество других модулей, так например WIC-2A/S поддерживает
Конфигурирование интерфейсов маршрутизаторов
Таблица 1 - Адреса сетей и интерфейсов маршрутизаторов
IP-адрес сети | Интерфейсы | IP-адрес интерфейса |
|
192.100+G.NN.0/24 | |||
192.100+G.10+NN.0/24 | 192.100+G.10+NN.1 |
||
192.100+G.20+NN.0/24 | 192.100+G.20+NN.1 |
||
192.100+G.30+NN.0/24 | 192.100+G.30+NN.1 |
||
Настройку IP-адресов интерфейсов проводить в соответствии с таблицей 1!
5.3. После начальной загрузки маршрутизатораоперационная система предложит продолжитьконфигурирование в диалоговом режиме, от которого следует отказаться (Continue with configuration dialog ? :no ).
Аналогичная запись появляется и при работе с реальными устройствами. В некоторых версиях операционных систем затем необходимо подтвердить завершение диалогового режима.
5.4. Для входа в привилегированный режимвводим команду enable, а
затем для входа в глобальный режим команду config terminal (conf term).
5.5 Для того чтобы войти в режим детального конфигурирования интерфейса, используется команда interface (либо сокращенный ее вариантint ) в глобальном режиме конфигурации. Например, при конфигурировании интерфейса Fast Ethernet с номером 0, входящим в состав слота 0, используетсякоманда
5.6 Установка IP-адреса интерфейса 192.102.13.1 c маской 24 производится следующей командой:
5.7 По умолчанию все интерфейсы выключены. Включение интерфейса производится по команде no shutdown , а выключение – командойshutdown .
Этот краткий FAQ я составил, руководствуясь идеей необходимости вычленить из огромной области знаний, называемой “статическая IP-маршрутизация”, только те вопросы, которые действительно необходимо знать читателю рубрики, в которой помещена эта статья, то бишь, системному администратору.
В повседневной работе рядовой администратор систем, завязанных на LAN, сталкивается с вопросами маршрутизации лишь эпизодически. И, естественно, не имея достаточного времени, чтобы ясно увидеть задачу, он не может эффективно ее решить. Но маршрутизация – это инструмент чрезвычайно гибкий, и достаточно иметь десяток приемов, чтобы вчерашние проблемы превратить в приятную работу. Именно с такими приемами читатель сможет познакомиться, дочитав статью до конца.
Что касается динамической маршрутизации, могу лишь сказать, что это несколько другая тема, которая здесь не рассматривается, но которую невозможно понять, не зная основ в статике.
Ниже рассматриваются примеры, реализованные на ОС Linux. Если вы работаете на другой ОС, то необходимо лишь уточнить синтаксис команд и незначительные детали. Также для понимания поднимаемых вопросов необходимо хорошее понимание IP-адресации и начальные навыки в конфигурировании сетевых устройств.
вопрос 1
Почему хосты, интерфейсы которых имеют IP-адреса, принадлежащие разным логическим сетям, в некоторых случаях могут нормально взаимодействовать без дополнительной маршрутизации? Вот примеры подобных пар IP-адресов: 10.10.1.1/8 – 10.10.2.2/16, 192.168.5.1/16 – 192.168.5.2/24. Ведь в первом случае адреса сетей будут 10.0.0.0 и 10.10.0.0, во втором 192.168.0.0 и 192.168.5.0.
Посмотрим, когда такое “взаимодействие” (назовем так обмен пакетами между интерфейсами хостов) может не получиться. Если на хосте образуется пакет с IP-адресом назначения, не попадающим ни под один из маршрутов внутренней таблицы маршрутизации этого хоста, то он отправляется на маршрут по умолчанию (default gateway, см. также вопрос 6). И решение о том, куда направлять пакет, предоставляется следующему маршрутизатору, и так далее. Таким образом, если верный маршрут до получателя не существует ни на одном из маршрутизаторов по пути следования пакета, он может “потеряться” и не дойти до получателя.
В вопросе же указаны пары адресов, обмен пакетами между которыми вполне осуществим с помощью записей во внутренних таблицах маршрутизаций хостов, добавляемых операционной системой автоматически при активации сконфигурированных интерфейсов. Например, у хоста с активированным и настроенным на IP-адрес 10.10.1.1/8 интерфейсом, во внутренней таблице маршрутизации, помимо других, будет приблизительно такая запись:
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.0 * 255.0.0.0 U 0 0 0 eth0
Теперь посмотрим, подходит ли такая запись для пакета с адресом 10.10.2.2. Применим к этому адресу маску 255.0.0.0 из вышеприведенной записи. Получаем логическую сеть 10.0.0.0. Таким образом, пакет отправится на интерфейс eth0. А для получателя, IP-адрес отправителя пакета совершенно безразличен, и учитывается только при генерации ответа.
То же можно сказать и о хосте с интерфейсом, у которого IP-адрес 10.10.2.2/16. Применение маски 255.255.0.0 к IP адресу 10.10.1.1 даст логическую сеть 10.10.0.0. Маршрут на этом хосте для такой логической сети существует, и пакет с адресом назначения 10.10.1.1 будет отправлен именно по этому маршруту. Замечу, что это может быть ответ на пакет, пришедший с с хоста, рассмотренного первым. В результате получаем полноценный обмен пакетами.
Таким образом, если есть пара интерфейсов в пределах одного физического сегмента, то можно сформулировать следующее простое правило: если применение маски первого интерфейса к обоим IP-адресам дает равный результат, а также применение маски второго интерфейса к обоим IP адресам дает также равный результат, то хосты будут нормально обмениваться пакетами в обоих направлениях.
То, что мы обсудили, имеет название. Supernetting – высвобождение адресов хостов за счет уменьшения количества сетей - метод, обратный выделению подсетей за счет уменьшения количества хостов (subnetting).
вопрос 2
У меня в LAN появился хост с “неподходящей” подсетью в IP-адресе, например, другого класса. Изменять этот IP-адрес нельзя. Что делать? Не менять же адреса у всех хостов, которые с ним работают?
Есть несколько методов решения этой проблемы.
Метод 1.
Самый простой инеэффективный
– добавить дополнительный IP-адрес с подходящей подсетью хосту, который инициирует коннекты. Здесь есть варианты. Можно установить дополнительный интерфейс и сконфигурировать его соответствующим образом. Проще добавить к интерфейсу так называемый alias. Это дополнительный IP-адрес, привязанный к интерфейсу и действующий наравне с основным. Следующая команда присваивает интерфейсу eth0 дополнительный IP адрес 172.16.1.1.
#ifconfig eth0:1 inet 172.16.1.1 netmask 255.255.0.0 broadcast 172.16.255.255
где eth0:x – название виртуальных интерфейсов, которые обслуживаются той же сетевой картой, что и интерфейс eth0. Указание broadcast в данном случае не обязательно, но если вы практикуете использование нестандартных масок, рекомендую взять в привычку указание этого параметра, т.к. по умолчанию принимается значение, соответствующее классу IP-адреса и часто не соответствует указанной маске.
Замечу, что при добавлении интерфейса с IP-адресом либо IP alias, всегда автоматически добавляется соответствующий маршрут в таблицу маршрутизации. Именно это обстоятельство позволяет решить нашу проблему.
Недостаток данного метода в необходимости конфигурирования большого количества клиентов.
Метод 2.
Можно добавить в хосты, инициирующие коннекты, соответствующий маршрут. Например. Клиентский хост имеет знакомый из предыдущего вопроса IP-адрес 10.10.2.2/16. Сервер имеет IP-адрес 172.16.1.200/16. Добавляем на клиентском хосте маршрут.
#route add –net 172.16.0.0 netmask 255.255.0.0 eth0
Тем самым мы указываем, что все пакеты, предназначенные для логической сети 172.16.0.0, нужно отправлять на интерфейс eth0. Этого достаточно, чтобы клиентский хост с IP-адресом 10.10.2.2/16 мог устанавливать сессии с сервером 172.16.1.200/16. Этот метод на самом деле мало отличается от первого:-)
/* Можно также использовать маршрут на отдельный хост (подробнее рассмотрен в вопросе 6). Если в приведенном выше примере не существенно, какую форму записи маршрута (на хост или на сеть) выбрать, есть ситуации, когда маршрут на хост является единственно возможным вариантом. Сразу пример: внутри нашей сети, использующей «нереальные» (fake) адреса, находится хост с реальным адресом, причем все остальные его собратья по IP-сети (подсети) находятся в другом месте (за шлюзом, например). В этом случае можно использовать только маршрут на хост. - прим. ред. */
Метод 3. Может оказаться очень эффективным метод указания маршрута на шлюзе (благо он есть практически в любой организации), если клиентские рабочие станции уже настроены на него. На Рис. 1 показана такая ситуация. Многочисленные клиентские хосты (Cx) настроены на шлюз по умолчанию 10.10.99.99/16. Тогда на G1 добавляем маршрут, как это сделано в предыдущем пункте.
G1#route add –net 172.16.0.0 netmask 255.255.0.0 eth0
Тогда все пакеты хостов Сx к адресу 172.16.1.200/16 будут вначале перенаправляться на G1, потому что на Cx маршрута на сеть 172.16.0.0 нет и, следовательно, применяется маршрут по умолчанию (default) на 10.10.99.99, а затем с G1 согласно указанного нами маршрута на интерфейс, подключенный к внутренней LAN. Это может быть интерфейс eth0. А может быть и дополнительный eth1. И, наконец, с этого интерфейса пакеты попадают на S1 .
/* Кстати, если уж вводить на G1 дополнительный интерфейс, можно изменить и схему подключения G1 и S1, а именно: S1 включить напрямую в eth1 на G1, оставив последнему только одну точку подключения к LAN. С точки зрения network design’a это несколько корректней, особенно применительно к некоммутируемому Ethernet, хотя в каждом конкретном случае могут быть свои нюансы. - прим. ред. */
Вот результат применения команды tracert на Windows-машине C1 в описанном случае.
С1>tracert 172.16.1.200
Tracing route to 172.16.1.200 over a maximum of 30 hops
1 1 ms <1 ms <1 ms 10.10.99.99
2 1 ms <1 ms <1 ms 172.16.1.200
Trace complete.
Недостаток этого метода очевиден. Весь трафик будет проходить через G1, поэтому необходимо предусмотреть достаточную пропускную способность оборудования по всему маршруту следования трафика.
вопрос 3
Третий метод замечательно работает, но теперь S1 не видит клиентов Cx!
Все верно. Теперь посмотрим на S1 как клиента для Cx. Чего не хватает? Маршрута для сети 10.10.0.0 на S1. Добавляем.
S1#route add –net 10.10.0.0 netmask 255.255.0.0 eth0
На этот раз нет смысла заворачивать маршрут на G1, потому что есть возможность прописать маршрут сразу на S1, и только один раз.
вопрос 4
А если в обсуждаемой выше схеме хосту G1 присвоить дополнительный IP 172.16.x.x? Тогда нет необходимости прописывать маршрут?
Совершенно верно. Можно было на G1 не добавлять маршрут, а присвоить IP-адрес интерфейсу eth1, либо IP alias на eth0, как описано в методе 1 вопроса 2. Тогда остается добавить маршрут по умолчанию на наш законный шлюз (как это сделано на всех клиентах Cx) на сервере S1, чтобы он мог инициировать коннекты к Cx.
S1#route add default gw 10.10.99.99
Получаем еще одну полностью работающую схему. Думаю, здесь вопросов больше нет.
вопрос 5
Какие существуют способы диагностики, помогающие устранить ошибки в конфигурации маршрутов?
Выявление ошибок, на мой взгляд, удобно проводить, двигаясь от конечного интерфейса к начальному. Последовательный ping в таком направлении обычно сразу позволяет выявить этап, на котором застревают пакеты. Следует отметить опцию –R в команде ping. Она показывает маршрут движения пакета, подобно тому, как это делает команда traceroute. Для того, чтобы увидеть пришедший ICMP-пакет на интерфейс назначения может пригодится сетевой монитор, скажем, tcpdump. Например, команда
#tcpdump proto ICMP
показывает все пакеты, порожденные программой ping, и может быть полезна для диагностики ситуации, когда пакеты доходят до хоста назначения, но ответы на них не доходят до пингующего хоста.
Для проверки правильности прохождения пакетами маршрутов незаменимой остается traceroute. Напомню, что каждая строка (hop) означает изменение маршрута согласно таблиц маршрутизации. Первая строка обычно порождается таблицей маршрутизации хоста, с которого идет трассировка. Каждая последующая – прохождение маршрутизатора.
Очень важно, на мой взгляд, понимание следующего тезиса. IP-маршрутизация работает на сетевом (3-м) уровне модели OSI и опирается на канальный (2-й). В этом смысле маршрутизатор можно условно назвать коммутатором 3-го уровня. Для того чтобы отделить ошибки, не связанные с маршрутизацией, нужно провести диагностику на канальном уровне. Тогда, убедившись, что на этом уровне все хорошо, можно искать проблемы на сетевом уровне.
Отличной проверкой правильной работы канального уровня /* точнее, сопряжения канального уровня с сетевым - прим. ред. */ может служить наличие корректного MAC-адреса нужного интерфейса в ARP-кэше. Например.
source_host>ping –с 1
source_host>arp –a
Сверив полученный из кэша адрес с истинным адресом интерфейса (команда ifconfig),
target_host>ifconfig
можно сказать что, скорее всего, на канальном уровне все в порядке.
/* Когда ситуация в вашей сети еще не совсем «устаканилась», то бишь вы часто меняете адреса на некоторых хостах/интерфейсах, изучение ARP-кэша поможет вам отыскать самый что ни на есть классический глюк: если некий адрес только что принадлежал одному хосту и его переназначили другому, то MAC-адрес прежнего хозяина того IP-адреса, который вы столь усердно и безрезультатно пингуете, мог просто застрять в ARP-кэше. Пакеты уходят «вникуда», их там никто не ждет - старый владелец адреса может быть отключен или ему назначен другой адрес и он пытается смаршрутизировать пакеты... ерунда в общем полная:)
Очистить ARP-кэш (полностью или частично) можно с помощью команды arp –d. - прим. ред. */
В принципе, пяти команд – ifconfig, route, ping, arp, и traceroute хватает для решения любой задачи статической маршрутизации. Ну и сетевой анализатор, как было сказано выше, не помешает.
вопрос 6
Какие еще существуют записи для таблицы маршрутизации?
Пока мы применяли один тип маршрута – трафик логической подсети направлялся на интерфейс. Другой тип маршрута для выделения нужного трафика - это маршрут для указанного хоста. Т.е. есть возможность указать маршрут персонально для одного хоста (опция add -host), хотя применяется такая запись редко.
Это были виды маршрутов с точки зрения критериев принятия решения о выборе записи.
С точки зрения направления движения трафика помимо рассмотренного нами указания интерфейса есть возможность перенаправить пакеты на указанный IP-адрес шлюза (gateway). Тогда не учитывается конкретный IP-адрес, указанный в пакетах и, следовательно, принятие решения о цели пакетов откладывается до следующего маршрутизатора. Таких перенаправлений может быть сколь угодно много, и ограничено лишь значением TTL (Time To Live).
Частным случаем перенаправления на шлюз является запись default. Это запись для сети, имеющей значение 0.0.0.0, т.е. “вся сеть“. Правило для такого маршрута срабатывает, когда IP-адрес цели пакета не подходит ни под один из критериев, указанных в таблице маршрутизации. На практике маршрут по умолчанию следует настраивать на шлюз в Интернет. В этом есть практический смысл. Если хосты, которые запрашивает клиент, отсутствуют в LAN, то они могут быть в остальной сети, т.е. в Интернет.
В добавлении маршрута на конкретный IP-адрес есть одна особенность. Для IP-адреса шлюза уже должен существовать маршрут. Иначе неизвестно куда отправлять пакет. Поясню сказанное на примере. Сначала добавляем запись для сети 192.168.5.0, а затем уже запись для сети 172.16.0.0 на шлюз 192.168.5.1.
#route add –net 192.168.5.0 netmask 255.255.255.0 eth0
#route add –net 172.16.0.0 netmask 255.255.0.0 gw 192.168.5.1 eth0
вопрос 7
Моя LAN разделена на две большие части, которые соединены достаточно медленной (1Мбт/c) линией. Широковещательный трафик занимает значительную долю этой линии. Как мне разделить две эти сети на подсети, чтобы проходил трафик только с конкретными IP-адресами?
Собственно, это главная задача маршрутизации – уменьшать трафик за счет разделения сетей, либо другими словами, направлять трафик по назначению и никуда более.
Разберем пример, когда LAN состоит из двух частей, соединенных относительно низкоскоростным каналом (Рис. 2). Подключение к Интернет имеет только первая часть. Это приемлемо, когда канал в Интернет еще более узок, чем канал между частями LAN.
Рассмотрим конфигурацию приведенной схемы.
Верхняя часть.
G1#echo "1" >
R1#echo "1" > /proc/sys/net/ipv4/ip_forward
R1#route add default gw 10.10.99.99
Нижняя часть.
R2#echo "1" > /proc/sys/net/ipv4/ip_forward
На хостах G1, R1, R2 должен быть включен форвард пакетов между сетевыми адаптерами. Вписываем “1” в файл /proc/sys/net/ipv4/ip_forward, если это не сделано.
Множество клиентов Cx имеют настройку на шлюз G1 для всех неизвестных сетей (по умолчанию). Любой обращение к сетям, отличным от 10.10.0.0, обрабатывает G1. В случае, если идет обращение к сети 10.20.0.0, шлюз G1 перенаправляет это обращение к маршрутизатору R1. А маршрутизатор R1 перенаправляет на маршрутизатор R2. В свою очередь R2 непосредственно находится в сети 10.20.0.0. и направляет обращение к нужному клиенту.
Обращаю внимание еще раз, что трафик в направлении сети 10.20.0.0 проходит через шлюз G1, и необходимо предусмотреть достаточную для этого полосу пропускания. В нашем примере предусмотрена дополнительная сетевая карта eth1, хотя можно обойтись и без нее. Я ее включил в конфигурацию только для наглядности.
Теперь посмотрим на движение ответа на рассмотренный запрос. Удаленные клиенты CRx имеют настройку по умолчанию на шлюз R2. IP-адрес хоста назначения будет относиться к сети 10.10.0.0 и, следовательно, ответ на запрос направится на R2. Здесь такой маршрут снова неизвестен, ответ перенаправлятся по маршруту по умолчанию, на R1, на котором есть интерфейс с подходящей сетью 10.10.0.0. Здесь ответ направляется сразу непосредственно на Cx, минуя шлюз G1, что нас вполне устраивает.
Рассмотрим движение запросов в Интернет всех клиентов Cx и CRx. Предполагаем, что запросы обрабатываются посредством Source network address translation (SNAT), и обеспечивается шлюзом G1. В верхней части клиенты Cx имеют простое подключение к Интернету посредством указания маршрута по умолчанию. Думаю, здесь все ясно. В нижней части клиенты имеют маршрут по умолчанию на шлюз R2. Попав на R2, запрос будет перенаправлен дальше опять по маршруту по умолчанию на R1. На R1 ситуация повторится, и запрос уйдет на шлюз в Интернет G1. Далее по назначению. Ответы на запрос пойдут по тому же маршруту в обратном направлении. Для этого на G1 и R1 уже предусмотрены маршруты для сети 10.20.0.0.
Если нужно в нижней части схемы добавить дополнительный шлюз G2 (10.20.99.99/16) с подключением клиентов CRx в Интернет, то просто зеркально отображаем конфигурацию из верхней части.
С1#route add default gw 10.10.99.99
G1#echo "1" > /proc/sys/net/ipv4/ip_forward
G1#route add –net 10.20.0.0 netmask 255.255.0.0 gw 10.10.99.98 eth1
R1#echo "1" > /proc/sys/net/ipv4/ip_forward
R1#route add –net 10.20.0.0 netmask 255.255.0.0 gw 172.17.1.2 eth1
R1#route add default gw 10.10.99.99
G2#echo "1" > /proc/sys/net/ipv4/ip_forward
G2#route add –net 10.10.0.0 netmask 255.255.0.0 gw 10.20.99.98 eth1
СR1#route add default gw 10.20.99.99
R2#echo "1" > /proc/sys/net/ipv4/ip_forward
R2#route add –net 10.10.0.0 netmask 255.255.0.0 gw 172.17.1.1 eth1
R2# route add default gw 10.20.99.99
То же можно сказать о необходимости убрать шлюзы в Интернет совсем. Тогда копируем конфигурацию с нижней части схемы в верхнюю. Конфигурация в этом случае упрощается до безобразия:-).
С1#route add default gw 10.10.99.98
R1#echo "1" > /proc/sys/net/ipv4/ip_forward
R1#route add default gw 172.17.1.2
СR1#route add default gw 10.20.99.98
R2#echo "1" > /proc/sys/net/ipv4/ip_forward
R2# route add default gw 172.17.1.1
вопрос 8
Как сделать так, чтобы конфигурация маршрутов сохранялась после перезагрузки компьютера?
Нужно внести соответствующие изменения в соответствующие файлы:-). Это проще сделать с помощью какой-нибудь комплексной утилиты. Например, с этим прекрасно справляется Linuxconf. Но я предпочитаю делать отдельный скрипт, который включает все настройки, и запускать его автоматически на третьем уровне исполнения. В этом есть значительные преимущества. В скрипте можно одним взглядом охватить всю конфигурацию. Это может оказаться полезным, если она достаточно сложна. Удобно, также, собирать однотипные скрипты со всех хостов для проведения переконфигурирования, либо резервирования конфигурации.
Александр Мисюк, Alexter at tut.by.
Выражаю признательность шеф-редактору за существенное замечание и указание на допущенную мной ошибку в этом вопросе
Всем привет сегодня мы с вами поговорим про такую вещь как статическая маршрутизация в оборудовании Cisco. Эта статья продолжение поста Как настроить маршрутизатор cisco / Организация сети для небольшого офиса . Там мы настроили локальную сеть в двух офисах компании, один маленький офис, второй чуть побольше. На роутере во втором офисе мы остановились на настройке статической маршрутизации, чем мы и займемся.
Первое с чем нужно познакомиться, это с понятием таблицы маршрутизации. Если в двух словах это некая карта маршрутов, до сетей о которых знает ваш коммутатор 3 уровня или роутер. Для большей наглядности ее можно сравнить с картой дорог до городов России. И для того, чтобы например мне попасть из Москвы в Нижний Новгород, я должен выбрать определенную дорогу. Так и ваш роутер выбирает ее. Далее если мне нужно из Москвы попасть в Казань, и мне нужно ехать туда через Нижний Новгород, то В НН должен быть свой маршрут до Казани и так далее.
Статический маршрут - это постоянный неизменный маршрут, чаще всего прописанный в ручную.
У нас есть филиал, в котором 3 компьютера коммутатор второго уровня Cisco 2960 и Роутер Cisco 1841, есть три vlan (2,3,4). Есть главный офис в котором есть 5 vlan (2,3,4,5), маршрутизацией локального трафика занимается ядро в виде коммутатора 3 уровня Cisco 3560, который VLAN 5 подключен к роутеру Cisco 2911, на котором настроен будет интернет и канал до филиала.
В предыдущем посте где мы создавали данную локальную сеть я не настроил vlan 5 на роутере и ядре, исправим это.
enable
conf t
Создаем Vlan 5
vlan 5
name VLAN5
exit
Настроим ip адрес VLAN5
int vlan 5
ip address 192.168.5.1 255.255.255.0
exit
Добавим порт gi1/1 в VLAN5
int gi0/1
выставляем режим доступа
switchport mode access
switchport access vlan 5
no shutdown
do wr mem
Так как у нас локальной маршрутизацией трафика занимается ядро то тут sub интерфейсов создавать не нужно. Настроим порт роутера gi0/0 на vlan5.
enable
conf t
Настроим ip адрес VLAN5
int gi0/0
ip address 192.168.5.251 255.255.255.0
no shutdown
do wr mem
Так как наш роутер Cisco 2911 ничего не знает о сетях 192.168.1.0, 192.168.2.0, 192.168.3.0, то нужно задать ему статические маршруты до них, через ядро делается это следующим образом.
Удостоверимся что пинг не проходит до компьютера 192.168.1.1, вводим на роутере.
ping 192.168.1.1
Видим ответов нет
Переходим в режим конфигурирования командой
и смотрим команду ip:
Router(config)#ip ?
access-list Named access-list
cef Cisco Express Forwarding
default-gateway Specify default gateway (if not routing IP)
default-network Flags networks as candidates for default routes
dhcp Configure DHCP server and relay parameters
domain IP DNS Resolver
domain-lookup Enable IP Domain Name System hostname translation
domain-name Define the default domain name
flow-export Specify host/port to send flow statistics
forward-protocol Controls forwarding of physical and directed IP broadcasts
ftp FTP configuration commands
host Add an entry to the ip hostname table
local Specify local options
name-server Specify address of name server to use
nat NAT configuration commands
route Establish static routes
routing Enable IP routing
ssh Configure ssh options
tcp Global TCP parameters
Нам нужна команда ip route.
так как ip адрес на ядре сети (Cisco 3560) у VLAN 5 у нас 192.168.5.1 то он будет выступать для нас шлюзом. В итоге пишем.
ip route 192.168.1.0 255.255.255.0 192.168.5.1
ip route 192.168.2.0 255.255.255.0 192.168.5.1
ip route 192.168.3.0 255.255.255.0 192.168.5.1
и выполнив теперь команду Ping мы видим. что пакет дошел до 192.168.1.1
Все бы хорошо, но мы не правильно спланировали сеть в удаленном офисе. Так как там как и в главном, тоже есть сеть 192.168.1.0, 192.168.2.0, 192.168.3.0, такого быть не должно иначе получается дубли. Как правильно планировать сеть я писал тут, вам нужно перенастроить, как ранее описано в предыдущей статье. В итоге в филиале я заменил сети на 11, 22, 33 третьи актеты ip адреса. Общая картина теперь выглядит так.
Соединяем наши роутеры. Предположим, что между ними есть прямой линк, в жизни конечно это VPN канал . настроим в начале роутер Cisco 2911 в главном офисе.
маска тут 32 бита так как нам достаточно всего 2 ip адреса.
enable
conf t
int gi0/1
no shutdown
ip address 192.168.100.1 255.255.255.252
end
wr mem
Теперь настроим роутер Cisco 1841 в филиале. У меня это интерфейс fa0/1
enable
conf t
int fa0/1
ip address 192.168.100.2 255.255.255.252
no shutdown
do wr mem
У нас загорелись порты обоих коммутаторов.
Проверяем пинги с роутеров друг до друга
do ping 192.168.100.1
Видим, что все успешно.
Пробуем например с роутера в филиале пропинговать компьютер 192.168.1.1, и естественно пинг не пройдет так как нет маршрутов, чем мы и займемся. Так как у нас один шлюз соединения между офисами, то правильнее будет прописать один дефолтный путь, но можно и прописывать конкретный статический маршрут, например если основной шлюз интернет и весь трафик по умолчанию идет туда и вы хотите на конкретную сеть завернуть через другой шлюз.
ip route 0.0.0.0 0.0.0.0 192.168.100.1
но если бы нужно было прописать ручками каждый то вот так
ip route 192.168.1.0 255.255.255.0 192.168.100.1
ip route 192.168.2.0 255.255.255.0 192.168.100.1
ip route 192.168.3.0 255.255.255.0 192.168.100.1
do wr mem
Настроим теперь роутер у главного офиса, нам нужно добавить маршруты до сетей 192.168.11.0, 192.168.22.0, 192.168.33.0.
ip route 0.0.0.0 0.0.0.0 192.168.100.2
либо если нужно в ручную отдельным маршрутом.