Ж у р н а л   о   к о м п ь ю т е р н ы х   с е т я х   и   т е л е к о м м у н и к а ц и о н н ы х   т е х н о л о г и я х
СЕТИ И СИСТЕМЫ СВЯЗИ on-line
  ПОИСК: ПОДПИСКА НА НОВОСТИ: НОМЕР:
    ДОМОЙ • Архив: Новостей | Конференций | НомеровПодписка
 
   
 
   
    
РЕДАКЦИЯ
 
Все о журнале
Подписка
Как проехать
Где купить
Тематический план
Отдел рекламы
Адреса в Интернет

РУБРИКАТОР
   
• Инфраструктура
• Информационные
   системы

• Сети связи
• Защита данных
• Кабельные системы
• Бизнес
• Колонка редактора
• Электронная
   коммерция

• Только на сервере
• Системы
   учрежденческой
   связи

• Новые продукты


Rambler's Top100

  

Списки доступа на маршрутизаторах Cisco

Питер Моррисси

Каждый, кто сталкивался с администрированием большой сети, знает, как важно держать ее под контролем. Именно поэтому, несмотря на все возрастающее распространение "плоских" сетей, маршрутизаторы остаются весьма популярными. С их помощью можно локализовать проблемы, связанные с чрезмерным объемом широковещательного трафика, дублированием IP-адресов, наличием неавторизованных серверов DHCP, с ошибками в работе серверов Windows NT и NetWare и т. д. При этом уменьшается число пользователей, испытывающих на себе негативные последствия данных проблем, и облегчается их решение.

Но иногда стандартных возможностей маршрутизатора становится недостаточно. Учитывая это, фирмы Bay Networks, Cisco Systems и 3Com наделили свои маршрутизаторы дополнительными средствами фильтрации, например на основе списков контроля доступа (далее просто списков доступа). В лаборатории журнала Network Computing мы уже пять лет используем эту функцию маршрутизаторов фирмы Cisco, что значительно облегчает бремя администрирования сетей, работающих на базе протоколов IP, IPX и AppleTalk.

И хотя списки доступа не могут превратить маршрутизатор в полнофункциональный межсетевой экран, они являются мощным средством для контроля за функционированием сети IP. В этой статье мы расскажем о предлагаемой фирмой Cisco версии списков доступа для протокола IP, известных также как расширенные списки доступа. Изложенные ниже основные понятия можно использовать и при работе с маршрутизаторами фирм Bay Networks и 3Com, а также с межсетевыми экранами. Представленный синтаксис соответствует синтаксису межсетевой операционной системы IOS версии 10.3 (10), поддерживается он и ее последующими версиями.

О чем все это

Список доступа -- это набор записей (строк), определяющих некие образцы, на соответствие которым проверяются пакеты IP. Когда пакет проходит через интерфейс маршрутизатора, то для поиска соответствующего пакету образца просматриваются все записи приписанного к интерфейсу списка доступа. Связанное с этим образцом правило разрешает или запрещает проход пакета. Можно использовать маску для определения того, какую часть IP-адреса отправителя или получателя задействовать при проверке на совпадение с образцом. Задавая образец, можно также указать номер протокольного порта TCP или UDP.

Список доступа просматривается от начала до конца в том же порядке, в каком были введены его записи. Если в списке необходимо что-то изменить, весь список придется вводить заново.

После того как список доступа сформирован, его необходимо связать с тем интерфейсом маршрутизатора, на котором вы хотите использовать фильтрацию. Список можно применять к входящим или исходящим пакетам, причем в большинстве случаев допустимы оба варианта. Если список доступа используется для исходящих пакетов, фильтры нужно установить только на одном, выходном, интерфейсе. Это повышает производительность работы маршрутизатора, поскольку список будет просматриваться только при передаче трафика в защищаемую сеть.

Учимся на деле

Приведенные ниже примеры помогут вам получить основные навыки, необходимые для установки списков доступа. Следуя нашим рекомендациям, вы легко настроите фильтры в соответствии со своими потребностями.

Запрещение доступа к хосту. Наш первый пример -- запрещение доступа к хосту с IP-адресом 130.120.110.100. Убедившись, что вы вошли в режим "config", введите следующее выражение:

access-list 101 deny ip 0.0.0.0 255.255.255.255 130.120.110.100 0.0.0.0

Маска со значением 255 для каждого октета адреса отправителя означает, что при фильтрации этот адрес должен быть полностью проигнорирован. И не важно, какой адрес указан в качестве IP-адреса отправителя, -- все равно проверяться он не будет. Маска для адреса получателя, состоящая только из нулей, означает, что этот адрес будет проверен полностью. Если необходимо запретить доступ ко всем узлам сети 130.120.110, вы должны использовать маску 0.0.0.255. В этом случае 255 означает игнорирование последнего октета адреса при проверке пакетов.

