Сегодня начинается серия статей про настройку маршрутизации на оборудовании Cisco. Ранее на моем сайте уже рассматривалось понятие маршрутизации в общем виде (без привязки к конкретному оборудованию). Если вы не понимаете смысл таких слов как “метрика”, “таблица маршрутизации”, “протоколы динамический маршрутизации”, то настоятельно советую почитать вводную статью.
Маршрутизация – это определение оптимального пути следования информации в сетях связи. За этот процесс отвечает маршрутизатор. Маршрутизатор, принимая пакет данных, извлекает из него IP-адрес назначения, после чего смотрит в свою таблицу маршрутизации. В таблице маршрутизации находится информация, которая описывает соответствие между Ip-адресом назначения и интерфейсом, куда следует отправить пакет. Если возможных путей несколько, то принимается решение на основании метрик – стоимости маршрута. Чем меньше стоимость – тем лучше. Так вот основная идея в том, каким образом маршрутизатор строит эти таблицы маршрутизации. И тут есть три способа:
- Прямое соединение. В этом случае подсеть подключается напрямую к интерфейсу маршрутизатора. Метрика в данном случае будет минимальна – то есть маршрутизатор доверяет такому пути больше всего. Что логично, подсеть ведь подключена напрямую.
- Статическая маршрутизация. Подразумевает занесение маршрутной информации администратором через определенные команды. Этим мы и займемся сегодня.
- Динамическая маршрутизация. В ней применяются различные протоколы маршрутизации, в результате чего маршрутизатор строит свои таблицы автоматически. Рассмотрим в следующих статьях.
Перейдем к настройке схемы.
Имеется две физически разделенных подсети – сеть для офиса (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):
Как видим пинг есть. Проверим на всякий случай с другой стороны:
Связность между двумя подсетями настроена. Покажу еще таблицу маршрутизации на r1.ekt10:
Вызывается таблица маршрутизации командой 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 - включаем интерфейс физически
Проверим Интернет. С компьютера в Офисе пингуем наш условный веб-сервер.
Пинг идет, значит дефолтные маршруты настроены правильно.