По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Предыдущая статья из цикла про соответствие пакетов в IP ACL. Обратные маски, такие как значения dotted-decimal number (DDN), фактически представляют собой 32-разрядное двоичное число. Как 32-разрядное число, маска WC фактически направляет логику маршрутизатора бит за битом. Короче говоря, бит маски WC (wildcard), равный 0, означает, что сравнение должно выполняться как обычно, но двоичный 1 означает, что бит является подстановочным знаком и может быть проигнорирован при сравнении чисел. Кстати, наш калькулятор подсетей показывает и сам считает WC (wildcard) маску. Вы можете игнорировать двоичную маску WC. Почему? Что ж, обычно мы хотим сопоставить диапазон адресов, которые можно легко идентифицировать по номеру подсети и маске, будь то реальная подсеть или сводный маршрут, который группирует подсети вместе. Если вы можете указать диапазон адресов с помощью номера подсети и маски, вы можете найти числа для использования в вашем ACL с помощью простой десятичной математики, как описано далее. Если вы действительно хотите знать логику двоичной маски, возьмите два номера DDN, которые ACL будет сравнивать (один из команды access-list, а другой из заголовка пакета), и преобразуйте оба в двоичный код. Затем также преобразуйте маску WC в двоичную. Сравните первые два двоичных числа бит за битом, но также игнорируйте любые биты, для которых маска WC случайно перечисляет двоичный 1, потому что это говорит вам игнорировать бит. Если все биты, которые вы проверили, равны, это совпадение! Нахождения правильной обратной маски, соответствующей подсети Во многих случаях ACL должен соответствовать всем хостам в определенной подсети. Чтобы соответствовать подсети с помощью ACL, вы можете использовать следующие сочетания: Используйте номер подсети в качестве исходного значения в команде access-list. Используйте обратную маску, полученную путем вычитания маски подсети из 255.255.255.255. Например, для подсети 172.16.8.0 255.255.252.0 используйте номер подсети (172.16.8.0) в качестве параметра адреса, а затем выполните следующие вычисления, чтобы найти обратную маску: Продолжая этот пример, завершенная команда для той же подсети будет следующей: access-list 1 permit 172.16.8.0 0.0.3.255 Соответствие любому/всем адресам В некоторых случаях вам может понадобиться одна команда ACL для сопоставления всех без исключения пакетов, которые достигают этой точки в ACL. Во-первых, вы должны знать (простой) способ сопоставить все пакеты с помощью ключевого слова any. Что еще более важно, вам нужно подумать о том, когда сопоставить все без исключения пакеты. Во-первых, чтобы сопоставить все пакеты с помощью команды ACL, просто используйте ключевое слово any для адреса. Например, чтобы разрешить все пакеты: access-list 1 permit any Итак, когда и где вы должны использовать такую команду? Помните, что все ACL Cisco IP заканчиваются неявным отрицанием любой концепции в конце каждого ACL. То есть, если маршрутизатор сравнивает пакет с ACL, и пакет не соответствует ни одному из настроенных операторов, маршрутизатор отбрасывает пакет. Хотите переопределить это поведение по умолчанию? Настроить permit any в конце ACL. Вы также можете явно настроить команду для запрета всего трафика (например, access-list 1 deny any) в конце ACL. Почему, когда та же самая логика уже находится в конце ACL? Что ж, ACL показывает счетчики списка для количества пакетов, соответствующих каждой команде в ACL, но нет счетчика для этого не явного запрета любой концепции в конце ACL. Итак, если вы хотите видеть счетчики количества пакетов, совпадающих с логикой deny any в конце ACL, настройте явное deny any. Внедрение стандартных IP ACL В этой лекции уже представлены все этапы настройки по частям. Далее суммируются все эти части в единую конфигурацию. Эта конфигурация основана на команде access-list, общий синтаксис которой повторяется здесь для справки: access-list access-list-number {deny | permit} source [source-wildcard] Этап 1. Спланируйте локацию (маршрутизатор и интерфейс) и направление (внутрь или наружу) на этом интерфейсе: Стандартные списки ACL должны быть размещены рядом с местом назначения пакетов, чтобы они случайно не отбрасывали пакеты, которые не следует отбрасывать. Поскольку стандартные списки ACL могут соответствовать только исходному IP-адресу пакета, идентифицируйте исходные IP-адреса пакетов по мере их прохождения в направлении, которое проверяет ACL. Этап 2. Настройте одну или несколько команд глобальной конфигурации списка доступа для создания ACL, учитывая следующее: Список просматривается последовательно с использованием логики первого совпадения. Действие по умолчанию, если пакет не соответствует ни одной из команд списка доступа, - отклонить (отбросить) пакет. Этап 3. Включите ACL на выбранном интерфейсе маршрутизатора в правильном направлении, используя подкоманду  ip access-group number {in | out}. Далее рассмотрим несколько примеров. Стандартный нумерованный список ACL, пример 1 В первом примере показана конфигурация для тех же требований, что и на рисунках 4 и 5. Итак, требования для этого ACL следующие: Включите входящий ACL на интерфейсе R2 S0/0/1. Разрешить пакеты, приходящие от хоста A. Запретить пакеты, приходящие от других хостов в подсети хоста A. Разрешить пакеты, приходящие с любого другого адреса в сети класса A 10.0.0.0. В исходном примере ничего не говорится о том, что делать по умолчанию, поэтому просто запретите весь другой трафик. В примере 1 показана завершенная правильная конфигурация, начиная с процесса настройки, за которым следует вывод команды show running-config. R2# configure terminal Enter configuration commands, one per line. End with CNTL/Z. R2(config)# access-list 1 permit 10.1.1.1 R2(config)# access-list 1 deny 10.1.1.0 0.0.0.255 R2(config)# access-list 1 permit 10.0.0.0 0.255.255.255 R2(config)# interface S0/0/1 R2(config-if)# ip access-group 1 in R2(config-if)# ^Z R2# show running-config ! Lines omitted for brevity access-list 1 permit 10.1.1.1 access-list 1 deny 10.1.1.0 0.0.0.255 access-list 1 permit 10.0.0.0 0.255.255.255 Во-первых, обратите внимание на процесс настройки в верхней части примера. Обратите внимание, что команда access-list не изменяет командную строку из приглашения режима глобальной конфигурации, поскольку команда access-list является командой глобальной конфигурации. Затем сравните это с выводом команды show running-config: детали идентичны по сравнению с командами, которые были добавлены в режиме конфигурации. Наконец, не забудьте указать ip access-group 1 в команде под интерфейсом R2 S0/0/1, который включает логику ACL (как локацию, так и направление). В примере 2 перечислены некоторые выходные данные маршрутизатора R2, которые показывают информацию об этом ACL. Команда show ip access-lists выводит подробную информацию только о списках ACL IPv4, а команда show access-lists перечисляет сведения о списках ACL IPv4, а также о любых других типах ACL, настроенных в настоящее время, например, списки ACL IPv6. Вывод этих команд показывает два примечания. В первой строке вывода в этом случае указывается тип (стандарт) и номер. Если существовало более одного ACL, вы бы увидели несколько разделов вывода, по одной на каждый ACL, каждая со строкой заголовка, подобной этой. Затем эти команды перечисляют счетчики пакетов для количества пакетов, которые маршрутизатор сопоставил с каждой командой. Например, на данный момент 107 пакетов соответствуют первой строке в ACL. Наконец, в конце примера перечислены выходные данные команды show ip interface. Эта команда перечисляет, среди многих других элементов, номер или имя любого IP ACL, включенного на интерфейсе для подкоманды интерфейса ip access-group. Стандартный нумерованный список ACL, пример 2 Для второго примера используйте рисунок 8 и представьте, что ваш начальник в спешке дает вам некоторые требования в холле. Сначала он говорит вам, что хочет фильтровать пакеты, идущие от серверов справа к клиентам слева. Затем он говорит, что хочет, чтобы вы разрешили доступ для хостов A, B и других хостов в той же подсети к серверу S1, но запретили доступ к этому серверу хостам в подсети хоста C. Затем он сообщает вам, что, кроме того, хостам в подсети хоста A следует отказать в доступе к серверу S2, но хостам в подсети хоста C должен быть разрешен доступ к серверу S2 - и все это путем фильтрации пакетов, идущих только справа налево. Затем он говорит вам поместить входящий ACL на интерфейс F0/0 R2. Если вы просмотрите все запросы начальника, требования могут быть сокращены до следующего: Включите входящий ACL на интерфейсе F0/0 R2. Разрешить пакеты от сервера S1, идущие к хостам в подсети A. Запретить пакетам с сервера S1 идти к хостам в подсети C. Разрешить пакетам с сервера S2 идти к хостам в подсети C. Запретить пакетам с сервера S2 идти к хостам в подсети A. Не было комментариев о том, что делать по умолчанию; используйте подразумеваемое отклонение всего по умолчанию. Как оказалось, вы не можете сделать все, что просил ваш начальник, с помощью стандартного ACL. Например, рассмотрим очевидную команду для требования номер 2: access-list 2 permit 10.2.2.1. Это разрешает весь трафик с исходным IP-адресом 10.2.2.1 (сервер S1). Следующее требование просит вас фильтровать (отклонять) пакеты, полученные с того же IP-адреса! Даже если вы добавите другую команду, которая проверяет исходный IP-адрес 10.2.2.1, маршрутизатор никогда не доберется до него, потому что маршрутизаторы используют логику первого совпадения при поиске в ACL. Вы не можете проверить и IP-адрес назначения, и исходный IP-адрес, потому что стандартные ACL не могут проверить IP-адрес назначения. Чтобы решить эту проблему, вам следует переосмыслить проблему и изменить правила. В реальной жизни вы, вероятно, вместо этого использовали бы расширенный ACL, который позволяет вам проверять как исходный, так и целевой IP-адрес. Представьте себе, что ваш начальник позволяет вам изменять требования, чтобы попрактиковаться в другом стандартном ACL. Во-первых, вы будете использовать два исходящих ACL, оба на маршрутизаторе R1. Каждый ACL разрешает пересылку трафика с одного сервера в эту подключенную локальную сеть со следующими измененными требованиями: Используя исходящий ACL на интерфейсе F0 / 0 маршрутизатора R1, разрешите пакеты с сервера S1 и запретите все остальные пакеты. Используя исходящий ACL на интерфейсе F0 / 1 маршрутизатора R1, разрешите пакеты с сервера S2 и запретите все остальные пакеты. Пример 3 показывает конфигурацию, которая удовлетворяет этим требованиям. access-list 2 remark This ACL permits server S1 traffic to host A's subnet access-list 2 permit 10.2.2.1 ! access-list 3 remark This ACL permits server S2 traffic to host C's subnet access-list 3 permit 10.2.2.2 ! interface F0/0 ip access-group 2 out ! interface F0/1 ip access-group 3 out Как показано в примере, решение с номером ACL 2 разрешает весь трафик с сервера S1, при этом эта логика включена для пакетов, выходящих из интерфейса F0/0 маршрутизатора R1. Весь другой трафик будет отброшен из-за подразумеваемого запрета all в конце ACL. Кроме того, ACL 3 разрешает трафик от сервера S2, которому затем разрешается выходить из интерфейса F0/1 маршрутизатора R1. Также обратите внимание, что решение показывает использование параметра примечания списка доступа, который позволяет оставить текстовую документацию, которая остается в ACL. Когда маршрутизаторы применяют ACL для фильтрации пакетов в исходящем направлении, как показано в Примере 2, маршрутизатор проверяет пакеты, которые он направляет, по списку ACL. Однако маршрутизатор не фильтрует пакеты, которые сам маршрутизатор создает с помощью исходящего ACL. Примеры таких пакетов включают сообщения протокола маршрутизации и пакеты, отправленные командами ping и traceroute на этом маршрутизаторе. Советы по устранению неполадок и проверке Устранение неполадок в списках ACL IPv4 требует внимания к деталям. В частности, вы должны быть готовы посмотреть адрес и обратную маску и с уверенностью предсказать адреса, соответствующие этим двум комбинированным параметрам. Во-первых, вы можете определить, соответствует ли маршрутизатор пакетам или нет, с помощью пары инструментов. Пример 2 уже показал, что IOS хранит статистику о пакетах, соответствующих каждой строке ACL. Вдобавок, если вы добавите ключевое слово log в конец команды access-list, IOS затем выдает сообщения журнала со случайной статистикой совпадений с этой конкретной строкой ACL. И статистика, и сообщения журнала могут помочь решить, какая строка в ACL соответствует пакету. Например, в примере 4 показана обновленная версия ACL 2 из примера 3, на этот раз с добавленным ключевым словом log. Внизу примера затем показано типичное сообщение журнала, в котором показано результирующее совпадение на основе пакета с исходным IP-адресом 10.2.2.1 (в соответствии с ACL) с адресом назначения 10.1.1.1. R1# show running-config ! lines removed for brevity access-list 2 remark This ACL permits server S1 traffic to host A's subnet access-list 2 permit 10.2.2.1 log ! interface F0/0 ip access-group 2 out R1# Feb 4 18:30:24.082: %SEC-6-IPACCESSLOGNP: list 2 permitted 0 10.2.2.1 -> 10.1.1.1, 1 Packet Когда вы впервые устраняете неисправности на ACL, прежде чем вдаваться в подробности логики сопоставления, подумайте, как об интерфейсе, на котором включен ACL, так и о направлении потока пакетов. Иногда логика сопоставления идеальна, но ACL был включен на неправильном интерфейсе или в неправильном направлении, чтобы соответствовать пакетам, настроенным для ACL. Например, на рисунке 9 повторяется тот же ACL, показанный ранее на рисунке 7. Первая строка этого ACL соответствует конкретному адресу хоста 10.1.1.1. Если этот ACL существует на маршрутизаторе R2, размещение этого ACL в качестве входящего ACL на интерфейсе S0/0/1 R2 может работать, потому что пакеты, отправленные хостом 10.1.1.1 - в левой части рисунка - могут входить в интерфейс S0/0/1 маршрутизатора R2. Однако, если R2 включает ACL 1 на своем интерфейсе F0/0 для входящих пакетов, ACL никогда не будет соответствовать пакету с исходным IP-адресом 10.1.1.1, потому что пакеты, отправленные хостом 10.1.1.1, никогда не войдут в этот интерфейс. Пакеты, отправленные 10.1.1.1, будут выходить из интерфейса R2 F0/0, но никогда не попадут в него только из-за топологии сети.
img
В наши дни смартфоны оснащены намного мощной начинкой, чем нужно для запуска легковесного SSH клиента для подключения к VPS (виртуальный частный сервер) и решить какую-то критическую проблему, если под рукой нет ноутбука и Wi-Fi. SSH клиенты для смартфонов На самом деле, все мобильные SSH-клиенты позволяют делать то же самое: подключиться по SSH к серверу. Друг от друга они отличаются тем, насколько удобны они в использовании на мобильном устройстве. Ведь клавиатура на мобильном устройстве имеет свои особенности, основное её предназначение переписка и набор коротких сообщений, а не кодирование. Даже набирать - и / стандартной iOS-клавиатуре довольно сложно, так как требуется нажать три кнопки. Хорошие мобильные SSH-клиенты упрощают этот процесс. Например, Termius - очень популярный бесплатный SSH-клиент для iOS и Android. Интерфейс самого терминала предоставляет обычную клавиатуру, а над ней расположены элементы управления, которые не часто используются на обычной мобильной клавиатуре. Например, для часто используемой клавиши-модификатор Ctrl у Termius есть отдельная кнопка рядом с Esc. Так же в командной строке часто используются тире и косые черты /, поэтому под них также выделены отдельные клавиши, что сильно упрощает процесс набора. Вне терминала тоже интерфейс очень функциональный: удобное создание новых SSH ключей, а также есть опция передачи ключей на Macbook, для последующего добавления в список authorized_keys на сервере. Termius доступен бесплатно для платформ iOS и Android, но такие функции как вкладки, переброс агента SSH, SFTP подключение доступно только Pro версии, подписка на которую стоит $8 в месяц. Prompt - это премиум-клиент для iOS, который сочетает в себе множество полезных функций. Он имеет тот же дизайн панели быстрого доступа, что и Termius, но может меняться в зависимости от приложения. Это приложение также поддерживает сохранение часто используемых команд как шорт-каты, что освобождает от постоянного ввода одних и тех же команд. Оно стоит 15 долларов, но это разовая цена и включает все премиум функции. Mosh Mosh является альтернативой SSH и построен специально для мобильных пользователей, так как использует UDP. Традиционное SSH ожидает ответа сервера перед тем, как отображать введенные символы, что сильно раздражает при подключениях с большим временем задержки. В то время как 4G имеет хорошую среднее время отклика - 50 мс, то при соединении по 3G, задержка может вырасти до более чем 300 мс. Mosh помогает обходить это ограничение, и значительно уменьшает время отклика: Кроме этого, Mosh не разрывает соединение, если интернет оборвался, что часто случается с мобильным интернетом. В любом случае, можно использовать tmux или screen, но иметь под рукой Mosh, который поддерживает эту функцию «из коробки» очень удобно. Mosh как опция включена в Termius и Blink. А вот интеграции с Prompt нет, так как последняя не распространяется свободно. Используйте tmux или screen для непрерывной работы После установления соединения нужно подключиться к tmux или screen. Tmux терминальный мультиплексор, который позволяет запускать несколько терминальных сессий в одном окне. Также он дает возможность отключаться от сессии при том, не завершая его на сервере. Таким образом, откуда угодно можно подключиться к запущенной сессии. Например, можно запустить сессию на компьютере, а потом подключиться к ней со смартфона. Если tmux не установлен, сделать это можно командой: sudo apt-get install tmux А затем, дело за малым: создано новую сессию и задать ей имя: tmux new -s session После этого в нижней части окна появится строка состояния, которая указывает на то, что вы работаете в tmux. Чтобы отключиться от сессии введите команду: tmux detach Или просто нажмите комбинацию клавиш Ctrl+B, а затем D, но может быть неудобно делать это на смартфоне. Вместо этого можно использовать команду exit. Сессия продолжает выполняться на сервере; запущенные программы, журнал команд и все остальное продолжают выполняться в фоновом режиме, даже если вы не подключены к сети. Для повторного подключения к сеансу используйте: tmux a -t session В некоторых SSH-клиентах, таких как Prompt, можно задать команду startup, которая будет выполняться при подключении к ней. Таким образом, если на сервере запущен сеанс tmux, к которому всегда подключаетесь, используйте команду startup для автоматического подключения.
img
Все мы знаем, что время – самый ценный ресурс. Сегодня мы рассмотрим 5 способов, которые помогут сэкономить немного времени, при работе в командной строке Cisco IOS. Не будем терять время и рассмотрим их! exec-timeout 0 0 Эта команда позволяет не терять соединение с вашим роутером или коммутатором при достижении времени таймаута, выставив его на ноль минут и ноль секунд. Если ее применить на консольных линиях и VTY, то IOS интерпретирует это, как никогда не истекающий таймаут. Конечно, ни в коем случае нельзя использовать эту команду в продакшне из соображений безопасности, но она прекрасно подойдет, чтобы сэкономить ваше время в лаборатории, избавив от необходимости повторного входа на несколько устройств в течение дня. logging synchronous Наверняка вы были в ситуации, когда посреди набора вашей команды Cisco IOS чувствовала сильную необходимость отправить сообщение Syslog в консоль? :) Это может сильно отвлекать. Способ предотвращения такого вторжения заключается в применении команды logging synchronous. После ввода этой команды, если IOS понадобится отправить Syslog сообщение, то после его отправки, консоль вернет в сеанс терминала то, что вы уже набрали, чтобы продолжить там, где вы остановились. no ip domain-lookup Эта команда позволяет отключить интерпретацию команды как DNS имя, если в ней была сделана ошибка. Еще два менее радикальных метода как обойти это можно найти в этой статье. alias exec В качестве еще одного способа экономии времени можно создать несколько команд псевдонимов (alias). Это относительно короткие команды, которые транслируются в IOS в длинные команды. Например, если вам часто приходится смотреть конфигурацию протоколов маршрутизации при помощи команды show run | s router, то можно создать ее короткую версию используя команду alias exec src show run | s router. Теперь вместо всей длинной команды нам нужно будет набрать просто ее псевдоним – src. Сохраненная начальная конфигурация И в качестве окончательного способа по экономии времени можно рассмотреть сохранения начальной конфигурации в текстовый файл и вставить текст при запуске оборудования «из коробки» или после сброса. Например, можно завести документ со всеми командами из этой статьи и вставлять его в начале работы. conf t line con 0 exec-timeout 0 0 logging synchronous exit line vty 0 15 exec-timeout 0 0 logging synchronous exit no ip domain-lookup alias exec src show run | s router alias exec sib show ip interface brief end Надеемся, что это поможет сохранить вам пару драгоценных минут!
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59