Разрешение доступа к хосту только по протоколу HTTP. Давайте разрешим доступ к протокольному порту HTTP хоста и запретим любой другой доступ к хосту. Для этого потребуется написать две строки:

access-list 101 permit tcp 0.0.0.0 255.255.255.255 130.120.110.100 0.0.0.0 eq 80

access-list 101 deny ip 0.0.0.0 255.255.255.255 130.120.110.100 0.0.0.0

Первая строка разрешает проход любого пакета с адресом получателя 130.120.110.100 и с протокольным портом TCP, равным 80. Благодаря второй -- блокируются все IP-пакеты с адресом получателя 130.120.110.100, проход которых не был разрешен первой строкой.

Подвязываем болтающиеся концы

Пакеты, для которых в списке доступа не нашлось соответствующего образца, по умолчанию сбрасываются. Тем не менее, неплохо завершить список записью, запрещающей доступ всем пакетам. Эта запись, указывающая на конец списка, выглядит так:

access-list 101 deny ip 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255

Если вы хотите начать список с запрещения прохода отдельных пакетов, а затем разрешить доступ всем остальным, то для выполнения последнего действия нужно использовать такую же запись, но со словом "permit" ("разрешить") вместо слова "deny" ("запретить").

Запретить доступ всем пакетам можно и с помощью выражения

access-list 101 deny ip any any

Смысл его тот же, что и приведенного выше. Последние версии IOS сами преобразуют длинную форму в компактную. При выводе списка доступа на экран номера протокольных портов TCP и UDP могут быть изменены на их текстовое описание. Мы же предпочитаем вводить номера, поскольку такой синтаксис совместим с более ранними версиями системы IOS.

Вводим в действие

После того как список доступа сформирован, его нужно связать с интерфейсом маршрутизатора. Для этого, как и при внесении любого другого изменения в конфигурацию интерфейса, необходимо войти в режим "config" и указать тот интерфейс, для которого вы хотите использовать фильтр. На этом этапе список доступа представляется как "группа" (group). Например, чтобы использовать список доступа номер 101 для входящих пакетов, потребуется команда

ip access-group 101 in

Список доступа начинает работать сразу же после ее ввода. Для проверки правильности его использования полезно с помощью команды ping провести непрерывное тестирование связи с хостом, находящимся по другую сторону интерфейса. Рекомендуем сохранить сделанные вами изменения с помощью команд "write memory" и "write network" (если вы дублируете параметры конфигурации на сервере TFTP).

Чтобы посмотреть, какие группы доступа приписаны к конкретным интерфейсам, можно использовать команду "show config". В конце она выведет и все записи списка доступа. Но более удобный способ для получения этой информации -- задействовать команду "show access list". Если в качестве аргумента задать номер списка доступа, то будет выведен только соответствующий список. (Это полезно проделывать при каждом назначении номера для нового списка, чтобы убедиться, что данный номер еще не был использован.) Рассматриваемая команда выдает и статистику о совпадениях для каждой записи списка доступа. Для очистки счетчиков статистики предназначена команда "clear access-list counters", в качестве аргумента здесь также используется номер списка.

Как уже отмечалось выше, нельзя просто вернуться и изменить запись списка доступа, поскольку эти записи обрабатываются точно в том порядке, в каком были первоначально внесены в маршрутизатор. (В системе IOS версии 11.2 можно выборочно удалять строки, но не вставлять их.) Если для загрузки новой конфигурации в маршрутизатор вы используете протокол TFTP, то можете редактировать конфигурационный файл на хосте TFTP и затем загружать уже поправленный вариант. Недостатком подобного подхода является необходимость согласования времени загрузки нового конфигурационного файла с моментом перезапуска маршрутизатора.

Вносим изменения

Другой подход к внесению изменений в списки -- скопировать список в текстовый редактор и править его там. Перед тем как записать новую версию списка в маршрутизатор, вы сначала должны избавиться от старой версии, иначе новая будет просто дописана к старой. Для удаления записи с параметрами конфигурации на маршрутизаторе фирмы Cisco необходимо ввести ее еще раз, поставив перед ней слово "no" ("нет"). Для удаления всего списка доступа достаточно ввести слово "no" и одну из его записей. В этом случае серьезным недостатком является то, что на некоторое время вы остаетесь без работающего списка доступа. Если вы ошиблись или случайно запретили доступ к хосту или службе, вам придется отключить список до выяснения, что же сделано не так.

Нам кажется, лучшим способом внесения изменений в список доступа будет редактирование старого списка в текстовом редакторе с последующим переименованием его перед припиской к интерфейсу маршрутизатора. Последовательность ваших действий будет следующей:

  1. Выведите используемый список доступа на экран с помощью команды "show config" и скопируйте его в текстовый редактор.
  2. Измените номер списка доступа и отредактируйте список.
  3. Войдите в режим "config" и запишите новый список в маршрутизатор.
  4. Определите интерфейс, для которого вы хотите изменить список, а затем свяжите с ним новый список с помощью команды "ip access-group xxx in/out" (вам даже не придется отключать старый список, поскольку это произойдет автоматически при введении в действие нового; на каждом интерфейсе может быть только один список доступа).

При возникновении проблем с новым списком можно перейти к старому, используя команду "ip access-groups xxx in/out" и его номер.

Производительность

Задействуя фильтры списков доступа, вы жертвуете производительностью маршрутизатора. При использовании фильтров не будут работать некоторые средства ее повышения, встроенные в устройства фирмы Cisco. Это может повысить нагрузку на центральный процессор маршрутизатора. Советуем вам понаблюдать за использованием ресурсов этого процессора (команда "show process CPU") и за числом пакетов, сброшенных на интерфейсе. Технология NetFlow фирмы Cisco поддерживает списки доступа, но ее новая функция скоростной пересылки данных -- нет. Поэтому механизмы фильтрации желательно использовать на маршрутизаторах, установленных на границе сети, и не включать их на магистрали, где передаются значительно большие объемы трафика.

Очевидно, на производительность влияет и размер списка доступа: чем он длиннее, тем больше приходится "трудиться" маршрутизатору при обработке каждого пакета. Этот фактор влияет на производительность в меньшей степени, чем те, о которых говорилось выше, но, тем не менее записи с параметрами наиболее часто встречающихся пакетов постарайтесь расположить в начале списка. Один из способов достижения этого заключается в следующем: разместите в самом начале правило, пропускающее все пакеты уже установленного сеанса TCP или пакеты-подтверждения. В целом, большинство сетевых пакетов -- это пакеты, передаваемые уже после установления сеанса связи. Маловероятно, чтобы такие пакеты были опасны (даже если они подделаны злоумышленником), поэтому их можно свободно пропустить. Попробуйте использовать список доступа с этим правилом и без него, проследив за изменением коэффициента использования ресурсов центрального процессора.

Разрешить проход всех пакетов уже установленных сеансов связи можно с помощью следующей записи:

access-list 101 permit tcp 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 established.

Если вы используете много списков доступа, обратите внимание на продукт Router Management Module фирмы Check Point Software Technologies, поставляемый вместе с ее системой Firewall-1. Он позволит вам из графического интерфейса централизованно управлять конфигурацией списков доступа, расположенных на маршрутизаторах фирм Bay Networks, Cisco и 3Com. Может оказаться полезным и продукт Netsys Enterprise Solver фирмы Cisco, который поможет обнаружить ошибки в списках доступа и изучить их влияние на работу сети.


Выкуп авто подробнее.




  
9 '1998
СОДЕРЖАНИЕ

колонка редактора

• Linux славой не испортишь

локальные сети

• Четыре устанавливаемые в стойку сервера

• Нелегкий выбор инсталлятора СКС

• Не спешите отказываться от NetWare

• Сетевая печать в рабочих группах

бизнес

• Джуди Эстрин: от предпринимателя до директора по развитию технологий фирмы Cisco

корпоративные сети

• Средства поддержки коллективных работ объединят усилия ваших сотрудников

• Объектное расширение реляционной СУБД: Зачем и Как (Часть I. Зачем?)

• Списки доступа на маршрутизаторах Cisco

услуги сетей связи

• Управление сетями Frame Relay

• Внедрение услуг интеллектуальной сети в России

• 1:0 в пользу АТМ

интернет и интрасети

• Интернет-торговля Часть II

• Решение проблем с помощью серверов-посредников Web

• Групповое вещание в сетях IP и старые мифы

• Связующее ПО для Java

• Серверы Интернет "быстрого приготовления"

защита данных

• Шесть биометрических устройств идентификации отпечатков пальцев

• Пусть ваши пальцы зарегистрируются сами

новые продукты

• Передача речи по IP: у Nortel самые серьезные намерения; Универсальный АТМ-анализатор; Новые решения Ericsson в области центров обработки вызовов; Pentium II Xeon: мощный "мотор" для платформы Intel; Миниатюрный синхронный мультиплексор SDM-1;

только на сервере

• NetWare For Small Business 4.11: большие возможности для малого бизнеса

• Будущее Sybase: процветание или упадок?



 Copyright © 1997-2003 ООО "Сети и Системы Связи". Тел. (095) 234-53-21. Факс (095) 974-7110. вверх