Рейтинг@Mail.ru

NetCloud

Простыми словами о сетевых технологиях

Настройка статических маршрутов в Cisco

Сегодня начинается серия статей про настройку маршрутизации на оборудовании Cisco. Ранее на моем сайте уже рассматривалось понятие маршрутизации в общем виде (без привязки к конкретному оборудованию). Если вы не понимаете смысл таких слов как «метрика», «таблица маршрутизации», «протоколы динамический маршрутизации», то настоятельно советую почитать вводную статью.

Маршрутизация — это определение оптимального пути следования информации в сетях связи. За этот процесс отвечает маршрутизатор. Маршрутизатор, принимая пакет данных, извлекает из него IP-адрес назначения, после чего смотрит в свою таблицу маршрутизации. В таблице маршрутизации находится информация, которая описывает соответствие между Ip-адресом назначения и интерфейсом, куда следует отправить пакет. Если возможных путей несколько, то принимается решение на основании метрик — стоимости маршрута. Чем меньше стоимость — тем лучше. Так вот основная идея в том, каким образом маршрутизатор строит эти таблицы маршрутизации. И тут есть три способа:

  1. Прямое соединение. В этом случае подсеть подключается напрямую к интерфейсу маршрутизатора. Метрика в данном случае будет минимальна — то есть маршрутизатор доверяет такому пути больше всего. Что логично, подсеть ведь подключена напрямую.
  2. Статическая маршрутизация. Подразумевает занесение маршрутной информации администратором через определенные команды. Этим мы и займемся сегодня.
  3. Динамическая маршрутизация. В ней применяются различные протоколы маршрутизации, в результате чего маршрутизатор строит свои таблицы автоматически. Рассмотрим в следующих статьях.

Перейдем к настройке схемы.

test200

Имеется две физически разделенных подсети — сеть для офиса (172.16.100.0/28) и для серверной фермы (172.16.200.0/28). Также есть условный провайдер, который предоставляет услугу L2VPN между этими подсетями. Иными словами, провайдер дает VLAN 33 для соединения двух разделенных сетей. Соответственно первая задача состоит в том, чтобы обеспечить связность между офисом и серверной фермой. Для того, чтобы обеспечить связность необходимо настроить статические маршруты между r1.ekt10 и r1.ekt20. Статический маршрут должен быть настроен в обе стороны.

Конфигурация для r1.ekt10:

r1.ekt10#configure terminal - переходим в режим конфигурации
r1.ekt10(config)#interface fa 0/0 - настраиваем интерфейс в сторону Офиса
r1.ekt10(config-if)#description sw1.ekt10 - описание интерфейса
r1.ekt10(config-if)#ip address 172.16.100.1 255.255.255.0 - задаем Ip шлюза по-умолчанию Офисной сети
r1.ekt10(config-if)#no shutdown - включаем интерфейс физически
r1.ekt10(config-if)#exit
r1.ekt10(config)#interface fastEthernet 0/1 - настраиваем интерфейс в сторону Провайдера
r1.ekt10(config-if)#description PROVIDER-SW - описание интерфейса
r1.ekt10(config-if)#no shutdown - включаем интерфейс физически
r1.ekt10(config-if)#exit
r1.ekt10(config)#interface fastEthernet 0/1.33 - настраиваем сабинтерфейс в сторону Серверной фермы
r1.ekt10(config-subif)#description Server's ferm - описание интерфейса
r1.ekt10(config-subif)#encapsulation dot1q 33 - тегирование кадров 33 VLAN'ом
r1.ekt10(config-subif)#ip address 10.0.0.1 255.255.255.252 - задаем Ip-адрес для PtP-сети (Офис-С.Ферма) 
r1.ekt10(config-subif)#exit
r1.ekt10(config)#ip route 172.16.200.0 255.255.255.0 10.0.0.2 - статический маршрут в сторону Серверной фермы

Команда ip route 172.16.200.0 255.255.255.0 10.0.0.2 означает, что все пакеты в подсеть 172.16.200.0/24 необходимо пересылать на шлюз 10.0.0.2 (r1.ekt20).

Конфигурация для r1.ekt20:

r1.ekt20#configure terminal - переходим в режим конфигурации
r1.ekt20(config)#interface fa 0/0 - настраиваем интерфейс в сторону Офиса
r1.ekt20(config-if)#description sw1.ekt20 - описание интерфейса
r1.ekt20(config-if)#ip address 172.16.200.1 255.255.255.0 - задаем Ip шлюза по-умолчанию Серверной фермы
r1.ekt20(config-if)#no shutdown - включаем интерфейс физически
r1.ekt20(config-if)#exit
r1.ekt20(config)#interface fastEthernet 0/1 - настраиваем интерфейс в сторону Провайдера
r1.ekt20(config-if)#description PROVIDER-SW - описание интерфейса
r1.ekt20(config-if)#no shutdown - включаем интерфейс физически
r1.ekt20(config-if)#exit
r1.ekt20(config)#interface fastEthernet 0/1.33 - настраиваем сабинтерфейс в сторону Офиса
r1.ekt20(config-subif)#description Office - описание интерфейса
r1.ekt20(config-subif)#encapsulation dot1q 33 - тегирование кадров 33 VLAN'ом
r1.ekt20(config-subif)#ip address 10.0.0.2 255.255.255.252 - задаем Ip-адрес для PtP-сети (С.Ферма-Офис) 
r1.ekt20(config-subif)#exit
r1.ekt20(config)#ip route 172.16.100.0 255.255.255.0 10.0.0.1 - статический маршрут в сторону Офиса

Для тех, кто захочет собрать эту схему в Packet Tracer я дополнительно покажу настройку провайдерского свича и маршрутизатора.

Конфигурация для PROVIDER-SW:

PROVIDER-SW#configure terminal - переходим в режим конфигурации
PROVIDER-SW(config)#interface fa 0/1 - настраиваем интерфейс в сторону свича Офиса
PROVIDER-SW(config-if)#description sw1.ekt10 - описание интерфейса
PROVIDER-SW(config-if)#switchport mode trunk - переводим порт в транковый (нетегированный) режим
PROVIDER-SW(config-if)#switchport trunk allowed vlan 33 - пропускаем 33 VLAN
PROVIDER-SW(config-if)#exit
PROVIDER-SW(config)#interface fa 0/2 - настраиваем интерфейс в сторону свича Серверов
PROVIDER-SW(config-if)#description sw1.ekt20 - описание интерфейса
PROVIDER-SW(config-if)#switchport mode trunk - переводим порт в транковый (нетегированный) режим
PROVIDER-SW(config-if)#switchport trunk allowed vlan 33 - пропускаем 33 VLAN
PROVIDER-SW(config-if)#exit

Отмечу, что данная конфигурация коммутатора не имеет ничего общего с реальной конфигурацией L2VPN. Мы только моделируем услугу, представляя весь канал в виде одного коммутатора, пропускающего 33 VLAN.

Проверяем связность между Офиса и Серверной фермы. Запускаем пинг с компа (172.16.100.2), находящегося в Офисе, к серверу (172.16.200.2):

test-stat1Как видим пинг есть. Проверим на всякий случай с другой стороны:





test-stat2

Связность между двумя подсетями настроена. Покажу еще таблицу маршрутизации на r1.ekt10:

test-stat3

Вызывается таблица маршрутизации командой show ip route. В таблице есть три записи: две из них со статусом C (Connected — подключение напрямую), одна — со статусом S (Static — статический маршрут). Напрямую подключена подсеть PtP (Point to Point, точка — точка) — которая обеспечивает связность между r1.ekt10 и r2.ekt20. Подсеть PtP находится на сабинтерфейсе fa0/1.33. Также напрямую подключена подсеть Офиса, находящаяся на интерфейсе fa0/0. Статический маршрут мы задали вручную командой ip route 172.16.200.0 255.255.255.0 10.0.0.2. Когда маршрутизатор получает пакет в подсеть 172.16.200.0/28, он смотрит в свою таблицу маршрутизации и понимает, что данная подсеть находится за хопом (маршрутизатором) 10.0.0.2 (r1.ekt20). Далее он смотрит где находится этот хоп. А находится он на сабинтерфейсе fa0/1.33. Посылая пакет на данный сабинтерфейс, маршрутизатор добавляет тег VLAN = 33 (так как ранее мы заказали у провайдера услугу L2VPN, который нам выдал VLAN=33). Пакет идет до маршрутизатора r1.ekt20, который в свою очередь шлет его серверу 172.16.200.2.

Рассмотрим вторую ситуацию. Помимо услуги L2VPN провайдер предоставляет также доступ в Интернет. В качестве Интернета я решил условно использовать Web-server своего сайта netclo.ru с Ip-шником, выданным хостинг-провайдером. Принцип настройки будет такой-же, но мы в этот раз столкнемся с таким понятием как шлюз по-умолчанию (Default gateway). 

Шлюз по-умолчанию — это маршрутизатор, на который отправляется пакет в том случае, если маршрут к сети назначения пакета не известен (не задан явным образом в таблице маршрутизации). Проще говоря, если рутер не знает куда слать пакет — он шлет его на шлюз по-умолчанию.

