Static Route. TraceRoute
Static Route (Статические Маршруты)
Роутеры передают пакеты используя маршруты в таблице маршрутизации, котрые могут быть поделены на два типа. Static Route (Статические Маршруты) - маршруты установленные вручную. Маршруты относящиеся к Динамической Маршрутизации Dynamic Routing - маршруты добавленные протоколами маршрутизации (например, RIP, OSPF, BGP).
Administrative Distance (Административная Дистанция) - используется роутерами что бы выбрать наилучший маршрут, когда имеется больше одного маршрута к одной и той же подсети (не в cisco-железках, есть аналог под названием Metric или метрика, например, в windows, linux, checkpoint, fortigate).
Administrative Distance (AD) для статических маршрутов, по умолчанию равна 1, а для маршрутов подключенных напрямую 0 и является неизменной. При добавлении статического маршрута можно вручную указать AD.Traceroute
Начнем издалека. В американской терминологии пакеты не передаются между роутерами, а "прыгают" (hop). В заголовке пакета есть атрибут под названием Time To Live (TTL), который определяет время жизни пакета или количество "прыжков" между роутерами. При создании пакета, устройство указывает атрибут TTL (максимум 255) и каждый раз после "прыжка" его значение уменьшается на единицу. Когда роутер принимает пакет с TTL равным 1, он вычитает единицу и получает 0, в итоге тогда он отбрасывает этот пакет и отправляет сообщение об ошибке. Теперь мы очень близки к тому, что бы понять как работает traceroute
Traceroute - утилита, помогающая определить количество роутеров (или "прыжков") между устройством запустившим эту утилиту и другим устройством в сети. Traceroute использует TTL для определения всех роутеров на пути. В начале он отправляет пакет с TTL равным единице, а в ответ получает сообщение об ошибке, в которой содержится информация о первом роутере, потом выставляет TTL равным двум, получает сообщение об ошибке со второго роутера и т.д, рисунок 2.1.
Красный конвертик, который идет в обратную сторону от каждого роутера, это сообщение об ошибке в которой сказано, что время жизни пакета истекло (TTL равен 0), а так же информация о том кто создал это сообщение.
Наш Спонсор
Практика
Начальные данные
Все "манипуляции" можно осуществлять только при помощи ПК_ADMIN (либо с других ПК в сети).
В данной практической работе сеть уже спланирована, большая часть настроена (рисунок 2.2). На схеме вы можете найти всю адресацию. Например, на ПК_ADMIN вы можете видеть ".10", это означает, что он имеет ip адрес 10.7.7.10. На всем сетевом оборудовании настроен telnet-сервер, пароль - gurkin33.ru.Цели
- Добавить статические маршруты на роутеры R0 и R1. Проверить доступность.
- Добавить на R2 "маршрут по умолчанию". Настроить gateway на SW0 и SW1. Проверить доступность.
-
Познакомиться с командой
tracert
.
Выполнение
-
Добавить статические маршруты на роутеры R0 и R1. Проверить доступность.
Чтобы добавить статический маршрут надо использовать команду -
ip route <номер сети> <маска> <ip адрес следующего роутера> <метрика>
, разберем команду на примере, добавим на R0 маршрут к сети 10.1.1.0/30.R0(config)#ip route 10.1.1.0 255.255.255.252 10.2.2.2
Этот маршрут указывает роутеру, что если к нему приходит пакет с адресом из диапазона 10.1.1.0-10.1.1.3 (в диапазоне 4 адреса), то надо передать его на роутер, который имеет адрес 10.2.2.2 (R1). Метрика не указана, т.к. это не обязательный параметр. Посмотрим в таблицу маршрутизации.
R0#sh ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP ... Gateway of last resort is not set 10.0.0.0/8 is variably subnetted, 3 subnets, 2 masks S 10.1.1.0/30 [1/0] via 10.2.2.2 C 10.2.2.0/30 is directly connected, FastEthernet0/1 C 10.7.7.0/27 is directly connected, FastEthernet0/0
Буква S означает static - это статический маршрут. Сеть 10.1.1.0/30 доступна через (via) 10.2.2.2 (R1). Обратите внимание на [1/0], первое число это метрика или административная дистанция (по умолчанию, метрика для статического маршрута равна единице), второе число относится к динамическим маршрутам, поэтому для статических маршрутов всегда имеет значение 0.
Маршрут мы добавили, но появилась ли связь между ПК_ADMIN и Server0? Тут важно представлять движение пакета, поэтому предлагаю рассмотреть пошаговую отправку пакета от ПК_ADMIN и Server0:
- ПК_ADMIN формирует пакет к серверу Server0, ip адрес отправителя 10.7.7.10, ip адрес получателя 10.1.1.2. ПК_ADMIN отправит этот пакет на R0, согласно настроенному gateway (шлюзу по умолчанию).
- R0 получает пакет, его интересует только адрес получателя - 10.1.1.2. Пройдясь по своей таблице маршрутизации, он находит подходящий маршрут, который указывает на R1 (10.2.2.2). R0 отправляет пакет на R1.
- R1 получает пакет, его так же интересует только адрес получателя - 10.1.1.2. Пройдясь по своей таблице маршрутизации, он находит подходящий маршрут, который указывает, что устройство с адресом 10.1.1.2 подключено к нему напрямую (10.1.1.0/30 is directly connected). R1 отправляет пакет на устройство Server0.
- Server0 получает пакет и формирует ответ, в котором указывает ip адрес отправителя 10.1.1.2 и ip адрес получателя 10.7.7.10. Server0 отправит этот пакет на R1, согласно настроенному gateway (шлюзу по умолчанию).
- R1 получает пакет, его интересует только адрес получателя - 10.7.7.10. R1 смотрит в свою таблицу маршрутизации и не находит маршрута, а значит просто отбрасывает этот пакет.
Более подробно о том какую логику используют компьютеры и роутеры можно почитать здесь.Из вышеописанной истории мы можем заключить, связи между ПК_ADMIN и Server0 нет, т.к. на R1 не указан маршрут в сеть, где находится ПК_ADMIN. На рисунке 2.3 показаны передвижения пакета.
На рисунке 2.3, после того как R1 понял, что у него нет маршрута для пришедшего пакета, он отбрасывает его и формирует сообщение об ошибке (красный конверт), которое передает отправителю этого пакета (10.1.1.2). В красном конверте содержится фраза - Destination host unreachable или по-русски - "Устройство-получатель не доступно".
Исправим этот недочет добавив соответствующий маршрут на R1. Подключение к R1 можно осуществить с R0.
R0#10.2.2.2 Trying 10.2.2.2 ...Open User Access Verification Password: R1# R1#conf t Enter configuration commands, one per line. End with CNTL/Z. R1(config)#ip route 10.7.7.0 255.255.255.224 10.2.2.1 R1(config)#exit R1# %SYS-5-CONFIG_I: Configured from console by console R1#sh ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP ... Gateway of last resort is not set 10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks C 10.1.1.0/30 is directly connected, Ethernet0/0/0 C 10.2.2.0/30 is directly connected, FastEthernet0/1 C 10.3.3.0/30 is directly connected, FastEthernet0/0 S 10.7.7.0/27 [1/0] via 10.2.2.1
Теперь можно убедиться, что связь между ПК_ADMIN и Server0 есть. Проверка представлена на рисунке 2.4.
Для выполнения следующих пунктов в этой практической работе, нам надо добавить еще несколько маршрутов на R0 и R1, ниже представлены "копипасты" для каждого роутера.
###маршрут для R0 ip route 10.6.6.0 255.255.255.240 10.2.2.2 ###маршрут для R1 ip route 10.6.6.0 255.255.255.240 10.3.3.2
Обратите внимание, что R0 не знает о существовании сети 10.3.3.0/30. Для выполнения заданных целей это не нужно.
-
Добавить на R2 "маршрут по умолчанию". Настроить gateway на SW0 и SW1. Проверить доступность.
"Маршрут по умолчанию" можно сравнивать с "Черной дырой" (сравнение автора :) ), потому что по этому маршруту уходят все пакеты, которые не имеют конкретного маршрута. Этот маршрут можно добавить при помощи команды
ip route 0.0.0.0 0.0.0.0 <ip адрес "Черной дыры">
. Сочетание 0.0.0.0 0.0.0.0 (или 0.0.0.0/0) означает - все имеющиеся ip адреса. Давайте добавим этот маршрут на R2, указав 10.3.3.1 в качестве "Черной дыры". Подключиться к R2 можно c роутера R1.R1#10.3.3.2 Trying 10.3.3.2 ...Open User Access Verification Password: R2# R2#conf t Enter configuration commands, one per line. End with CNTL/Z. R2(config)#ip route 0.0.0.0 0.0.0.0 10.3.3.1 R2(config)#exit R2# %SYS-5-CONFIG_I: Configured from console by console R2#sh ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP ... * - candidate default, U - per-user static route, o - ODR P - periodic downloaded static route Gateway of last resort is 10.3.3.1 to network 0.0.0.0 10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks C 10.3.3.0/30 is directly connected, FastEthernet0/0 C 10.6.6.0/28 is directly connected, FastEthernet0/1 S* 0.0.0.0/0 [1/0] via 10.3.3.1
Теперь надо обратить внимание на новый маршрут у роутера R2 - S* 0.0.0.0/0 [1/0] via 10.3.3.1. Как мы уже знаем S означает static, но теперь у нас появился новый символ * - candidate default (кандидат на маршрут по умолчанию). А так же обратите внимание на фразу Gateway of last resort is 10.3.3.1 to network 0.0.0.0, она говорит о том, что если роутер смотрит в таблицу маршрутизации и не знает куда отправить пакет, то он отправит на адрес 10.3.3.1.
На рисунке 2.5 представлена проверка связи между ПК_ADMIN и ПК2.Теперь научимся устанавливать шлюз по умолчанию (gateway) на коммутаторах, это делается при помощи команды
ip default-gateway <ip адрес>
. Настроим на SW1. На SW1 можно подключиться с ПК2.gurkin33_SW1(config)#ip default-gateway 10.6.6.1 gurkin33_SW1(config)#exit gurkin33_SW1#ping 10.7.7.10 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.7.7.10, timeout is 2 seconds: .!!!! Success rate is 80 percent (4/5), round-trip min/avg/max = 0/0/2 ms gurkin33_SW1#sh runn Building configuration... Current configuration : 1644 bytes ! version 12.1 no service timestamps log datetime msec ... interface FastEthernet0/23 spanning-tree portfast ! interface FastEthernet0/24 spanning-tree portfast ! interface Vlan1 ip address 10.6.6.14 255.255.255.240 ! ip default-gateway 10.6.6.1 ! ! ! ! line con 0 ! line vty 0 4 password gurkin33.ru login ...
После добавления gateway на SW1 (
Коммутатор SW0 настраивается аналогично, gateway ip адрес у него 10.7.7.1.ip default-gateway 10.6.6.1
), была выполнена проверка доступности ПК_ADMIN, с помощью командыping 10.7.7.10
, знак восклицания ! говорит о том, что ПК_ADMIN ответил на ping-запрос. Это означает, что теперь, можно создать telnet соединение между ПК_ADMIN и SW1.Понимание значения Gateway (шлюза по умолчанию) для устройств в сети является очень важным. Когда компьютер из одной сети не может "достучаться" до компьютера из другой сети, прежде всего надо удостовериться в правильности настройки шлюза по умолчанию.Командаshow running-config
очень важна, ведь она показывает всю конфигурацию роутера, пользуйтесь ей чаще. Смотрите как изменяется конфигурация, после того как вы вводите команды настройки. Например, все статические маршруты можно найти именно с помощью этой команды, а в таблице маршрутизации могут быть отображены не все сконфигурированные маршруты. -
Познакомиться с командой
tracert
Вызовем команду
tracert 10.6.6.12
на ПК_ADMIN, рисунок 2.6.Теперь прокомментируем рисунок 2.6. В начале ПК_ADMIN отправляет пакет с атрибутом TTL равным 1, в ответ он получает сообщение об ошибке, с роутера R0 (10.7.7.1). Делает он это три раза, для того что бы пользователь мог отследить задержку. Каждый раз отправляя пакет, ПК_ADMIN засекает время и, когда приходит ответ, отмечает время прибытия ответа (такой же таймер имеет команда
ping
). Командаtracert
очень полезна, когда надо выяснить на каком участке в сети возникла проблема. На сisco-устройствах эта команда вызывается такtraceroute <ip адрес>
.
Наш Спонсор
Лабораторка
Начальные данные
Все "манипуляции" можно осуществлять только при помощи ПК_ADMIN. Пароль от оборудования gurkin33.ru, подключаться используя telnet.
Сеть Центрального офиса и сеть Филиала объединены в одну, благодаря провайдерам SP1 и SP2. После "падения" провайдера SP1, филиал не может связаться с центральным офисом по резервному каналу (через SP2). Ваш ассистент утверждает, что связь между R0 и R2 есть, но не смог разобраться в проблеме. Он получил доступ на R1 через R0 и не нашел ничего необычного.Задания
- Восстановить связь между Центральным офисом и филиалом.
Если вы нашли в тексте ошибку, выделите текст и нажмите Ctrl + Enter.