По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Привет, коллега. Сегодня хотим рассказать о своем телеграмм чате, который создали для общения наших читателей по всем вопросам, связанным с IT. Цель данного чата - взаимопомощь ИТ экспертов, а также начинающих специалистов между собой. В чате можно задать вопрос, на который давно не можешь найти ответ и получить ответ, или как минимум, подсказку от профессионального сообщества. Для кого этот чат? В чате присутствует следующая экспертиза: Сетевая инженерия: вопросы по работе сетей на базе вендоров MikroTik, Cisco, Huawei, маршрутизация, коммутация, построение VPN, провайдерские решения (ISP); Телефония и контактные центры: вопросы по VoIP решениям на базе Asterisk, CUCM, CME, Openscape, Avaya, Huawei, а так же по КЦ платформам на базе UCCX, UCCE, Genesys Серверное администрирование: Linux/Unix системы, решения на базе Windows Server, Apache, Nginx, IIS и прочее. DevOPS: про Caddy, Kubernetes, Docker, Vagrant, Jenkins, Chef, Ansible, Hadoop и ELK (Elasticsearch, Logstash и Kiban) - что называется "under the hood". Помимо прочего, на вопросы участников отвечают наши инженеры "Мерион Нетворкс". Вступить в чат #функция числительных function getNumEnding($number, $endingArray) { $number = $number % 100; if ($number>=11 && $number
img
Всем привет! Сегодня в статье мы хотим вам рассказать про то как зарегистрировать телефоны Cisco серии 78хх на IP-АТС Asterisk. Рассматривать настройку мы будем на примере телефона Cisco 7811, самого простого из этой серии, отличающегося от других тем что, имеет только одну линию. Если вам интересно как настроить телефон для работы с оригинальными АТС от Cisco, то тут вы можете прочитать про CUCM, а тут про CME. Процесс загрузки телефона Телефоны Cisco 78хх поддерживают протокол SIP, в отличие от старых моделей, которые работали по проприетарному протоколу SCCP, и это облегчит нам настройку. Когда телефон Cisco загружается он выполняет следующие действия: Телефон получает питание c помощью блока питания или при помощи PoE; Телефон загружает ПО, которое хранится локально в его памяти; Телефон узнает голосовой VLAN ID при помощи CDP; Телефон использует DHCP чтобы узнать свой IP адрес, маску подсети, шлюз и адрес TFTP сервера; Телефон связывается с TFTP сервером и запрашивает конфигурационный файл. (У каждого телефона есть конфигурационный файл, который имеет вид SEP<мак_адрес>.cnf.xml); Телефон регистрируется на АТС CUCM, который указан в конфигурационном файле; А нам, поскольку у нас Asterisk вместо CUCM, нужно изменить конфигурационный файл, который находится на TFTP и в нем указать адрес нашей АТС, его номер и прочие параметры. Начнем по порядку. Настройка DHCP и TFTP Прежде всего нам нужно настроить DHCP сервер который будет выдавать адрес телефона и сообщать ему о TFTP сервере, а также соответственно сам TFTP сервер, на котором будут лежать все необходимые файлы. Если вы используете в качестве DHCP сервера оборудование Cisco то прочитать про то как создать на нем DHCP сервер можно здесь, а если вы используете оборудование Mikrotik то здесь. Основной момент – телефоны Cisco получают информацию о TFTP сервере при помощи параметра Option 150, и именно его нужно настроить и в нем указать адрес TFTP сервера, с которым должен связаться телефон чтобы забрать необходимые файлы. Для Cisco нужно использовать следующую команду в настройках DHCP: option 150 ip 192.168.1.20 Для Mikrotik нужно в WinBox перейти в меню IP - DHCP Server – Options и нажать “+”. Тут необходимо указать в поле Code значение 150, а в поле Value – адрес сервера. А затем в разделе Networks в поле DHCP Options указать созданную нами опцию. В нашем примере мы будем использовать бесплатную программу Tftpd64, которая может выступать в качестве DHCP и TFTP сервера, а также может показывать логи, что очень удобно для траблшутинга. В меню настроек во вкладке DHCP можно настроить все нужные параметры, в том числе и необходимую нам опцию 150. Во вкладке TFTP указываем необходимые параметры, такие как адрес директории где будут находится файлы. Если ваше оборудование не поддерживает Option 150 или вы не хотите заморачиваться с этим, то адрес TFTP сервера можно прописать на самом телефоне в разделе Настройки – Параметры администратора – Настройка сети – Настройка IPv4 и тут в пункте Дополнительный TFTP сервер установить значение “Да”, а ниже в поле TFTP-сервер вручную прописать нужный адрес. Создание экстеншена на Asterisk Создадим новый номер на нашей АТС при помощи графического интерфейса FreePBX. Для этого переходим в меню Applications – Extensions, нажимаем Add Extension и выбираем Add New PJSIP Extension. Да мы будем использовать PJSIP, поскольку телефон будет слать пакеты на стандартный порт 5060, который в Asterisk использует PJSIP. Этого будет достаточно, сохраняем и применяем конфиг. Создание необходимых файлов При загрузке телефона он будет пытаться скачать файл конфигурации и обновить свою прошивку. После того как мы подняли наш TFTP сервер нам нужно залить на него все файлы, которые будут необходимы телефону. Для начала нужно скачать файл прошивки для нашего телефона, потому что телефон будет всегда запрашивать его при загрузке. Скачать его можно с официального сайта Cisco, предварительно зарегистрировавшись там. Оттуда же нам нужно скачать файл с локалью. Далее идет самое важное – файл конфигурации телефона. Нам нужно создать XML файл, который должен называться SEP<mac_адрес_телефона>.cnf.xml. Например, SEPA1B2C3D4E5F6.cnf.xml Для создания этого файла лучше всего использовать специальный XML-редактор (например, EditiX), чтобы не было проблем с валидацией. Его содержание должно быть таким: <?xml version="1.0" encoding="UTF-8" <device> <versionStamp>{7821 Aug 28 2015 12:40:48}</versionStamp> <devicePool> <dateTimeSetting> <dateTemplate>D.M.Y</dateTemplate> <timeZone>E. Europe Standard/Daylight Time</timeZone> <ntps> <ntp> <name>time.windows.com</name> <ntpMode>Unicast</ntpMode> </ntp> </ntps> </dateTimeSetting> <callManagerGroup> <members> <member priority="0"> <callManager> <ports> <ethernetPhonePort>2000</ethernetPhonePort> </ports> <processNodeName>192.168.1.17</processNodeName> </callManager> </member> </members> </callManagerGroup> </devicePool> <commonProfile> <callLogBlfEnabled>3</callLogBlfEnabled> </commonProfile> <loadInformation>sip78xx.12-5-1-16</loadInformation> <userLocale> <name>Russian_Russia</name> <uid/> <langCode>ru_RU</langCode> <version/> <winCharSet>utf-8</winCharSet> </userLocale> <networkLocale>United_States</networkLocale> <networkLocaleInfo> <name>Russian_Russia</name> </networkLocaleInfo> <idleTimeout>0</idleTimeout> <authenticationURL/> <directoryURL/> <idleURL/> <informationURL/> <messagesURL/> <proxyServerURL/> <servicesURL/> <capfAuthMode>0</capfAuthMode> <capfList> <capf> <phonePort>5060</phonePort> <processNodeName/> </capf> </capfList> <deviceSecurityMode>1</deviceSecurityMode> <sipProfile> <sipCallFeatures> <cnfJoinEnabled>true</cnfJoinEnabled> <callForwardURI>x--serviceuri-cfwdall</callForwardURI> <callPickupURI>x-cisco-serviceuri-pickup</callPickupURI> <callPickupListURI>x-cisco-serviceuri-opickup</callPickupListURI> <callPickupGroupURI>x-cisco-serviceuri-gpickup</callPickupGroupURI> <meetMeServiceURI>x-cisco-serviceuri-meetme</meetMeServiceURI> <abbreviatedDialURI>x-cisco-serviceuri-abbrdial</abbreviatedDialURI> <rfc2543Hold>true</rfc2543Hold> <callHoldRingback>2</callHoldRingback> <localCfwdEnable>true</localCfwdEnable> <semiAttendedTransfer>true</semiAttendedTransfer> <anonymousCallBlock>2</anonymousCallBlock> <callerIdBlocking>0</callerIdBlocking> <dndControl>0</dndControl> <remoteCcEnable>true</remoteCcEnable> </sipCallFeatures> <sipStack> <sipInviteRetx>6</sipInviteRetx> <sipRetx>10</sipRetx> <timerInviteExpires>180</timerInviteExpires> <timerRegisterExpires>120</timerRegisterExpires> <timerRegisterDelta>5</timerRegisterDelta> <timerKeepAliveExpires>120</timerKeepAliveExpires> <timerSubscribeExpires>120</timerSubscribeExpires> <timerSubscribeDelta>5</timerSubscribeDelta> <timerT1>500</timerT1> <timerT2>4000</timerT2> <maxRedirects>70</maxRedirects> <remotePartyID>false</remotePartyID> <userInfo>None</userInfo> </sipStack> <autoAnswerTimer>1</autoAnswerTimer> <autoAnswerAltBehavior>false</autoAnswerAltBehavior> <autoAnswerOverride>true</autoAnswerOverride> <transferOnhookEnabled>true</transferOnhookEnabled> <enableVad>false</enableVad> <preferredCodec>g729</preferredCodec> <dtmfAvtPayload>101</dtmfAvtPayload> <dtmfDbLevel>3</dtmfDbLevel> <dtmfOutofBand>avt</dtmfOutofBand> <alwaysUsePrimeLine>false</alwaysUsePrimeLine> <alwaysUsePrimeLineVoiceMail>false</alwaysUsePrimeLineVoiceMail> <kpml>3</kpml> <stutterMsgWaiting>1</stutterMsgWaiting> <callStats>false</callStats> <silentPeriodBetweenCallWaitingBursts>10</silentPeriodBetweenCallWaitingBursts> <disableLocalSpeedDialConfig>false</disableLocalSpeedDialConfig> <startMediaPort>16384</startMediaPort> <stopMediaPort>16399</stopMediaPort> <voipControlPort>5069</voipControlPort> <dscpForAudio>184</dscpForAudio> <ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy> <dialTemplate>dialplan.xml</dialTemplate> <phoneLabel>Office</phoneLabel> <sipLines> <line button="1"> <featureID>9</featureID> <featureLabel>Merion Networks</featureLabel> <name>200</name> <displayName>Cisco</displayName> <contact>200</contact> <proxy>192.168.1.17</proxy> <port>5060</port> <autoAnswer> <autoAnswerEnabled>2</autoAnswerEnabled> </autoAnswer> <callWaiting>3</callWaiting> <authName>200</authName> <authPassword>qwe123</authPassword> <sharedLine>false</sharedLine> <messageWaitingLampPolicy>1</messageWaitingLampPolicy> <messagesNumber>121</messagesNumber> <ringSettingIdle>4</ringSettingIdle> <ringSettingActive>5</ringSettingActive> <forwardCallInfoDisplay> <callerName>true</callerName> <callerNumber>false</callerNumber> <redirectedNumber>false</redirectedNumber> <dialedNumber>true</dialedNumber> </forwardCallInfoDisplay> </line> </sipLines> </sipProfile> </device> Что нас здесь интересует и что нужно изменить: <timeZone> - E. Europe Standard/Daylight Time - в нашем примере мы используем временную зону, которая подходит для Москвы UTC+3. <processNodeName> – адрес нашего Asterisk <loadInformation> – имя файла прошивки (который с расширением .loads) <userLocale><name> и <networkLocaleInfo> - Russian_Russia – папка с локалью <phonePort> - 5060 – номер SIP порта <voipControlPort> - номер порта телефона И рассмотрим блок <line button="1"> с настройкой линии. Здесь нужно изменить в соответствии с нашими данными: <featureLabel>Merion Networks</featureLabel> - Имя на телефона <name>200</name> - Номер экстеншена <displayName>Cisco</displayName> - Имя экстеншена <contact>200</contact> - Снова номер экстеншена <proxy>192.168.1.17</proxy> - Адрес Asterisk <port>5060</port> - номер SIP порта <authName>200</authName> - Еще раз номер экстеншена <authPassword>qwe123</authPassword> - Пароль экстеншена Помимо этого, создаем файл диалпана dialplan.xml, без которого телефон не загрузится: <DIALTEMPLATE> <TEMPLATE MATCH="8,800......." Timeout="1"/> <TEMPLATE MATCH="8,.........." Timeout="1"/> <TEMPLATE MATCH="0.." Timeout="1"/> <TEMPLATE MATCH="1..." Timeout="1"/> <TEMPLATE MATCH="2..." Timeout="1"/> <TEMPLATE MATCH="3..." Timeout="1"/> <TEMPLATE MATCH="4..." Timeout="1"/> <TEMPLATE MATCH="[5-7]..." Timeout="1"/> <TEMPLATE MATCH="**...." Timeout="0"/> <TEMPLATE MATCH="*" Timeout="3"/> </DIALTEMPLATE> Далее создаем файл g3-tones.xml со следующим содержанием: <tones> <trkLocaleName>Russian_Federation</trkLocaleName> <trkBaseClearcaseVersion>/main/3.3.release/1</trkBaseClearcaseVersion> <trkTranslationVersion>0</trkTranslationVersion> <tone c1="30959" i1="-1879" d="1" t="ringing"> <part m="on" t="800"/> <part m="off" t="3200"/> <repeat c="65535"/> </tone> <tone c1="30959" i1="-1879" d="1" t="reorder"> <part m="on" t="200"/> <part m="off" t="200"/> <repeat c="65535"/> </tone> <tone c1="30959" i1="-1879" d="1" t="busy"> <part m="on" t="400"/> <part m="off" t="400"/> <repeat c="65535"/> </tone> <tone c1="30959" i1="-1879" d="1" t="odial"> <part m="on" t="65535"/> <repeat c="65535"/> </tone> <tone c1="30959" i1="-1879" d="1" t="idial"> <part m="on" t="65535"/> <repeat c="65535"/> </tone> <tone c1="14876" i1="-5346" d="1" t="recording"> <part m="on" t="400"/> <part m="off" t="15000"/> <repeat c="65535"/> </tone> <tone c1="30743" i1="-1384" c2="29780" i2="-1252" c3="30743" i3="-1384" c4="29780" i4="-1252" d="34" t="amwi"> <part m="on" t="100" /> <part m="off" t="100" /> <part m="on" t="65535" /> <repeat c="65535" pc1="10" pc2="65535"/> </tone> <tone c1="30831" i1="-2032" d="17" t="monitoring"> <part m="on" t="1500"/> <part m="off" t="8000"/> <part m="on" t="500"/> <part m="off" t="8000"/> <repeat c="65535"/> </tone> </tones> После этого создаем в директории TFTP папку Russian_Russia (или ту которую указали в <userLocale><name> и <networkLocaleInfo><name>) и переносим туда файл g3-tones.xml. Также туда необходимо перенести файл локали sp-sip.jar. И наконец нам нужно создать три пустых файла: CTLSEPSEP<mac_адрес_телефона>.tlv ITLSSEPSEP<mac_адрес_телефона>.tlv ITLFile.tlv Эти файлы нужны чтобы у нас не было ошибки “No Trust List Installed”. На этом все. По итогу в директории нашего TFTP сервера должны быть следующие файлы: SEP<mac_адрес_телефона>.cnf.xml dialplan.xml sip78xx.12-5-1-16.loads CTLSEP<mac_адрес_телефона>.tlv ITLSSEP<mac_адрес_телефона>.tlv ITLFile.tlv Папка Russian_Russia с файлами: g3-tones.xml и sp-sip.jar Загрузка телефона На этом наша подготовка закончена, и мы теперь можем включить телефон. Он начнет загружаться, получит IP адрес и пойдет на TFTP чтобы скачать все необходимые файлы. При помощи Tftfd64 можно смотреть за происходящем через вкладку Log Viewer, где можно увидеть какие файлы скачивает, и каких ему не хватает, в случае ошибки. Если все нормально, то телефон скачает файл конфигурации, затем установит новую версию прошивки с TFTP и выбранную локаль, после чего перезагрузится. После прошивки он начнет связываться с нашей IP-АТС Asterisk и начнется процесс регистрации в результате, которого мы получим телефон Cisco, работающий с Asterisk по протоколу SIP. Успех! Теперь можем проверять телефон и делать звонки!
img
Почитайте предыдущую статью из цикла про Основы IPv4 Access Control Lists. Когда вы думаете о месте и направлении ACL, вы, должно быть, уже думаете о том, какие пакеты вы планируете фильтровать (отбрасывать), а какие хотите пропустить. Чтобы сообщить маршрутизатору те же идеи, вы должны настроить маршрутизатор с IP ACL, который соответствует пакетам. Соответствующие пакеты относятся к тому, как настроить команды ACL для просмотра каждого пакета, перечисляя, как определить, какие пакеты следует отбросить, а какие разрешить. Каждый IP ACL состоит из одной или нескольких команд конфигурации, каждая из которых содержит подробную информацию о значениях, которые нужно искать в заголовках пакетов. Как правило, команда ACL использует такую логику, как "найдите эти значения в заголовке пакета и, если они найдены, отвергните пакет" (вместо этого может быть разрешение пакета, а не его отбрасывание.) В частности, ACL ищет поля заголовка, которые вы уже должны хорошо знать, включая IP-адреса источника и назначения, а также номера портов TCP и UDP. Давайте сначала рассмотрим пример с рисунка 2, в котором нам необходимо разрешить прохождение пакетов с хоста A на сервер S1, но отбросить пакеты от хоста B, идущие на тот же сервер. Все хосты теперь имеют IP-адреса, а на рисунке показан псевдокод ACL на R2. На рисунке 2 также показано расположение, выбранное для включения ACL: входящий на интерфейсе S0/0/1 R2. На рисунке 2 показан ACL, состоящий из двух строк в прямоугольнике внизу с простой логикой сопоставления: оба оператора просто ищут совпадение с исходным IP-адресом в пакете. Когда этот параметр включен, R2 просматривает каждый входящий IP-пакет на этом интерфейсе и сравнивает каждый пакет с этими двумя командами ACL. Пакеты, отправленные хостом A (исходный IP-адрес 10.1.1.1), разрешены, а пакеты, отправленные хостом B (исходный IP-адрес 10.1.1.2), отбрасываются. Принятие мер при возникновении совпадения. При использовании ACL IP для фильтрации пакетов можно выбрать только одно из двух действий. Команды настроек используют ключевые слова deny и allow, и они означают (соответственно) отбросить пакет или разрешить ему продолжать работу, как если бы ACL не существовал. Здесь основное внимание уделяется использованию ACL для фильтрации пакетов, но IOS использует ACL для многих других функций. Эти функции обычно используют одну и ту же логику сопоставления. Однако в других случаях ключевые слова deny или allow подразумевают другое действие. Типы ACL IP Cisco IOS поддерживает ACL IP с первых дней существования маршрутизаторов Cisco. Начиная с исходных стандартных пронумерованных списков контроля доступа IP на заре IOS, которые могли задействовать логику, показанную ранее на рисунке 2, Cisco добавила множество функций ACL, включая следующие: Стандартные нумерованные списки ACL (1–99) Расширенные нумерованные ACL (100–199) Дополнительные номера ACL (1300–1999 стандартные, 2000–2699 расширенные) Именованные ACL Улучшенное редактирование с порядковыми номерами Здесь мы рассматриваем исключительно стандартные пронумерованные списки контроля доступа IP, а в следующей лекции рассмотрим другие три основные категории списков контроля доступа IP. Вкратце, списки управления доступом IP будут либо пронумерованы, либо именованы, так как конфигурация идентифицирует ACL с использованием номера или имени. ACL также будут стандартными или расширенными, при этом расширенные ACL будут иметь гораздо более надежные возможности для сопоставления пакетов. Рисунок 3 суммирует основные идеи, связанные с категориями списков контроля доступа IP. Стандартные нумерованные списки ACL IPv4 Этот подраздел лекции посвящен типу фильтра Cisco (ACL), который соответствует только исходному IP-адресу пакета (стандарт), настроен для идентификации ACL с использованием чисел, а не имен (пронумерованных), и смотрит на пакеты IPv4.В этой части исследуются особенности стандартных пронумерованных списков контроля доступа IP. Во-первых, он исследует идею о том, что один ACL является списком, и какую логику использует этот список. После этого в тексте подробно рассматривается, как сопоставить поле IP-адреса источника в заголовке пакета, включая синтаксис команд. В конце этой лекции дается полный обзор команд конфигурации и проверки для реализации стандартных ACL. Логика списка с IP ACL Один ACL - это одновременно и единый объект, и список одной или нескольких команд конфигурации. Как единый объект, конфигурация включает весь ACL на интерфейсе в определенном направлении, как показано ранее на рисунке 1. В виде списка команд каждая команда имеет различную логику согласования, которую маршрутизатор должен применять к каждому пакету при фильтрации с использованием этого ACL.При обработке ACL маршрутизатор обрабатывает пакет по сравнению с ACL следующим образом: ACL используют логику первого совпадения. Как только пакет соответствует одной строке в ACL, роутер выполняет действие, указанное в этой строке ACL, и прекращает поиск в ACL.Чтобы понять, что это означает, рассмотрим пример, построенный на рисунке 4. На рисунке показан пример ACL 1 с тремя строками псевдокода. В этом примере ACL 1 применяется к входящему интерфейсу S0/0/1 R2 (то же расположение, что и на предыдущем рисунке 2). Рассмотрим логику ACL первого совпадения для пакета, отправленного хостом A на сервер S1. Исходным IP-адресом будет 10.1.1.1, и он будет маршрутизирован так, чтобы входить в интерфейс S0/0/1 R2, управляя логикой ACL 1 R2. R2 сравнивает этот пакет с ACL, сопоставляя первый элемент в списке с действием разрешения. Таким образом, этот пакет должен быть пропущен, как показано на рисунке 5 слева. Затем рассмотрим пакет, отправленный хостом B, исходный IP-адрес 10.1.1.2. Когда пакет поступает в интерфейс S0/0/1 R2, R2 сравнивает пакет с первым оператором ACL 1 и не находит соответствия (10.1.1.1 не равно 10.1.1.2). Затем R2 переходит ко второму утверждению, которое требует некоторого пояснения. Псевдокод ACL, показанный на рисунке 4, показывает 10.1.1.x, что означает сокращение того, что в последнем октете может существовать любое значение. Сравнивая только первые три октета, R2 решает, что этот последний пакет действительно имеет IP-адрес источника, который начинается с первых трех октетов 10.1.1, поэтому R2 считает, что это соответствует второму оператору. R2 выполняет указанное действие (запретить), отбрасывая пакет. R2 также останавливает обработку ACL для пакета, игнорируя третью строку в ACL. Наконец, рассмотрим пакет, отправленный хостом C, снова на сервер S1. Пакет имеет IP-адрес источника 10.3.3.3, поэтому, когда он входит в интерфейс R2 S0/0/1 и управляет обработкой ACL на R2, R2 просматривает первую команду в ACL 1. R2 не соответствует первой команде ACL (10.1.1.1). в команде не совпадает с пакетом 10.3.3.3). R2 просматривает вторую команду, сравнивает первые три октета (10.1.1) с IP-адресом источника пакета (10.3.3) и по-прежнему не находит совпадения. Затем R2 смотрит на третью команду. В этом случае подстановочный знак означает игнорирование последних трех октетов и просто сравнение первого октета (10), чтобы пакет соответствовал. Затем R2 выполняет указанное действие (разрешение), позволяя пакету продолжить работу. Эта последовательность обработки ACL в виде списка происходит для любого типа IOS ACL: IP, других протоколов, стандартных или расширенных, именованных или пронумерованных. Наконец, если пакет не соответствует ни одному из элементов в ACL, пакет отбрасывается. Причина в том, что каждый IP ACL имеет оператор deny all, подразумеваемый в конце ACL. Его нет в конфигурации, но если маршрутизатор продолжает поиск в списке, и до конца списка не найдено совпадение, IOS считает, что пакет соответствует записи, имеющей действие запрета. Соответствие логики и синтаксиса команд Стандартные нумерованные ACL для IP-адресов используют следующую команду: access-list {1-99 | 1300-1999} {permit | deny} matching-parameters Каждый стандартный нумерованный ACL имеет одну или несколько команд списка доступа с одинаковым номером, любым числом из диапазонов, показанных в предыдущей строке синтаксиса. IOS относится к каждой строке в ACL как к записи управления доступом (ACE), но многие сетевые администраторы просто называют их операторами ACL.Помимо номера ACL, каждая команда списка доступа также перечисляет действие (разрешить или запрещать), а также логику сопоставления. Остальная часть этой части изучает, как настроить параметры сопоставления, что для стандартных списков ACL означает, что вы можете сопоставить исходный IP-адрес или части исходного IP-адреса только с помощью так называемой обратной маски ACL. Соответствие точному IP-адресу Чтобы сопоставить конкретный исходный IP-адрес, весь IP-адрес, все, что вам нужно сделать, это ввести этот IP-адрес в конце команды. Например, в предыдущем примере псевдокод используется для "разрешить, если источник = 10.1.1.1". Следующая команда настраивает эту логику с правильным синтаксисом с использованием ACL номер 1: access-list 1 permit 10.1.1.1 Сопоставить точный полный IP-адрес очень просто.В более ранних версиях IOS синтаксис включал ключевое слово host. Вместо того, чтобы просто вводить полный IP-адрес, вы сначала набираете ключевое слово host, а затем IP-адрес. Обратите внимание, что в более поздних версиях IOS, если вы используете ключевое слово host, IOS принимает команду, но затем удаляет ключевое слово. Сопоставление адреса подсети с обратной маской Часто бизнес-цели, которые вы хотите реализовать с помощью ACL, совпадают не с одним конкретным IP-адресом, а с целым рядом IP-адресов. Возможно, вы хотите сопоставить все IP-адреса в подсети. Возможно, вы хотите сопоставить все IP-адреса в диапазоне подсетей. Несмотря на это, вы хотите проверить наличие нескольких IP-адресов в диапазоне адресов. IOS позволяет стандартным ACL сопоставлять диапазон адресов с помощью инструмента, называемого обратной маской. Обратите внимание, что это не маска подсети. Обратная маска (сокращенно называют маской WC) дает сетевому администратору способ сказать IOS игнорировать части адреса при проведении сравнений, по существу рассматривая эти части как подстановочные знаки, как если бы они уже совпадали.Вы можете использовать маски WC в десятичном и двоичном виде, и оба имеют свое применение. Для начала можно использовать маски WC в десятичной системе счисления, используя следующие правила: Десятичное число 0: маршрутизатор должен сравнить этот октет как обычно. Десятичное число 255: маршрутизатор игнорирует этот октет, считая его уже совпадающим. Имея в виду эти два правила, рассмотрим рисунок 6, который демонстрирует эту логику с использованием трех различных, но популярных масок WC: одна, которая говорит маршрутизатору игнорировать последний октет, другая, которая говорит маршрутизатору игнорировать последние два октета, и третья, которая говорит маршрутизатору игнорировать последние три октета. Все три примера во вставках на рисунке 6 показывают два числа, которые явно различаются. Маска WC заставляет IOS сравнивать только некоторые октеты, игнорируя другие октеты. Все три примера приводят к совпадению, поскольку каждая подстановочная маска указывает IOS игнорировать некоторые октеты. В примере слева показана маска WC 0.0.0.255, которая указывает маршрутизатору обрабатывать последний октет как подстановочный знак, по существу игнорируя этот октет для сравнения. Точно так же в среднем примере показана маска WC 0.0.255.255, которая сообщает маршрутизатору игнорировать два октета справа. В крайнем правом случае показана маска WC 0.255.255.255, указывающая маршрутизатору игнорировать последние три октета при сравнении значений. Чтобы увидеть маску WC в действии, вспомните предыдущий пример, относящийся к рисункам 4 и 5. В ACL псевдокода на этих двух рисунках используется логика, которую можно создать с помощью маски WC. Напомним, что логика ACL псевдокода на этих двух рисунках включает следующее: Строка 1: Сопоставить и разрешить все пакеты с адресом источника соответствующий строго 10.1.1.1. Строка 2: Сопоставить и отклонить все пакеты с адресами источника с первыми тремя октетами 10.1.1. Строка 3: сопоставить и разрешить все адреса с первым одиночным октетом 10. На рисунке 7 показана обновленная версия рисунка 4, но с завершенным правильным синтаксисом, включая маски WC. В частности, обратите внимание на использование маски WC 0.0.0.255 во второй команде, указывающей R2 игнорировать последний октет числа 10.1.1.0, и маску WC 0.255.255.255 в третьей команде, указывающую R2 игнорировать последние три октеты в значении 10.0.0.0. Наконец, обратите внимание, что при использовании маски WC свободно определенный параметр источника команды access-list должен иметь значение 0 в любых октетах, где маска WC - 255. IOS будет указывать адрес источника равным 0 для частей, которые будут игнорироваться, даже если были настроены ненулевые значения. Теперь почитайте про wildcard в ACL: бинарные обратные маски
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59