Конфигурация для r1.ekt10:

r1.ekt10#configure terminal - переходим в режим конфигурации
r1.ekt10(config)#interface fa 0/1.66 - настраиваем интерфейс для Интернета
r1.ekt10(config-if)#description INTERNET - описание интерфейса
r1.ekt10(config-if)#encapsulation dot1q 66 - тегируем 66 VLAN
r1.ekt10(config-if)#ip address 10.0.0.5 255.255.255.252 - задаем Ip-адрес для связи с провайдером
r1.ekt10(config-if)#exit
r1.ekt10(config)#ip route 0.0.0.0 0.0.0.0 10.0.0.6 - шлем "левые" пакеты на шлюз провайдера

Конфигурация для r1.ekt20:

r1.ekt20#configure terminal - переходим в режим конфигурации
r1.ekt20(config)#interface fa 0/1.99 - настраиваем интерфейс для Интернета
r1.ekt20(config-if)#description INTERNET - описание интерфейса
r1.ekt20(config-if)#encapsulation dot1q 99 - тегируем 99 VLAN
r1.ekt20(config-if)#ip address 10.0.0.9 255.255.255.252 - задаем Ip-адрес для связи с провайдером
r1.ekt20(config-if)#exit
r1.ekt20(config)#ip route 0.0.0.0 0.0.0.0 10.0.0.10 - шлем "левые" пакеты на шлюз провайдера

Конфигурация для PROVIDER-SW

PROVIDER-SW#configure terminal - переходим в режим конфигурации
PROVIDER-SW(config)#interface fa 0/1 - настраиваем интерфейс в сторону свича Офиса
PROVIDER-SW(config-if)#switchport trunk allowed vlan add 66 - добавляем 66 VLAN
PROVIDER-SW(config-if)#exit
PROVIDER-SW(config)#interface fa 0/2 - настраиваем интерфейс в сторону свича Серверов
PROVIDER-SW(config-if)#switchport trunk allowed vlan add 99 - добавляем 99 VLAN
PROVIDER-SW(config-if)#exit
PROVIDER-SW(config)#interface fa 0/24 - настраиваем интерфейс в сторону PROVIDER-GW
PROVIDER-SW(config-if)#description PROVIDER-GW - описание интерфейса
PROVIDER-SW(config-if)#switchport trunk allowed vlan 66,99 - пропускаем VLAN 66,99

Конфигурация для PROVIDER-GW:

PROVIDER-GW#configure terminal - переходим в режим конфигурации
PROVIDER-GW(config)#interface gi 0/0 - настраиваем интерфейс в сторону PROVIDER-SW
PROVIDER-GW(config-if)#no shutdown - включаем интерфейс физически
PROVIDER-GW(config-if)#exit
PROVIDER-GW(config)#interface gi 0/0.66 - настраиваем связность с Офисом
PROVIDER-GW(config-if)#description Office_net - описание интерфейса
PROVIDER-GW(config-if)#encapsulation dot1q 66 - тегируем 66 VLAN'ом
PROVIDER-GW(config-if)#ip address 10.0.0.6 255.255.255.252 - задаем Ip-адрес шлюза по-умолчанию
PROVIDER-GW(config-if)#exit
PROVIDER-GW(config)#interface gi 0/0.99 - настраиваем связность с Серверной фермой
PROVIDER-GW(config-if)#description Server's ferm - описание интерфейса
PROVIDER-GW(config-if)#encapsulation dot1q 99 - тегируем 99 VLAN'ом
PROVIDER-GW(config-if)#ip address 10.0.0.10 255.255.255.252 - задаем Ip-адрес шлюза по-умолчанию
PROVIDER-GW(config-if)#exit
PROVIDER-GW(config)#ip route 172.16.100.0 255.255.255.0 10.0.0.5 - статический маршрут в подсеть Офиса
PROVIDER-GW(config)#ip route 172.16.200.0 255.255.255.0 10.0.0.9 - статический маршрут в подсеть Серверов
PROVIDER-GW(config)#interface gi 0/1 - настраиваем порт в сторону Интернета
PROVIDER-GW(config-if)#description INTERNET- описание интерфейса
PROVIDER-GW(config-if)#ip address 88.212.244.1 255.0.0.0 - задаем Ip-адрес и маску
PROVIDER-GW(config-if)#no shutdown - включаем интерфейс физически

Проверим Интернет. С компьютера в Офисе пингуем наш условный веб-сервер.

test100

Пинг идет, значит дефолтные маршруты настроены правильно.