Сегодня мы продолжим тему видеоурока 27-го дня и займемся углубленным изучением ACL: мы немного поговорим об обратной маске Wildcard Mask, расширенном списке ACL, настройке расширенного списка ACL и командах, помогающих диагностировать неполадки в дизайне сети.
На предыдущем уроке мы познакомились с новой для нас концепции обратной маски, и сейчас я расскажу о Wildcard Mask более подробно. Если вы помните, маска подсети помогает нам визуально разделить сеть на адресную часть сети и адресную часть хоста.
Если перейти на битовый уровень, можно увидеть, что маска подсети состоит из серии единиц, обозначающих сетевую часть, и серии нулей, которые обозначают часть хоста. Обратная маска очень похожа на маску подсети, только в «перевернутом» виде – там, где в маске подсети имеются единицы, в обратной маске находятся нули, и наоборот. Это не является обязательным правилом – в отдельных случаях обратная маска формируется по другому принципу, на при изучении CCNA это правило действует всегда.
Наилучшим способом вычисления обратной маски является отнимание октетов маски подсети от глобальной маски, которая всегда выглядит как 255.255.255.255.
Итак, чтобы вычислить обратную маску для маски подсети 255.255.255.0, мы просто отнимаем её от глобальной маски и получим 0.0.0.255.
В этом примере мы рассматривали сеть 192.168.100.255/24, а сейчас давайте рассмотрим сеть /26. Если у вас имеется /26, то последний октет маски подсети будет равен 192.
Если вы посмотрите на битовую форму представления этих IP-адресов, то увидите, что маска подсети содержит 26 единичных и 6 нулевых битов.
В таком случае обратная маска должна состоять из 26 нулей и 6 единиц. Как мы уже говорили, те места, где расположены 0, показывают совпадающие параметры адресов, а места, где расположены единицы, вы можете игнорировать.
Чтобы было понятнее, я напишу сверху IP-адрес в десятичной форме. Последний октет обратной маски соответствует числу 63, и я могу отобразить её в виде 0.0.0.63. проще говоря, /26 означает, что 26 нулей, или 3 первых октета IP-адреса совпадают, а последние 6 битов могут быть какими угодно – нулями или единицами.
Смотрите – если мы заменим эти последние 6 битов IP-адреса нулями, то получим число 192, а если единицами – число 255. Таким образом, обратная маска показывает, что подсеть с IP-адресами, последний октет которых расположен в диапазоне от 192 до 255, то есть часть сети 192.168.100.225/26, попадает под действие указанного условия ACL.
Вы можете спросить, зачем нужны две маски: маска подсети и Wildcard-маска. Я сам задавал этот вопрос, когда был студентом, и до сих пор многие люди, даже работая в Cisco, задаются этим вопросом. Попробую на него ответить. В общем случае маска подсети и обратная маска показывают одно и то же, если это касается подсети, то есть части IP-адреса, обозначающей сеть. Когда мы идентифицируем целую сеть, то обратная маска представляет собой просто «перевернутый» вариант прямой маски.
Однако с идентификацией хоста дело обстоит по-другому. Если вы хотите идентифицировать целую подсеть со всеми входящими в неё адресами, можно использовать маску подсети. Но если вам нужно идентифицировать всего лишь несколько хостов из этой сети, чтобы избирательно применить к ним правила ACL, нужна обратная маска.
Вы никогда не встретите маску подсети, которая бы состояла из чередующихся единиц и нулей – в ней всегда сначала идут единицы, а в конце – нули. Wildcard поэтому и называется «дикой», потому что может состоять из любой последовательности единиц и нулей. Чтобы вам стало понятнее, давайте решим задачу: «идентифицируйте хосты данной сети, имеющие четные числа в четвертом октете».
Это нужно для создания правила ACL такого типа: permit 192.168.100.0 <обратная маска>, то есть трафик будет разрешен для IP-адресов данной подсети только с четными четвертыми октетами. Можно ли проделать это с помощью маски подсети? Не думаю, потому что четвертый октет обычной маски подсети может содержать только одно конкретное число. Давайте посмотрим на 4 октет обратной маски.
В последнем октете обратной маски можно разместить такие биты: 11111110. Я объясню, что это такое. Если в 4-м октете содержатся четные числа, то последний бит октета обязательно равен 0, а если последний бит равен 1, значит, число нечетное. Если мы говорим о подсети /24, то у неё только последний октет может содержать четное число.
В случае обратной маски в первых трех октетах расположены 0, а семь первых битов четвертого октета нас не волнуют, главное, чтобы восьмой бит октета равнялся нулю, потому что он должен совпасть с последним октетом IP-адреса сети, который равен 0.
Если последний бит IP-адреса будет равен 1, данный адрес будет запрещен, сейчас я добавлю условие в наш список ACL – Deny any. Таким образом, только если последний октет любого IP-адреса нашей подсети будет оканчиваться 0, то есть будет четным, у нас выполнится условие совпадения с обратной маской, которая тоже заканчивается 0, и условие ACL «разрешить все адреса с четным 4-м октетом» будет удовлетворено. В противном случае, то есть для всех нечетных IP-адресов, будет действовать условие «запретить любой» — deny any.
Таким образом, нас не волнует, какое точное значение будет иметь четный октет – 2,4,6, 8 и так далее, главное, что он будет иметь в конце нулевой бит. Если бы мы использовали обычную маску подсети, нам потребовалось бы создать отдельную запись для каждого IP-адреса, имеющего четный 4-й октет. Использование обратной маски позволяет заменить все эти записи одной.
Точно такой же принцип действует и для нечетных чисел 4-го октета, просто последний бит обратной маски в этом случае должен быть равен 1. В этом случае будет установлено общее правило, permit или deny, для всех IP-адресов подсети, имеющих нечетный 4-й октет. Посмотрите, как выглядит этот пример в десятичной форме.
Если я использую обратную маску 0.0.0.254, наша задача будет решена: все хосты с четным четвертым октетом разрешены, а все остальные хосты — запрещены. Преимущество обратной маски состоит в том, что при создании ACL её можно настроить под свои нужды. Вам не стоит особо беспокоиться о специфических обратных масках, потому что тематика CCNA этого не требует. Достаточно просто запомнить правило: обратная маска получается при отнимании маски подсети от глобальной маски 255.255.255.255. Учтите, что курс CCNA в больше степени затрагивает тематику подсетей, а не хостов.
Давайте вернемся к предыдущему слайду, и я расскажу ещё об одном способе вычисления Wildcard-маски.
Если вы помните из нашей «волшебной» таблицы, /26 означает размер блока битов, равный 64. Если этот блок равен 64, последний октет обратной маски будет иметь значение (64-1)=63. Если у нас имеется /25, размер блока будет 128, значит, последний октет обратной маски будет (128-1)=127. Это еще одна подсказка для облегчения вычисления значения обратной маски. Но если вы не хотите им пользоваться, применяйте обычный способ, отнимая маску подсети от глобальной маски.
А теперь перейдем к рассмотрению синтаксиса команд расширенного ACL. Как и в случае стандартного ACL, существует два вида записи команд: классический и современный.
Классическая команда представляет собой запись access-list < номер ACL> <запретить /разрешить > < протокол >. Таким образом, первая команда расширенного ACL отличается от команды стандартного ACL указанием протокола, а не критерия. Это означает, что здесь фильтрация трафика производится не по IP-адресу источника или назначения, а по используемому протоколу.
Во всех случаях мы используем протокол IP, который бывает трех видов: ICMP, или известный нам пинг, TCP, который зависит от конкретного порта 21,23 и так далее, и UDP. Напомню, что в Википедии имеется статья с перечнем всех протоколов и соответствующим им номерам портов.
Далее следует строка команды < IP источника > < обратная маска > [информация протокола]. Информация протокола означает указание номера порта. То есть в предыдущей команде в качестве < протокол > вы указываете ICMP, TCP или UDP, а во второй команде в качестве параметра [информация протокола] указываете номер порта 21,23 и т.д.
Третья строка команды – это < IP назначения > < обратная маска > [информация протокола], то есть параметры, касающиеся назначения.
Если вы помните по предыдущим урокам, номер порта источника представляет собой случайное число, потому что устройство, посылающее трафик, создает для этого порт под случайным номером. В связи с этим в первой строке, касающейся источника трафика, вы указываете [информацию протокола] назначения, например, FTP, то есть протокола того устройства, чей трафик хотите заблокировать.
Напомню, что для внесения изменений в список расширенного ACL классического типа вам придется заново сформировать весь список вручную, как и в случае стандартного ACL классического типа.
Команда современного вида начинается с выражения ip, который не имеет никакого отношения к протоколу IP, это просто ключевое слово. Итак, в первой строке имеется ключевое слово ip, параметр «расширенный access-list» и номер или имя списка ACL. После выполнения первой команды вы переходите в режим подкоманд config-ext-nacl и вводите <запретить /разрешить > < протокол >, как мы уже обсудили выше.
Далее следуют две команды < IP источника > < обратная маска > [информация протокола] и < IP назначения > < обратная маска > [информация протокола], причем в первой обычно игнорируется параметр [информация протокола источника], а вместо него используется параметр [информация протокола назначения]. Иногда может потребоваться указать порт источника, однако в CCNA в большинстве случаев на этот параметр можно не обращать внимания.
Применение расширенного ACL аналогично применению стандартного ACL. Здесь также нужно указать интерфейс устройства, к которому применяется список, затем использовать параметр ip access-group, номер или имя списка ACL и направление потока трафика – входящий или исходящий. В предыдущем видео мы уже обсуждали, каким образом определяется направление трафика для конкретного порта.
Давайте перейдем к схеме и настроим расширенный список ACL, используя топологию сети из предыдущего урока. Задача №1 звучит так: «Компьютеры сети отдела менеджмента и сети финансового отдела могут иметь доступ по протоколам HTTP(80) и FTP(21) только к серверу Server0, находящемуся в сети серверной».
При этом разрешается не весь трафик, а только тот, что исходит из портов 80 и 21, то есть, например, трафик по протоколу SSH должен блокироваться. Если помните, расширенный ACL должен применяться поближе к источнику, поэтому для отдела менеджмента его следует применить к порту G0/0 роутера R1, а для бухгалтерии – к порту G0/0 роутера R2. По отношению к роутеру мы блокируем входящий трафик, поэтому в командах списка используем параметр IN. Присвоим списку ACL номер 101 и составим перечень строк, который он должен содержать, используя классический подход.
Первая строка разрешает TCP, потому что HTTP порт 80 означает TCP, далее указываем сеть отдела менеджмента, 192.168.1.224/28. В данном примере я опускаю обратную маску, мы используем её в Packet Tracer, пока что нам важен сам принцип формирования списка. Сеть менеджмента является источником трафика, после неё указывается IP-адрес назначения 192.168.1.194/32, где 194 – это последний октет адреса Server0, а /32 означает, что условие касается только данного конкретного устройства, расположенного в подсети 192.168.1.192/27. В конце строки мы указываем разрешенный порт назначения 80, предназначенный для HTTP-трафика.
Таким же образом формируется запись для порта 21, используемого для передачи FTP-трафика. Я не пишу третью строку, которая по умолчанию выглядит как Deny any и запрещает любой исходящий трафик с устройств, не принадлежащих данной подсети. Далее необходимо указать, что список применяется к порту G0/0 роутера R1 в направлении IN, то есть для входящего трафика.
Аналогично мы поступаем при составлении записей ACL Allow_Acc для финансового отдела, разрешая TCP-трафик с портов 80 и 21 и применяя данный список для входного интерфейса G0/0 роутера R2.
Задача №2 звучит так: «Компьютеры сети отдела продаж могут пользоваться всеми протоколами, кроме PING (ICMP), только на сервере Server1, расположенном в сети серверной». Это значит, что для связи с сервером компьютеры отдела продаж могут использовать протоколы HTTP, SSH, FTP – любые протоколы, кроме ICMP. В этом случае список условий ACL будет выглядеть таким образом.
В первой строке мы запрещаем весь трафик по протоколу ICMP, размещая конкретное условие в начале списка, а общее – в конце списка. В данной записи указывается идентификатор подсети отдела продаж 192.168.1.0/25, IP-адрес конкретного сервера Server 1 – 192.168.1.195/32. Параметр echo означает трафик в виде пинга, то есть пакет, который отправляется к серверу, чтобы вернуться назад к компьютеру, должен быть запрещен.
Вторая строка разрешает весь остальной трафик, исходящий из подсети 192.168.1.0/25 на адрес сервера 192.168.1.195/32. Как обычно, в конце списка по умолчанию располагается строка Deny any, означающая, что если компьютеры отдела продаж попытаются связаться с финансовым отделом, такой трафик будет отброшен. Далее мы указываем, к какому интерфейсу роутера следует применить ACL, и вторая задача решена.
Задача №3 звучит так: «Ноутбук Laptop2 отдела продаж и компьютер PC0 финансового отдела могут иметь доступ к ноутбуку Laptop0 отдела менеджмента». Предположим, что за этими устройствами работают руководители отделов продаж и бухгалтерии, которые могут общаться с финансовым директором CFO, находящимся в отделе менеджмента. При этом нет никаких ограничений относительно используемых протоколов, включая ICMP.
У нас уже имеется три списка ACL, примененные к интерфейсам, которые я обвел на схеме красными окружностями. В данный момент Laptop2 не может связаться с Laptop0, потому это противоречит условиям Задачи №3.
Чтобы организовать связь этих двух устройств, необходимо добавить дополнительные условия в список ACL Allow_Sa.
Аналогично нужно добавить условия в список ACL Allow_Acc, чтобы PC0 мог свободно связаться с Laptop0.
В обоих списках мы добавляем строки с параметром Permit IP, что означает разрешение трафика по любому IP-протоколу.
Как вы знаете, ICMP использует трафик двух направлений: вы отсылаете пинг, а echo возвращает его обратно. В нашей ситуации, если Laptop2 адресует пинг Laptop0, трафик свободно поступит в сеть отдела менеджмента. Однако при возвращении пакета обратно ноутбуку отдела продаж, он попадет в интерфейс G0/0 роутера R1, где действует список ACL 101. Так как обратный трафик не соответствует ни одному из условий данного списка, он будет заблокирован. Поэтому нам нужно дополнить список ACL101 разрешающими условиями как для пинга с Laptop2 отдела продаж, так и для пинга с компьютера PC0 финансового отдела.
Мы решили Задачу №3 и теперь перейдем к решению Задачи №4: «Ноутбук Laptop3 отдела продаж может иметь доступ только к собственной сети SALES и только к службе Web Service через порт 80 на компьютере Server 1».
Первая часть задачи означает, что как только Laptop3 попытается выйти из сети SALES, его трафик будет заблокирован роутером R2. Однако согласно второй части задачи, этот компьютер должен иметь доступ к Web Service, находящейся за пределами сети SALES. Это означает, что блокируется весь трафик кроме трафика, направленного в серверную.
Из предыдущих задач мы знаем, что трафик, исходящий из отдела продаж, регулируется списком ACL Allow_Sa, который мы применили ко входному интерфейсу G0/1 роутера R2. Поэтому нам нужно изменить данный список, в первую очередь добавив в него строку «разрешить TCP к серверу 1 через порт 80» такого вида: Permit TCP 192.168.1.3/32 192.168.1.195/32 80
Первая строка означает, что любой HTTP-трафик достигнет сервера, а вторая Deny IP 192.168.1.3/32 any означает, что весть остальной трафик, например, FTP, поступающий с Laptop3, будет отброшен. Далее мы оставляем без изменений три следующие строки предыдущего списка ACL, решив таким образом Задачу №4.
Я уже говорил, что советую вам записывать решения этих задач на бумаге или набирать вручную на компьютере, потому что они изменяются, а на бумаге или в компьютере всегда можно добавить, зачеркнуть или удалить строки. Обращаю ваше внимание, что если просто дописать решение четвертой задачи в конце списка ACL, добавив две строки, система их проигнорирует, потому что условия, расположенные выше, поглощают эти правила. Поскольку вторая строка старого списка разрешает весь трафик, условие Deny IP 192.168.1.3/32, расположенное в конце списка, просто не будет выполняться.
Таким образом, правильная последовательность записей ACL имеет огромное значение. Сначала вам следует разработать логическую цепочку операций и расположить строки так, чтобы они не противоречили друг другу. Теперь давайте перейдем к Packet Tracer и выполним все настройки согласно решениям задач.
Начнем настройку с первого роутера Router1. Я использую команду show access-list, чтобы показать, что список ACL на данный момент отсутствует. Далее с помощью команды show ip route я показываю, что RIP между двумя роутерами уже настроен и работает.
Перейдём к ноутбуку Laptop0 и пропингуем Server1 по адресу 192.168.1.195. Как видите, пингование проходит удачно, так как у нас нет никаких ACL, запрещающих или фильтрующих трафик. Так же свободно мне удается пропинговать Server0.
Теперь перейдем к роутеру Router1, войдем в режим глобальных настроек и создадим список ACL 101. Для этого я набираю команду access-list 101 permit tcp. Обратите внимание – система выдает подсказку, какое значение параметра, кроме tcp, можно использовать в данной команде.
Это может быть esp, icmp, osfp и так далее. При изучении курса CCNA в основном будут использоваться протоколы ip, ismp, tcp и udp.
Нам нужно разрешить трафик целой сети, поэтому я ввожу команду access-list 101 permit tcp 192.168.1.224. Параметр /28 означает блок размером 16 битов, поэтому обратная маска будет 0.0.0.15.
Слеш 28 означает 4 заимствованных бита, если заимствован 1 бит, размер блока равен 128, если 2 бита – 64, три бита – 32, 4 бита означает размер блока 16, значит, последний октет обратной маски будет (16-1) =15. Вы также получите это число, если отнимите от глобальной маски значение маски данной подсети. Поскольку рассматривается трафик к конкретному серверу, в конце команды необходимо набрать слово host и его IP-адрес, в результате команда будет иметь вид: access-list 101 permit tcp 192.168.1.224 0.0.0.15 host 192.168.1.194.
После её ввода система выдаст подсказки, каким должен быть следующий параметр, который характеризует порт, обрабатывающий данный трафик.
Можно применить параметр dscp, при этом будут пропускаться пакеты с соответствующим значением, параметр eq, при котором разрешены только пакеты с данным конкретным номером порта, gt – пропуск пакетов с номером порта большим, чем указано, lt – пакеты с меньшим номером порта и т.д. В нашем курсе мы будем использовать номер конкретного порта, поэтому в конце команды нужно ввести eq. После этого система выдаст подсказки относительно возможных значений следующего параметра.
Это может быть как номер порта от 0 до 65535, так и название протокола, которому соответствует определенный порт. Для FTP это порт 21, для SMTP – порт 25, можно просто ввести www – это будет означать HTTP-трафик через порт 80. В нашем случае мы вводим просто номер порта 80.
Если с помощью команды do show run посмотреть на текущую конфигурацию, видно, что система автоматически заменила число 80 на значение www. Следующая команда будет полностью аналогична, за исключением номера порта, вместо 80 у нас теперь будет 21: access-list 101 permit tcp 192.168.1.224 0.0.0.15 host 192.168.1.194 eq 21.
Далее мы должны создать записи для ICMP-трафика, чтобы разрешить пинг. Для этого я набираю access-list 101 permit icmp. Далее я могу набрать host, как мы поступили выше, или выбрать обычный способ и набрать IP-адрес 192.168.1.226 и обратную маску 0.0.0.0, которая представляет собой не что иное, как хост. Затем я продолжаю команду словом host и IP-адресом Laptop2 – 192.168.1.2. После этого система выдаст подсказку относительно значения следующего параметра команды – здесь нужно указать, какие именно сообщения мы разрешаем.
В нашем случае нужно разрешить ответный пинг, поэтому в конце команды необходимо указать echo-replay. Это означает, что мы разрешаем только сообщения пинга. В результате условие примет такой окончательный вид: access-list 101 permit icmp192.168.1.226 0.0.0.0 host 192.168.1.2 echo-replay. Следующее условие будет выглядеть так: access-list 101 permit icmp 192.168.1.226 0.0.0.0 host 192.168.1.130 echo-replay.
Теперь нужно применить созданный список, для чего я последовательно ввожу команды int g0/0 и ip access-group, добавляю номер списка 101 и указываю входящий или исходящий, в нашем случае это входящий IN. Зайдем в настройки Laptop0 и проверим пинг адреса 192.168.1.194, который до создания ACL проходил без проблем. Как видим, теперь система сообщает, что хост назначения не доступен. Даже если поменять IP-адрес на 192.168.1.195, мы все равно получим такое же сообщение.
Если помните, условием одной из задач была доступность Server0 с ноутбука Laptop0 отдела менеджмента. Однако мы разрешили только HTTP и FTP- трафик через порты 80 и 21, но не разрешали ICMP-трафик, то есть пинг. Вот почему пингование окончилось неудачей.
Но если попробовать веб-трафик, то есть зайти в браузер и набрать в адресной строке 192.168.1.194, мы без труда соединимся с веб-сервером Server0.
Если попытаться связаться с другим сервером по адресу 192.168.1.195, попытка закончится неудачей, так как примененный ACL не разрешает такой трафик.
Для окончательного решения Задачи №1 нужно перейти к настройкам роутера R2 и составить список ACL для финансового отдела – Allow_Ac. Я убеждаюсь, что никакого ACL в данный момент не существует, перехожу к глобальным настройкам и использую современную версию синтаксиса команд. Для этого я ввожу команду ip access-list extended Allow_Ac и перехожу на уровень подкоманд.
Далее я ввожу permit tcp 192.168.1.128. Поскольку у нас имеется /26, которое означает два заимствованных бита, а вы помните, что один заимствованный бит – это размер блока 128, два бита – размер блока 64, значит, обратная маска будет 0.0.0.63. То же значение обратной маски вы можете получить другим способом, отняв маску данной подсети 255.255.255.192 от глобальной маски 255.255.255.255. В итоге мы получаем команду permit tcp 192.168.1.128 0.0.0.63 host 192.168.1.194 eq 80. Аналогично создается команда для другого порта: permit tcp 192.168.1.128 0.0.0.63 host 192.168.1.194 eq 21.
Остается выполнить последнее условие Задачи №1 – разрешить любой трафик с компьютера PC0 финансового отдела в адрес ноутбука финансового директора Laptop0 отдела менеджмента. Для этого я ввожу команду permit ip host 192.168.1.130 host 192.168.1.226 без указания номера порта, потому что это условие касается трафика по любому протоколу.
Далее нужно применить этот ACL к интерфейсу g0/0, для чего используется команда ip access-group Allow_Ac IN. Как я сказал, PC0 не должен иметь возможность пинговать Server 0, но может связываться с веб-сервисом данного сервера. Если набрать в браузере PC0 адрес 192.168.1.194, можно войти в Packet Tracer, однако пропинговать этот сервер не удается, поскольку роутер R2 блокирует такой трафик.
Приступим к созданию нового ACL для компьютеров отдела продаж, для чего используем команды ip access-list extended Allow_Sa и permit tcp host 192.168.1.3 host 192.168.1.195 eq 80. Таким образом, мы разрешаем только HTTP-трафик и запрещаем весь остальной трафик, исходящий от данного хоста в любом направлении, командой deny ip host 192.168.1.3 any.
Далее нужно записать условие, разрешающее любой трафик, кроме пинга. Поэтому я запрещаю пинг командой deny icmp 192.168.1.0. Здесь у нас имеется /25, означающий 1 заимствованный бит, размер блока составит 128 бит, значит, обратная маска будет иметь вид 0.0.0.127. Этот трафик в виде обратного ответа пинга должен быть заблокирован в направлении хоста 192.168.1.195, который представляет собой Server2. В итоге запись ACL будет выглядеть так: deny icmp 192.168.1.0 0.0.0.127 host 192.168.1.195 echo.
Далее мы записываем команду на выполнение условий 4-й строки списка, которая разрешает весь остальной трафик сети отдела продаж, адресованный этому же серверу: permit ip 192.168.1.0 0.0.0.127 host 192.168.1.195.
Затем мы записываем условие, разрешающее трафик Laptop2 в направлении Laptop0. Для этого используется команда permit host 192.168.1.2 host 192.168.1.226, после чего список приписывает к интерфейсу g0/1 командой ip access-group Allow_Sa IN.
Проверим, как работают списки ACL в отношении ноутбука Laptop3, и попробуем выяснить, можно ли с него что-нибудь пропинговать. Пинг в адрес сервера 192.168.1.195 не проходит, как и пинг компьютера PC по адресу 192.168.1.130 и пинг ноутбука финансового директора по адресу 192.168.1.226. Единственное, что может этот ноутбук – это пользоваться веб-сервисом сервера Server1.
Laptop2 должен иметь возможность отсылать любой трафик в адрес Laptop0, включая пинг. Как видите, это условие выполняется, и мы наблюдаем ответный пинг с адреса 192.168.1.226. Пинг в адрес второго ноутбука отдела менеджмента Laptop1 не проходит, так как условия списка ACL запрещают любой трафик, кроме адресованного Laptop0. Точно также Laptop2 не может отправить пинг серверу Server1 по адресу 192.168.1.195, но может пользоваться веб-сервисом этого сервера. Таким образом, мы удовлетворили условия всех 4-х задач, создав и настроив соответствующие списки ACL.
Я не знаю, является ли данный способ оптимальным для решения задач подобного рода, но я предпочитаю решать их именно таким образом. В этом и заключается прелесть ACL или любого другого инструмента для создания сетей – здесь не существует единственно правильного решения, любую задачу можно решить множеством способов. Они зависят от ваших требований к сети, от разработанного вами дизайна, потому что вы можете создавать сети любым способом, который посчитаете подходящим.
Преимущество CCNA состоит в изучении всех концепций развития сетей, и лучшим способом усвоения материала является разработка дизайна своей собственной сети. Я буду рад, если вы решите эти задачи своим собственным способом и опишите его в комментариях к данному видео. Кроме того, на основании рассмотренной топологии сети вы можете придумать другие задачи и попытаться решить их самостоятельно.
Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас оформив заказ или порекомендовав знакомым, 30% скидка для пользователей Хабра на уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps от $20 или как правильно делить сервер? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).
Dell R730xd в 2 раза дешевле? Только у нас 2 х Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 ТВ от $199 в Нидерландах! Dell R420 — 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — от $99! Читайте о том Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки?
Протокол OSPF
Алгоритм работы протокола динамической маршрутизации OSPF основан на использовании всеми маршрутизаторами единой базы данных, описывающей, с какими сетями связан каждый маршрутизатор. Описывая каждую связь, маршрутизаторы связывают с ней метрику – значение, характеризующее “качество” канала связи. Это позволяет маршрутизаторам OSPF (в отличие от RIP, где все каналы равнозначны) учитывать реальную пропускную способность канала и выявлять наилучшие маршруты. Важной особенностью протокола OSPF является то, что используется групповая, а не широковещательная рассылка (как в RIP), то есть, нагрузка каналов меньше.
OSPF (Open Shortest Path First) — протокол динамической маршрутизации, основанный на технологии отслеживания состояния канала link-state (LSA). Основан на алгоритме для поиска кратчайшего пути. Отслеживание состояния канала требует отправки объявлений о состоянии канала (LSA) на активные интерфейсы всех доступных маршрутизаторов зоны. В этих объявлениях содержится описание всех каналов маршрутизатора и стоимость каждого канала. LSA сообщения отправляются, только если произошли какие-либо изменения в сети, но раз в 30 минут LSA сообщения отправляются в принудительном порядке. Протокол реализует деление автономной системы на зоны (areas). Использование зон позволяет снизить нагрузку на сеть и процессоры маршрутизаторов и уменьшить размер таблиц маршрутизации.
Описание работы протокола:
Все маршрутизаторы обмениваются специальными Hello-пакетами через все интерфейсы, на которых активирован протокол OSPF. Таким образом, определяются маршрутизаторы-соседи, разделяющие общий канал передачи данных. В дальнейшем hello-пакеты посылаются с интервалом раз в 30 секунд. Маршрутизаторы пытаются перейти в состояние соседства со своими соседями. Переход в данное состояние определяется типом маршрутизаторов и типом сети, по которой происходит обмен hello-пакетами, по зонному признаку. Пара маршрутизаторов в состоянии соседства синхронизирует между собой базу данных состояния каналов. Каждый маршрутизатор посылает объявление о состоянии канала своим соседям, а каждый получивший такое объявление записывает информацию в базу данных состояния каналов и рассылает копию объявления другим своим соседям. При рассылке объявлений по зоне, все маршрутизаторы строят идентичную базу данных состояния каналов. Каждый маршрутизатор использует алгоритм SPF для вычисления графа (дерева кратчайшего пути) без петель. Каждый маршрутизатор строит собственную маршрутизацию, основываясь на построенном дереве кратчайшего пути.
Прямая и обратная маска
В оборудовании Cisco иногда приходится использовать обратную маску, то есть не привычную нам 255.255.255.0 (Subnet mask — прямая маска), а 0.0.0.255 (Wildcard mask — обратная маска). Обратная маска используется в листах допуска (access list) и при описании сетей в протоколе OSPF. Прямая маска используется во всех остальных случаях. Отличие масок заключается также в том, что прямая маска оперирует сетями, а обратная — хостами. С помощью обратной маски вы можете, например, выделить во всех подсетях хосты с конкретным адресом и разрешить им доступ в Интернет. Так, как чаше всего в локальных сетях используют адреса типа 192.168.1.0 с маской 255.255.255.0, то самая распространенная Wildcard mask (шаблонная маска или обратная маска, или инверсная маска) – маска 0.0.0.255.
Новый термин
Шаблонная маска (wildcard mask) — маска, указывающая на количество хостов сети. Является дополнением для маски подсети. Вычисляется по формуле для каждого из октетов маски подсети как 255-маска_подсети. Например, для сети 192.168.1.0 и маской подсети 255.255.255.242 шаблонная маска будет выглядеть как 0.0.0.13. Шаблонная маска используется в настройке некоторых протоколов маршрутизации, а также является удобным параметром ограничений в списках доступа.
Расчёт Wildcard mask
Существует связь, между обратной и прямой маской: в сумме эти маски по каждому разряду должны составлять 255. Пусть наша сеть 192.168.32.0 /28. Рассчитает wildcard mask: префикс /28 это 255.255.255.240 или 11111111.11111111.11111111.11110000. Для wildcard mask нам нужны только нули, то есть, 11110000 переводим в десятичное число и считаем: 128/64/32/16/8/4/2/1 это будет 8+4+2+1=15, т.е. наша wildcard mask будет равна 0.0.0.15.
Самостоятельно
Дана прямая маска 255.255.255.248. Выполните расчет и докажите, что обратная равна 0.0.0.7.
Практическая работа 8-2-1. Пример конфигурирования протокола OSPF для 4-х устройств
Соберите схему, изображенную на
рис.
8.18.
Рис.
8.18.
Схема для конфигурации протокола OSPF
Настройка роутеров
Выполним конфигурирование R1 (
рис.
8.19).
Рис.
8.19.
Настройка R1
Теперь выполним настройки R2 (
рис.
8.20).
Рис.
8.20.
Настройка R2
Совет
Если вам потребуется в CPT сбросить настройки роутера, то следует выключить его тумблер питания, а затем снова включить.
Проверка результата
Для проверки маршрутизации пропингуем ПК из разных сетей (
рис.
8.21).
Рис.
8.21.
Результат проверки работоспособности OSPF
Рабочая сеть данного примера представлена файлом task-8-4.pkt.
Практическая работа 8-2-2. Настройка маршрутизации по протоколу OSPF для 6 устройств
Постройте следующую схему (
рис.
8.22).
Рис.
8.22.
Начальная схема сети для нашей работы
Цель работы – настроить маршрутизацию в данной сети по протоколу OSPF.
Настроим loopback интерфейс на R1
На R1 настроим программный loopback интерфейс — алгоритм, который направляет полученный сигнал (или данные) обратно отправителю (
рис.
8.23).
Примечание
IPv4-адрес, назначенный loopback-интерфейсу, может быть необходим для процессов маршрутизатора, в которых используется IPv4-адрес интерфейса в целях идентификации. Один из таких процессов — алгоритм кратчайшего пути (OSPF). При включении интерфейса loopback для идентификации маршрутизатор будет использовать всегда доступный адрес интерфейса loopback, а не IP-адрес, назначенный физическому порту, работа которого может быть нарушена. На маршрутизаторе можно активировать несколько интерфейсов loopback. IPv4-адрес для каждого интерфейса loopback должен быть уникальным и не должен быть задействован другим интерфейсом.
Рис.
8.23.
Настраиваем интерфейс loopback на R1
Настраиваем протокол OSPF на R1
Включаем OSPF на R1, все маршрутизаторы должны быть в одной зоне area 0 (
рис.
8.24).
Рис.
8.24.
Включаем протокол OSPF на R1
Подводим курсор мыши к R1 и наблюдаем результат наших настроек (
рис.
8.25).
Рис.
8.25.
Маршрутизатор R1 настроен
Примечание
Обратите внимание, что физически порта 192.168.100.1 нет, он существует только логически (программно).
Настроим loopback интерфейс на R2
На R2 настроим программный loopback интерфейс по аналогии с R1 (
рис.
8.26).
Рис.
8.26.
Настраиваем логический интерфейс loopback на R2
Настраиваем OSPF на R2
Включаем протокол OSPF на R2, все маршрутизаторы должны быть в одной зоне area 0 (
рис.
8.27).
Рис.
8.27.
Включаем протокол OSPF на R2
Подводим курсор мыши к R2 и наблюдаем результат наших настроек (
рис.
8.28).
Рис.
8.28.
Маршрутизатор R2 настроен
Настраиваем loopback интерфейс на R3
Делаем все аналогично (
рис.
8.29).
Рис.
8.29.
Настраиваем логический интерфейс loopback на R3
Настраиваем протокол OSPF на R3
Здесь делаем все, как раньше (
рис.
8.30).
Рис.
8.30.
Включаем протокол OSPF на R2
Проверяем результат (
рис.
8.31).
Рис.
8.31.
Маршрутизатор R3 настроен
Проверяем работу сети
Убеждаемся, что роутер R3 видит R2 и R1 (
рис.
8.32).
Рис.
8.32.
Роутер R3 видит своих соседей
Теперь посмотрим таблицу маршрутизации для R3 (
рис.
8.33).
Рис.
8.33.
Таблица маршрутизации для R3
Примечание
В этой таблице запись с буквой “О” говорит о том, что данный маршрут прописан протоколом OSPF. Мы видим, что сеть 192.168.1.0 доступна для R3 через адрес 10.10.11.1 (это порт gig0/1 маршрутизатора R1). Аналогично, сеть 192.168.2.0 доступна для R3 через адрес 10.10.12.1 (это порт gig0/1 маршрутизатора R2).
Теперь проверяем доступность разных сетей (
рис.
8.34).
Рис.
8.34.
Сети 192.168.1.0 и 192.168.2.0 доступны
Рабочая сеть данного примера представлена файлом task-8-5.pkt.
Wildcard masks are used in Access Control Lists (ACL) to identify (or filter) an individual host, a network, or a range IP addresses in a network to permit or deny access .
When using a wildcard mask, a 0 in a bit position means that the corresponding bit position in the address of the Access Control Lists (ACL) statement must match the bit position in the IP address in the examined packet. A “0” bit in the wildcard mask means that corresponding part in the IP address should exactly match and “1” bit means that the corresponding part in IP address can be ignored. Some examples of Access Control List (ACL) wildcard masks are given below
How to specify a single host using Access Control List (ACL) Wildcard mask
To specify a single host using Access Control List (ACL) Wildcard mask, the IP address and wildcard mask should be as below.
172.16.0.12 0.0.0.0
The four zeros in the wildcard mask represent each octet of the address. As we discussed above, whenever a zero is present in wildcard mask, correspoding part in IP address must match exactly.
The keyword “host” can also be used to accomplish the same result as shown below.
host 172.16.0.12
How to specify an entire network using Access Control List (ACL) Wildcard mask
To specify an entire network using Access Control List (ACL) Wildcard mask, use a wild card mask of 255 (all bits “1” in that octet). The following example can be used to specify all IP addresses in 172.16.0.0/16 ntwork.
172.16.0.0 0.0.255.255
The above example states that the values of only first two octects should exactly match and the values of the last two octets can be any. This statement can match all the IP addresses of 172.16.0.0/16 network.
How to specify a range of IP addresses in a network using Access Control List (ACL) Wildcard mask
To specify a range of IP addresses in a network using Access Control List (ACL) Wildcard mask, use the “1” bit only for the subnetted bits.
Example 1: The following example can be used to specify all IP addresses of a classs B network, 172.16.0.0, which is subnetted by using a class C subnet mask (172.16.0.0/24).
The binary representation of above network address, subnet mask and wild card mask is as shown below.
IP address – 10101100.00010000.00000000.00000000
Subnet Mask – 11111111.11111111.11111111.00000000
Wildcard Mask –
00000000.00000000.00000000.11111111
The decimal representation of the above IP Address and wildcard mask is given below.
172.16.0.0 0.0.0.255
The above example states that the values of first three octects should exactly match and the values of the last octet can be any. This statement can match all the IP addresses of 172.16.0.0/24 network.
Example 2: The following example can be used to specify all IP addresses of a classs B network, 172.16.240.0/20 (Subnet Mask 255.255.240.0). Click the following link to learn more about class B subnetting.
The binary representation of above network address, subnet mask and wild card mask is as shown below.
IP address – 10101100.00010000.0000 | 0000.00000000
Subnet Mask – 11111111.11111111.1111 | 0000.00000000
Wildcard Mask –
00000000.00000000.0000 | 1111.11111111
The decimal representation of the above IP Address, Subnet Mask and Wildcard mask are given below.
IP address – 172.16.240.0
Subnet Mask – 255.255.240.0
Wildcard Mask -0.0.15.255
The above example states that the values of first 20 bits must exactly match and the last 12 bits can be any. This statement can match all the IP addresses of 172.16.240.0/20 network shown below.
Network address – 172.16.240.0/20
First usable IP address – 172.16.240.1/20
Last usable IP Address – 172.16.255.254/20
Broadcast address – 172.16.255.255/20
A wildcard mask is a sequence of numbers that streamlines packet routing inside a proprietary network’s subnets. It is also referred to as an inverse mask. The main reason behind this is that unlike a subnet mask in which, binary 1, is equal to a match, and binary 0 is not a match. However, in the wildcard mask, the opposite is true.
Wildcard mask is 32 bits long. It acts inverted, but, with a wildcard mask, the zero bits suggest that the corresponding bit position should match the same bit position in the IP address. The one bit indicates that the corresponding bit position does not have to match the IP address’s bit position.
Wildcard masks use the below-given rules to match binary 1 and 0:
- If the wildcard mask bit 0, then it matches the bit value in the address.
- If the wildcard mask bit 1, then you should ignore the corresponding bit value in the address.
Wild Card Mask for a Host will always be 0.0.0.0
In this networking tutorial, you will learn:
- What is Wildcard Mask?
- How Does a Wildcard Mask Work?
- Why wildcard mask of 0.0.0.255?
- What if you want to include both 10.0.0.0/24 and 10.0.1.0/24 subnets?
- How to Calculate Wildcard Mask?
- Where can Wildcard Masks be used?
How Does a Wildcard Mask Work?
The following example allows you to understand the concept of wildcard masks:
In the above-given picture, you can see a network with three hosts and a router. Here, the router is directly connected to three subnets.
Let us assume that we want to advertise only the 10.0.1.0/24 subnet. You can use the wildcard mask of 0.0.0.255 in the following network command to do this:
R1(config-router)#network 10.0.1.0 0.0.0.255
Why wildcard mask of 0.0.0.255?
For that first, you should convert the CISCO wild card mask and IP address into binary:
10.0.1.0 = 00001010.00000000.00000001.00000000 0.0.0.255 = 00000000.0000000.00000000.11111111
The zero bits of the wildcard mask must match the same position in the IP address in the network, which should be included in the network command:
00001010.00000000.00000001.00000000 00000000.00000000.00000000.11111111
You can see that in the above-given example, the last octet does not need to match, as the wildcard bits are all ones. The first 24 bits need to match because of the wildcard mask bits of all zeros.
Here, the wildcard mask will match all IP addresses, which helps them begin with 10.0.1. x (10.0.1.0–10.0.1.255). In this case, you have only one network that will be matched–10.0.1.0/24.
What if you want to include both 10.0.0.0/24 and 10.0.1.0/24 subnets?
You need to use the wildcard mask of 0.0.1.255 in the following:
10.0.0.0 = 00001010.00000000.00000000.00000000 10.0.1.0 = 00001010.00000000.00000001.00000000 0.0.1.255 = 00000000.00000000.00000001.11111111
From the above-given output, you can see that, with the wildcard mask of 0.0.1.255. Here, only 23 bits have to match. This means that all addresses in the range of 10.0.0.0–10.0.1.255 need to be matched. So, in this case, both IP addresses have been reached.
How to Calculate Wildcard Mask?
Calculating wildcard masks is a challenging task. One easy shortcut method is to subtract the subnet mask from 255.255.255.255. The solution produces the wildcard mask.
For Example:
1) 255.255.255.255 - 255.255.255.255 = 0.0.0.0 (wildcard mask) 2) 255.255.255.255 - 255.255.255.128 = 0.0.0.127 (wildcard mask) 3) 255.255.255.255 - 192.0.0.0 = 63.255.255.255 (wildcard mask)
Where can Wildcard Masks be used?
Wildcard masks method in use in the access control list. It is useful when you have a large network and need to allow free traffic flow between multiple routers. So, when you have a large network of several routers and LAN segments, you will likely run into CISCO wildcard masks.
You need to ensure that you properly set your wildcard mask to ensure only allowable traffic can pass through your router.
Summary:
- A wildcard mask is a sequence of numbers that streamlines packet routing inside a proprietary network’s subnets.
- Two rules for wild card masks are: 1) If the wildcard mask bit 0, it matches the bit value in the address. 2) If the wildcard mask bit 1, then you should ignore the corresponding bit value in the address.
- Wildcard masks method in use in the access control list. It is useful when you have a large network and need to allow free traffic flow between multiple routers.
In one of my previous lessons I explained how to calculate wildcard bits for access-lists that you can use to match network and subnet addresses. In this lesson, we will dive a bit deeper into the wildcards and I’ll teach you how to match on some more complex patterns.
Match all even or uneven subnets
We start with something simple, the goal is to match all “even” subnets. This is my list of subnets that I have to play with:
192.168.0.0 /24
192.168.1.0 /24
192.168.2.0 /24
192.168.3.0 /24
192.168.4.0 /24
192.168.5.0 /24
192.168.6.0 /24
192.168.7.0 /24
192.168.8.0 /24
So how are we going to approach this? What kind of wildcard mask do we need to match all the even subnets. To answer this question we have to look at it in binary:
192.168.0.0 | 1100 0000 | 1010 1000 | 0000 0000 | 0000 0000 |
192.168.1.0 | 1100 0000 | 1010 1000 | 0000 0001 | 0000 0000 |
192.168.2.0 | 1100 0000 | 1010 1000 | 0000 0010 | 0000 0000 |
192.168.3.0 | 1100 0000 | 1010 1000 | 0000 0011 | 0000 0000 |
192.168.4.0 | 1100 0000 | 1010 1000 | 0000 0100 | 0000 0000 |
192.168.5.0 | 1100 0000 | 1010 1000 | 0000 0101 | 0000 0000 |
192.168.6.0 | 1100 0000 | 1010 1000 | 0000 0100 | 0000 0000 |
192.168.7.0 | 1100 0000 | 1010 1000 | 0000 0101 | 0000 0000 |
192.168.8.0 | 1100 0000 | 1010 1000 | 0000 1000 | 0000 0000 |
The first and second octet is the same for all these subnets and we don’t care about the last octet since it’s for hosts. We need to look at the third octet to find a pattern. Let’s take a look at the even subnets:
0 | 0000 0000 |
2 | 0000 0010 |
4 | 0000 0100 |
6 | 0000 0110 |
8 | 0000 1000 |
8th bit is always a 0. Let’s look at the uneven subnets too:
1 | 0000 0001 |
3 | 0000 0011 |
5 | 0000 0101 |
7 | 0000 0111 |
To create an uneven subnet, the 8th bit is always a 1. This is something we can match with a wildcard. Let’s start with a wildcard that matches all even subnets:
192.168.0.0 | 1100 0000 | 1010 1000 | 0000 0000 | 0000 0000 |
192.168.2.0 | 1100 0000 | 1010 1000 | 0000 0010 | 0000 0000 |
192.168.4.0 | 1100 0000 | 1010 1000 | 0000 0100 | 0000 0000 |
192.168.6.0 | 1100 0000 | 1010 1000 | 0000 0110 | 0000 0000 |
192.168.8.0 | 1100 0000 | 1010 1000 | 0000 1000 | 0000 0000 |
wildcard | 0000 0000 | 0000 0000 | 1111 1110 | 1111 1111 |
The first two octets are the same for all the subnets so we use all zeroes for the wildcard mask. In the third octet we use a 1 (don’t care) for all bits except for the 8th bit…it has to match. We don’t care at all about the 4th octet.
The wildcard that we can use will be 0.0.254.255.
Want to see a real life example? Let me show you an example of a router that is configured for EIGRP. This is what the routing table looks like, you see all the networks that I used in the example above:
R2#show ip route eigrp
D 192.168.8.0/24 [90/409600] via 10.10.10.1, 00:09:51, FastEthernet0/0
D 192.168.4.0/24 [90/409600] via 10.10.10.1, 00:09:51, FastEthernet0/0
D 192.168.5.0/24 [90/409600] via 10.10.10.1, 00:00:03, FastEthernet0/0
D 192.168.6.0/24 [90/409600] via 10.10.10.1, 00:09:51, FastEthernet0/0
D 192.168.7.0/24 [90/409600] via 10.10.10.1, 00:00:03, FastEthernet0/0
D 192.168.0.0/24 [90/409600] via 10.10.10.1, 00:09:51, FastEthernet0/0
D 192.168.1.0/24 [90/409600] via 10.10.10.1, 00:00:03, FastEthernet0/0
D 192.168.2.0/24 [90/409600] via 10.10.10.1, 00:09:51, FastEthernet0/0
D 192.168.3.0/24 [90/409600] via 10.10.10.1, 00:00:03, FastEthernet0/0
Now we will make an access-list that uses the wildcard mask that we just found. I use 192.168.0.0 as the network address so it matches all subnets in the 192.168.x.x range.
R2(config)#ip access-list standard EVEN
R2(config-std-nacl)#permit 192.168.0.0 0.0.254.255
I can use a distribute-list and refer to the access-list to filter incoming routing updates:
R2(config)#router eigrp 10
R2(config-router)#distribute-list EVEN in
After applying the distribute-list the routing table looks like this:
R2#show ip route eigrp
D 192.168.8.0/24 [90/409600] via 10.10.10.1, 00:03:57, FastEthernet0/0
D 192.168.4.0/24 [90/409600] via 10.10.10.1, 00:03:57, FastEthernet0/0
D 192.168.6.0/24 [90/409600] via 10.10.10.1, 00:03:57, FastEthernet0/0
D 192.168.0.0/24 [90/409600] via 10.10.10.1, 00:03:57, FastEthernet0/0
D 192.168.2.0/24 [90/409600] via 10.10.10.1, 00:03:57, FastEthernet0/0
Voila! Only the even subnets are here.
We can also use the same wildcard but apply it the other way around so it matches all the uneven subnets:
192.168.1.0 | 1100 0000 | 1010 1000 | 0000 0001 | 0000 0000 |
192.168.3.0 | 1100 0000 | 1010 1000 | 0000 0011 | 0000 0000 |
192.168.5.0 | 1100 0000 | 1010 1000 | 0000 0101 | 0000 0000 |
192.168.7.0 | 1100 0000 | 1010 1000 | 0000 0111 | 0000 0000 |
wildcard | 0000 0000 | 0000 0000 | 1111 1110 | 1111 1111 |
We use the exact same wildcard mask but we will use another subnet address in the access-list (192.168.1.0):
192.168.1.0 | 1100 0000 | 1010 1000 | 0000 0001 | 0000 0000 |
wildcard | 0000 0000 | 0000 0000 | 1111 1110 | 1111 1111 |
When we use this subnet as the network address then the 8th bit of the 3rd octet has to be a 1. This is what the access-list will look like:
R2(config)#ip access-list standard UNEVEN
R2(config-std-nacl)#deny 192.168.1.0 0.0.254.255
R2(config-std-nacl)#permit any
We deny all the uneven subnets and permit everything else. Let’s apply it so you can see it in action:
R2(config)#router eigrp 10
R2(config-router)#no distribute-list EVEN in
R2(config-router)#distribute-list UNEVEN in
The results will be the same:
R2#show ip route eigrp
D 192.168.8.0/24 [90/409600] via 10.10.10.1, 00:00:02, FastEthernet0/0
D 192.168.4.0/24 [90/409600] via 10.10.10.1, 00:00:02, FastEthernet0/0
D 192.168.6.0/24 [90/409600] via 10.10.10.1, 00:00:02, FastEthernet0/0
D 192.168.0.0/24 [90/409600] via 10.10.10.1, 00:00:02, FastEthernet0/0
D 192.168.2.0/24 [90/409600] via 10.10.10.1, 00:00:02, FastEthernet0/0
Are you following me so far? Let’s try a more complex example!
Matching “random” subnets
This is an example that you might encounter on a test. Let me show you a couple of subnets:
192.168.10.0 /24
192.168.26.0 /24
192.168.42.0 /24
192.168.58.0 /24
These subnets look random to us but on a binary level they have something in common. To see this, we need to dive into the binary world: