1.1. Общие сведения об ACL
ACL (Access Control List, список контроля доступа) - это механизм фильтрации IP-пакетов, позволяющий контролировать сетевой трафик, разрешая или запрещая прохождение пакетов на основе заданных признаков. Пользователь может самостоятельно задать критерии фильтрации ACL и применить фильтр на входящее по отношению к коммутатору направление трафика.
Access-list - последовательный набор правил. Каждое правило состоит из информации о фильтре и действии при обнаружении соответствия правилу. Информация, включенная в правило, представляет собой эффективную комбинацию таких условий, как исходный IP-адрес, IP-адрес получателя, номер протокола IP и порт TCP, порт UDP.
Списки доступа можно классифицировать по следующим критериям:
Критерий на основе информации о фильтре: IP ACL (фильтр на основе информации уровня 3 или выше), MAC ACL (уровня 2) и MAC-IP ACL (уровень 2 или уровень 3 или выше).
Критерий сложности конфигурации: стандартный (standard) и расширенный (extended), расширенный режим позволяет создавать более точные фильтры.
Критерий на основе номенклатуры: нумерованный или именованный.
Описание ACL должен охватывать три вышеупомянутые аспекта.
Access-group - это описание привязки ACL к входящему направлению трафика на конкретном интерфейсе. Если группа доступа создана, все пакеты из входящего направления через интерфейс будут сравниваться с правилом ACL.
ACL может содержать два действия правила и действия по умолчанию: «разрешение» (permit) или «отказ» (deny). Access-list может состоять из нескольких правил. Фильтр сравнивает условия пакета с правилами, начиная с первого, до первого совпадения, остальные правила не будут обработаны. Глобальное действие по умолчанию применяется только в том случае, если ACL применен на интерфейсе, но в нем нет правил, либо для полученного пакета нет совпадений.
1.2. Настройка ACL
Настроить Access-list:
Настроить нумерованный standard IP access-list;
Настроить нумерованный extended IP access-list;
Настроить именованный standard IP access-list:
Создать именованный standard IP access-list;
Создать permit и\или deny правила;
Настроить именованный extended IP access-list;
Создать именованный extended IP access-list;
Создать permit и\или deny правила;
Настроить нумерованный standard MAC access-list;
Настроить нумерованный extended MAC access-list;
Настроить именованный extended MAC access-list:
Создать именованный extended MAC access-list;
Создать permit и\или deny правила;
Настроить нумерованный extended MAC-IP access-list;
Настроить именованный extended MAC-IP access-list;
Создать именованный extended MAC-IP access-list;
Создать permit и\или deny правила;
Настроить нумерованный standard IPv6 access-list;
Настроить именованный standard IPv6 access-list;
Создать именованный standard IPv6 access-list;
Создать permit и\или deny правила;
Включить функцию фильтрации пакетов
Настроить временной период действия
Настроить access-group
Просмотр статистики ACL
Настроить Access-list:
Настроить нумерованный standard IP access-list;
Команда | Описание |
---|---|
access-list <num> {deny | permit} {{<sIpAddr> <sMask>} | any-source | {host-source <sIpAddr>}} no access-list <num> ! В режиме глобальной конфигурации | Создать нумерованный standard IP access-list <num>, если данный access-list уже создан, правило будет добавлено в данный ACL. Удалить ACL <num> |
b. Настроить нумерованный extended IP access-list;
Команда | Описание |
---|---|
access-list <num> {deny | permit} icmp {{<sIpAddr> <sMask>} | any-source | {host-source <sIpAddr>}} {{<dIpAddr> <dMask>} | any-destination | {host-destination <dIpAddr>}} [<icmp-type> [<icmp-code>]] [precedence <prec>] [tos <tos>][time-range<time-range-name>] ! В режиме глобальной конфигурации | Создать правило протокола ICMP для нумерованного extended IP access-list. Если ACL не был создан ранее, он будет создан после применения данной команды. |
access-list <num> {deny | permit} igmp {{<sIpAddr> <sMask>} | any-source | {host-source <sIpAddr>}} {{<dIpAddr> <dMask>} | any-destination | {host-destination <dIpAddr>}} [<igmp-type>] [precedence <prec>] [tos <tos>][time-range<time-range-name>] ! В режиме глобальной конфигурации | Создать правило протокола IGMP для нумерованного extended IP access-list. Если ACL не был создан ранее, он будет создан после применения данной команды. |
access-list <num> {deny | permit} tcp {{<sIpAddr> <sMask>} | any-source | {host-source <sIpAddr>}} [s-port {<sPort> | range <sPortMin> <sPortMax>}] {{<dIpAddr> <dMask>} | any-destination | {host-destination <dIpAddr>}} [d-port {<dPort> | range <dPortMin> <dPortMax>}] [ack+fin+psh+rst+urg+syn] [precedence <prec>] [tos <tos>][time-range<time-range-name>] ! В режиме глобальной конфигурации | Создать правило протокола TCP для нумерованного extended IP access-list. Если ACL не был создан ранее, он будет создан после применения данной команды. |
access-list <num> {deny | permit} udp {{<sIpAddr> <sMask>} | any-source | {host-source <sIpAddr>}} [s-port {<sPort> | range <sPortMin> <sPortMax>}] {{<dIpAddr> <dMask>} | any-destination | {host-destination <dIpAddr>}} [d-port {<dPort> | range <dPortMin> <dPortMax>}] [precedence <prec>] [tos <tos>][time-range<time-range-name>] ! В режиме глобальной конфигурации | Создать правило протокола UDP для нумерованного extended IP access-list. Если ACL не был создан ранее, он будет создан после применения данной команды. |
access-list <num> {deny | permit} {eigrp | gre | igrp | ipinip | ip | ospf | <protocol-num>} {{<sIpAddr> <sMask>} | any-source | {host-source <sIpAddr>}} {{<dIpAddr> <dMask>} | any-destination | {host-destination <dIpAddr>}} [precedence <prec>] [tos <tos>][time-range<time-range-name>] ! В режиме глобальной конфигурации | Создать правило других протоколов, либо для всех IP протоколов для нумерованного extended IP access-list. Если ACL не был создан ранее, он будет создан после применения данной команды. |
no access-list <num> ! В режиме глобальной конфигурации | Удалить нумерованный ACL |
c. Настроить именованный standard IP access-list:
i. Создать именованный standard IP access-list
Команда | Описание |
---|---|
ip access-list standard <name> no ip access-list standard <name> ! В режиме глобальной конфигурации | Создать именованный standard IP access-list <name>, если данный access-list уже создан, правило будет добавлено в данный ACL. Войти в режим конфигурирования созданного ACL <name>. Удалить ACL <name> |
ii. Создать permit и\или deny правила;
Команда | Описание |
---|---|
[no] {deny | permit} {{<sIpAddr> <sMask>} | any-source | {host-source <sIpAddr>}} ! В режиме конфигурации ACL | Создать правило для текущего ACL. Команда [no] удаляет это правило. |
d. Настроить именованный extended IP access-list;
i. Создать именованный extended IP access-list;
Команда | Описание |
---|---|
ip access-list extended <name> no ip access-list extended <name> ! В режиме глобальной конфигурации | Создать именованный extended IP access-list <name>, войти в режим конфигурирования созданного ACL <name>. Удалить ACL <name> |
ii. Создать permit и\или deny правила;
Команда | Описание |
---|---|
[no] {deny | permit} icmp {{<sIpAddr> <sMask>} | any-source | {host-source <sIpAddr>}} {{<dIpAddr> <dMask>} | any-destination | {host-destination <dIpAddr>}} [<icmp-type> [<icmp-code>]] [precedence <prec>] [tos <tos>] [time-range<time-range-name>] ! В режиме конфигурации ACL | Создать правило протокола ICMP для текущего ACL. Команда [no] удаляет это правило. |
[no] {deny | permit} igmp {{<sIpAddr> <sMask>} | any-source | {host-source <sIpAddr>}} {{<dIpAddr> <dMask>} | any-destination | {host-destination <dIpAddr>}} [<igmp-type>] [precedence <prec>] [tos <tos>][time-range<time-range-name>] ! В режиме конфигурации ACL | Создать правило протокола IGMP для текущего ACL. Команда [no] удаляет это правило. |
[no] {deny | permit} tcp {{<sIpAddr> <sMask>} | any-source | {host-source <sIpAddr>}} [s-port {<sPort> | range <sPortMin> <sPortMax>}] {{<dIpAddr> <dMask>} | any-destination | {host-destination <dIpAddr>}} [d-port {<dPort> | range <dPortMin> <dPortMax>}] [ack+fin+psh+rst+urg+syn] [precedence <prec>] [tos <tos>][time-range<time-range-name>] ! В режиме конфигурации ACL | Создать правило протокола TCP для текущего ACL. Команда [no] удаляет это правило. |
[no] {deny | permit} udp {{<sIpAddr> <sMask>} | any-source | {host-source <sIpAddr>}} [s-port {<sPort> | range <sPortMin> <sPortMax>}] {{<dIpAddr> <dMask>} | any-destination | {host-destination <dIpAddr>}} [d-port {<dPort> | range <dPortMin> <dPortMax>}] [precedence <prec>] [tos <tos>][time-range<time-range-name>] ! В режиме конфигурации ACL | Создать правило протокола UDP для текущего ACL. Команда [no] удаляет это правило. |
[no] {deny | permit} {eigrp | gre | igrp | ipinip | ip | ospf | <protocol-num>} {{<sIpAddr> <sMask>} | any-source | {host-source <sIpAddr>}} {{<dIpAddr> <dMask>} | any-destination | {host-destination <dIpAddr>}} [precedence <prec>] [tos <tos>][time-range<time-range-name>] ! В режиме конфигурации ACL | Создать правило других протоколов, либо для всех IP протоколов для текущего ACL. Команда [no] удаляет это правило. |
e. Настроить нумерованный standard MAC access-list;
Команда | Описание |
---|---|
access-list<num>{deny|permit}{any-source-mac|{host-source-mac<host_smac>}|{<smac><smac-mask>}} no access-list <num> ! В режиме глобальной конфигурации | Создать нумерованный standard MAC access-list <num>, если данный access-list уже создан, правило будет добавлено в данный ACL. Удалить ACL <num> |
f. Настроить нумерованный extended MAC access-list;
Команда | Описание |
---|---|
access-list<num> {deny|permit} {any-source-mac| {host-source-mac<host_smac>}|{<smac><smac-mask>}}{any-destination-mac|{host-destination-mac<host_dmac>}|{<dmac><dmac-mask>}}[untagged-eth2 | tagged-eth2 | untagged-802-3 | tagged-802-3] no access-list <num> ! В режиме глобальной конфигурации | Создать нумерованный extended MAC access-list <num>, если данный access-list уже создан, правило будет добавлено в данный ACL. Удалить ACL <num> |
g. Настроить именованный extended MAC access-list:
Создать именованный extended MAC access-list;
Команда | Описание |
---|---|
mac-access-list extended <name>
! В режиме глобальной конфигурации | Создать именованный extended MAC access-list <name>, войти в режим конфигурирования созданного ACL <name>. Удалить ACL <name> |
ii. Создать permit и\или deny правила;
Команда | Описание |
---|---|
[no]{deny|permit}{any-source-mac|{host-source-mac<host_smac>}|{<smac><smac-mask>}} {any-destination-mac|{host-destination-mac <host_dmac>} |{<dmac> <dmac-mask>}} [cos <cos-val> [<cos-bitmask>] [vlanId <vid-value> [<vid-mask>][ethertype<protocol>[<protocol-mask>]]]] ! В режиме конфигурации ACL | Создать правило именованного extended MAC ACL для поиска соответствия поля Cos 802.1p и Vlanid. Команда [no] отменяет это правило. |
[no]{deny|permit}{any-source-mac|{host-source-mac<host_smac>}|{<smac><smac-mask>}}{any-destination-mac|{host-destination-mac<host_dmac>}|{<dmac><dmac-mask>}}[untagged-eth2 [ethertype <protocol> [protocol-mask]]] ! В режиме конфигурации ACL | Создать правило именованного extended MAC ACL для поиска соответствия кадру ethernet 2 без тэга vlan. Команда [no] отменяет это правило. |
[no]{deny|permit}{any-source-mac|{host-source-mac<host_smac>}|{<smac><smac-mask>}} {any-destination-mac|{host-destination-mac <host_dmac>}|{<dmac><dmac-mask>}} [untagged-802-3] ! В режиме конфигурации ACL | Создать правило именованного extended MAC ACL для поиска соответствия кадру 802.3 без тэга vlan. Команда [no] отменяет это правило. |
[no]{deny|permit}{any-source-mac|{host-source-mac<host_smac>}|{<smac><smac-mask>}}{any-destination-mac|{host-destination-mac<host_dmac>}|{<dmac><dmac-mask>}}[tagged-eth2 [cos <cos-val> [<cos-bitmask>]] [vlanId <vid-value> [<vid-mask>]] [ethertype<protocol> [<protocol-mask>]]] ! В режиме конфигурации ACL | Создать правило именованного extended MAC ACL для поиска соответствия кадру ethernet 2 с тэгом vlan. Команда [no] отменяет это правило. |
[no]{deny|permit}{any-source-mac|{host-source-mac <host_smac>}|{<smac><smac-mask>}} {any-destination-mac|{host-destination-mac<host_dmac>}|{<dmac><dmac-mask>}} [tagged-802-3 [cos <cos-val> [<cos-bitmask>]] [vlanId <vid-value> [<vid-mask>]]] ! В режиме конфигурации ACL | Создать правило именованного extended MAC ACL для поиска соответствия кадру 802.3 c тэгом vlan. Команда [no] отменяет это правило. |
h. Настроить нумерованный extended MAC-IP access-list;
Команда | Описание |
---|---|
access-list<num>{deny|permit} {any-source-mac| {host-source-mac <host_smac>} | {<smac> <smac-mask>}} {any-destination-mac | {host-destination-mac <host_dmac>} | {<dmac><dmac-mask>}} icmp {{<source> <source-wildcard>} |any-source| {host-source <source-host-ip>}} {{<destination> <destination-wildcard>} | any-destination | {host-destination <destination-host-ip>}} [<icmp-type> [<icmp-code>]] [precedence <precedence>] [tos <tos>] [time-range <time-range-name>] ! В режиме глобальной конфигурации | Создать MAC-ICMP правило для нумерованного extended MAC-IP ACL. Если ACL не был создан ранее, он будет создан после применения данной команды. |
access-list<num>{deny|permit}{any-source-mac| {host-source-mac<host_smac>}|{<smac><smac-mask>}} {any-destination-mac|{host-destination-mac <host_dmac>}|{<dmac><dmac-mask>}}igmp {{<source><source-wildcard>}|any-source| {host-source<source-host-ip>}} {{<destination><destination-wildcard>}|any-destination| {host-destination<destination-host-ip>}} [<igmp-type>] [precedence <precedence>] [tos <tos>][time-range<time-range-name>] ! В режиме глобальной конфигурации | Создать MAC-IGMP правило для нумерованного extended MAC-IP ACL. Если ACL не был создан ранее, он будет создан после применения данной команды. |
access-list<num>{deny|permit}{any-source-mac| {host-source-mac<host_smac>}|{<smac><smac-mask>}}{any-destination-mac|{host-destination-mac <host_dmac>}|{<dmac><dmac-mask>}}tcp {{<source><source-wildcard>}|any-source| {host-source<source-host-ip>}} [s-port {<port1> | range <sPortMin> <sPortMax>}] {{<destination><destination-wildcard>}|any-destination| {host-destination <destination-host-ip>}} [d-port {<port3> | range <dPortMin> <dPortMax>}] [ack+fin+psh+rst+urg+syn] [precedence <precedence>] [tos <tos>][time-range<time-range-name>] ! В режиме глобальной конфигурации | Создать MAC-TCP правило для нумерованного extended MAC-IP ACL. Если ACL не был создан ранее, он будет создан после применения данной команды. |
access-list<num>{deny|permit}{any-source-mac| {host-source-mac<host_smac>}|{<smac><smac-mask>}}{any-destination-mac|{host-destination-mac <host_dmac>}|{<dmac><dmac-mask>}}udp {{<source><source-wildcard>}|any-source| {host-source<source-host-ip>}} [s-port {<port1> | range <sPortMin> <sPortMax>}] {{<destination><destination-wildcard>}|any-destination| {host-destination<destination-host-ip>}} [d-port {<port3> | range <dPortMin> <dPortMax>}] [precedence <precedence>] [tos <tos>][time-range<time-range-name>] ! В режиме глобальной конфигурации | Создать MAC-UDP правило для нумерованного extended MAC-IP ACL. Если ACL не был создан ранее, он будет создан после применения данной команды. |
access-list<num>{deny|permit}{any-source-mac| {host-source-mac<host_smac>}|{<smac><smac-mask>}} {any-destination-mac|{host-destination-mac <host_dmac>}|{<dmac><dmac-mask>}} {eigrp|gre|igrp|ip|ipinip|ospf|{<protocol-num>}} {{<source><source-wildcard>}|any-source| {host-source<source-host-ip>}} {{<destination><destination-wildcard>}|any-destination| {host-destination<destination-host-ip>}} [precedence <precedence>] [tos <tos>][time-range<time-range-name>] ! В режиме глобальной конфигурации | Создать правило для других протоколов, либо для всех IP протоколов для нумерованного extended MAC-IP ACL. Если ACL не был создан ранее, он будет создан после применения данной команды. |
no access-list <num> ! В режиме глобальной конфигурации | Удалить нумерованный ACL |
i. Настроить именованный extended MAC-IP access-list;
i. Создать именованный extended MAC-IP access-list;
Команда | Описание |
---|---|
mac-ip-access-list extended <name> no mac-ip-access-list extended <name> ! В режиме глобальной конфигурации | Создать именованный extended MAC-IP access-list <name>, войти в режим конфигурирования созданного ACL <name>. Удалить ACL <name> |
ii. Создать permit и\или deny правила;
Команда | Описание |
---|---|
[no]{deny|permit} {any-source-mac|{host-source-mac <host_smac>}|{<smac><smac-mask>}} {any-destination-mac|{host-destination-mac <host_dmac>}|{<dmac><dmac-mask>}}icmp {{<source><source-wildcard>}|any-source| {host-source<source-host-ip>}} {{<destination><destination-wildcard>}|any-destination| {host-destination <destination-host-ip>}} [<icmp-type> [<icmp-code>]] [precedence <precedence>][tos<tos>][time-range<time-range-name>] ! В режиме конфигурации ACL | Создать MAC-ICMP правило для нумерованного extended MAC-IP ACL. Команда [no] удаляет это правило. |
[no]{deny|permit}{any-source-mac|{host-source-mac <host_smac>}|{<smac><smac-mask>}} {any-destination-mac|{host-destination-mac <host_dmac>}|{<dmac><dmac-mask>}}igmp {{<source><source-wildcard>}|any-source| {host-source<source-host-ip>}} {{<destination><destination-wildcard>}|any-destination| {host-destination <destination-host-ip>}} [<igmp-type>] [precedence <precedence>] [tos <tos>][time-range<time-range-name>] ! В режиме конфигурации ACL | Создать MAC-IGMP правило для нумерованного extended MAC-IP ACL. Команда [no] удаляет это правило. |
[no]{deny|permit}{any-source-mac|{host-source-mac<host_smac>}|{<smac><smac-mask>}} {any-destination-mac|{host-destination-mac <host_dmac>}|{<dmac><dmac-mask>}}tcp {{<source><source-wildcard>}|any-source| {host-source<source-host-ip>}} [s-port {<port1> | range <sPortMin> <sPortMax>}] {{<destination><destination-wildcard>}|any-destination| {host-destination <destination-host-ip>}} [d-port {<port3> | range <dPortMin> <dPortMax>}] [ack+fin+psh+rst+urg+syn] [precedence<precedence>][tos<tos>][time-range<time-range-name>] ! В режиме конфигурации ACL | Создать MAC-TCP правило для нумерованного extended MAC-IP ACL. Команда [no] удаляет это правило. |
[no]{deny|permit}{any-source-mac|{host-source-mac<host_smac>}|{<smac><smac-mask>}} {any-destination-mac|{host-destination-mac <host_dmac>}|{<dmac><dmac-mask>}}udp {{<source><source-wildcard>}|any-source| {host-source<source-host-ip>}} [s-port {<port1> | range <sPortMin> <sPortMax>}] {{<destination><destination-wildcard>}|any-destination| {host-destination <destination-host-ip>}} [d-port {<port3> | range <dPortMin> <dPortMax>}] [precedence <precedence>] [tos <tos>][time-range<time-range-name>] ! В режиме конфигурации ACL | Создать MAC-UDP правило для нумерованного extended MAC-IP ACL. Команда [no] удаляет это правило. |
[no]{deny|permit}{any-source-mac|{host-source-mac<host_smac>}|{<smac><smac-mask>}} {any-destination-mac|{host-destination-mac <host_dmac>}|{<dmac><dmac-mask>}} {eigrp|gre|igrp|ip|ipinip|ospf|{<protocol-num>}} {{<source><source-wildcard>}|any-source| {host-source<source-host-ip>}} {{<destination><destination-wildcard>}|any-destination| {host-destination<destination-host-ip>}} [precedence<precedence>][tos<tos>][time-range<time-range-name>] ! В режиме конфигурации ACL | Создать правило для других протоколов, либо для всех IP протоколов для нумерованного extended MAC-IP ACL. Команда [no] удаляет это правило. |
j. Настроить нумерованный standard IPv6 access-list;
Команда | Описание |
---|---|
ipv6 access-list <num> {deny | permit} {{<sIPv6Addr> <sPrefixlen>} | any-source | {host-source <sIpv6Addr>}} no ipv6 access-list <num> ! В режиме глобальной конфигурации | Создать нумерованный standard ACL для IPv6. Если ACL был создан ранее, правило будет добавлено к данному ACL. Удалить данный ACL |
k. Настроить именованный standard IPv6 access-list;
i. Создать именованный standard IPv6 access-list;
Команда | Описание |
---|---|
ipv6 access-list standard <name> no ipv6 access-list standard <name> ! В режиме глобальной конфигурации | Создать именованный standard ACL для IPv6. Удалить именованный standard ACL для IPv6. |
ii. Создать permit и\или deny правила;
Команда | Описание |
---|---|
[no] {deny | permit} {{<sIPv6Prefix/sPrefixlen>} | any-source | {host-source <sIPv6Addr> }} ! В режиме конфигурации ACL | Создать правило именованного standard ACL для IPv6. Команда [no] удаляет это правило |
2. Включить функцию фильтрации пакетов
Команда | Описание |
---|---|
firewall enable firewall disable ! В режиме глобальной конфигурации | Включить функцию фильтрации пакетов Выключить функцию фильтрации пакетов |
3. Настроить временной период действия
Команда | Описание |
---|---|
time-range <time_range_name> time-range <time_range_name> ! В режиме глобальной конфигурации | Создать временной период <time_range_name> Удалить временной период <time_range_name> |
[no] absolute-periodic {Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday} <start_time> to {Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday} <end_time> ! В режиме конфигурации time-range | Задать периодичность действия текущего временного периода. Команда [no] удаляет эту периодичность. |
[no] periodic {{Monday+Tuesday+Wednesday+Thursday+ Friday+Saturday+Sunday} | daily | weekdays | weekend} <start_time> to <end_time> ! В режиме конфигурации time-range | Задать период действия текущего временного периода. Команда [no] удаляет эту периодичность. |
[no] absolute start <start_time> <start_data> [end <end_time> <end_data>] ! В режиме конфигурации time-range | Задать время активации текущего временного периода действия и время его окончания. Команда [no] удалит настроенное время активации |
4. Настроить access-group
Команда | Описание |
---|---|
{ip|ipv6|mac|mac-ip} access-group <acl-name> in [traffic-statistic] no {ip|ipv6|mac|mac-ip} access-group <acl-name> {in} ! В режиме конфигурации интерфейса | Применить ACL <acl-name> на входящее направление трафика на интерфейсе. С включенной опцией traffic-statistic коммутатор будет подсчитывать совпадения этой access-group Удалить ACL <acl-name> с интерфейса |
5. Просмотр статистики ACL
Команда | Описание |
---|---|
show access-group statistic [ethernet <interface-name> ]
| Посмотреть статистику трафика, прошедшего через access-group интерфейса ethernet <interface-name> |
clear access-group statistic [ethernet <interface-name> ] ! В привилегированном режиме | Очистить статистику трафика, прошедшего через access-group интерфейса ethernet <interface-name> |
1.3. Пример настройки ACL
Сценарий 1: порт 1/0/10 относится к сегменту 10.0.0.0/24, протокол FTP не разрешен пользователю.
Конфигурация будет выглядеть следующим образом:
Switch(config)#access-list 110 deny tcp 10.0.0.0 0.0.0.255 any-destination d-port 21 Switch(config)#firewall enable Switch(config)#interface ethernet 1/0/10 Switch(Config-If-Ethernet1/0/10)#ip access-group 110 in
Проверка результата применения конфигурации:
Switch#show firewall Firewall status: enable. Switch#show access-lists access-list 110(used 1 time(s)) 1 rule(s) access-list 110 deny tcp 10.0.0.0 0.0.0.255 any-destination d-port 21 Switch#show access-group interface ethernet 1/0/10 interface name:Ethernet1/0/10 the ingress acl use in firewall is 110, traffic-statistics Disable.
Сценарий 2: Коммутатор должен отбрасывать кадры 802.3 в интерфейсе 1/0/10 с MAC-адресами источника из диапазона от 00-12-11-23-00-00 до 00-00-00-00-ff-ff.
Конфигурация будет выглядеть следующим образом:
Switch(config)#access-list 1100 deny 00-12-11-23-00-00 00-00-00-00-ff-ff any-destination-mac untagged-802-3 Switch(config)#access-list 1100 deny 00-12-11-23-00-00 00-00-00-00-ff-ff any tagged-802 Switch(config)#firewall enable Switch(config)#interface ethernet1/0/10 Switch(Config-If-Ethernet1/0/10)#mac access-group 1100 in
Проверка результата применения конфигурации:
Switch#show firewall Firewall Status: Enable. Switch #show access-lists access-list 1100(used 1 time(s)) access-list 1100 deny 00-12-11-23-00-00 00-00-00-00-ff-ff any-destination-mac untagged-802-3 access-list 1100 deny 00-12-11-23-00-00 00-00-00-00-ff-ff any-destination-mac Switch #show access-group interface ethernet 1/0/10 interface name:Ethernet1/0/10 MAC Ingress access-list used is 1100,traffic-statistics Disable.
Сценарий 3: необходимо запретить трафик протоколов FTP и ICMP для хостов с диапазоном мак-адресов 00-12-11-23-00-00 до 00-00-00-00-ff-ff и IP из сегмента 10.0.0.0/24.
Конфигурация будет выглядеть следующим образом:
Switch(config)#access-list 3110 deny 00-12-11-23-00-00 00-00-00-00-ff-ff any-destination-mac tcp 10.0.0.0 0.0.0.255 any-destination d-port 21 Switch(config)#access-list 3110 deny any-source-mac 00-12-11-23-00-00 00-00-00-00-ff-ff icmp any-source 10.0.0.0 0.0.0.255 Switch(config)#firewall enable Switch(config)#interface ethernet 1/0/10 Switch(Config-If-Ethernet1/0/10)#mac-ip access-group 3110 in
Проверка результата применения конфигурации:
Switch#show access-lists access-list 3110(used 1 time(s)) access-list 3110 deny 00-12-11-23-00-00 00-00-00-00-ff-ff any-destination-mac tcp 10.0.0.0 0.0.0.255 any-destination d-port 21 access-list 3110 deny any-source-mac 00-12-11-23-00-00 00-00-00-00-ff-ff icmp any-source 10.0.0.0 0.0.0.255 Switch #show access-group interface ethernet 1/0/10 interface name:Ethernet1/0/10 MAC-IP Ingress access-list used is 3110, traffic-statistics Disable.
Сценарий 4. Протокол IPv6 запущен на интерфейсе interface vlan 600 с адресом 2003:1:1:1::0/64. Пользователям из подсети 2003:1:1:1:66::0/80 должен быть запрещен выход во внешнюю сеть.
Конфигурация будет выглядеть следующим образом
Switch(config)#ipv6 access-list 600 permit 2003:1:1:1:66::0/80 any-destination Switch(config)#ipv6 access-list 600 deny 2003:1:1:1::0/64 any-destination Switch(config)#firewall enable Switch(config)#interface ethernet 1/0/10 Switch(Config-If-Ethernet1/0/10)#ipv6 access-group 600 in Switch(Config-If-Ethernet1/0/10)#exit Switch(config)#exit
Проверка результата применения конфигурации:
Switch#show firewall Firewall Status: Enable. Switch#show ipv6 access-lists Ipv6 access-list 600(used 1 time(s)) ipv6 access-list 600 deny 2003:1:1:1::0/64 any-source ipv6 access-list 600 permit 2003:1:1:1:66::0/80 any-source Switch #show access-group interface ethernet 1/0/10 interface name:Ethernet1/0/10 IPv6 Ingress access-list used is 600, traffic-statistics Disable.
Сценарий 5. Интерфейсы 1/0/1, 2, 5, 7 относятся к VLAN 100, необходимо запретить хостам с IP адресом 192.168.0.1 доступ к этим интерфейсам.
Конфигурация будет выглядеть следующим образом:
Switch (config)#firewall enable Switch (config)#vlan 100 Switch (Config-Vlan100)#switchport interface ethernet 1/0/1;2;5;7 Switch (Config-Vlan100)#exit Switch (config)#access-list 1 deny host-source 192.168.0.1 Switch (config)#interface ethernet1/0/1;2;5;7 Switch (config-if-port-range)#ip access-group 1 in
Проверка результата применения конфигурации:
Switch (config)#show access-group interface vlan 100 Interface VLAN 100: Ethernet1/0/1: IP Ingress access-list used is 1, traffic-statistics Disable. Ethernet1/0/2: IP Ingress access-list used is 1, traffic-statistics Disable. Ethernet1/0/5: IP Ingress access-list used is 1, traffic-statistics Disable. Ethernet1/0/7: IP Ingress access-list used is 1, traffic-statistics Disable.
1.4. Решение проблем с настройкой ACL
Проверка правил ACL выполняется сверху вниз и заканчивается после первого совпадения;
Правило по-умолчанию будет использоваться только в том случае, если ACL не привязан к интерфейсу или нет совпадения для правил ACL;
Каждый порт может быть связан только с одним ACL MAC-IP, одним ACL MAC, одним ACL IP и одним ACL IPv6;
При одновременном применении ACL разных типов на одном интерфейсе, приоритет ACL будет следующим:
IPv6 ACL
MAC-IP ACL
IP ACL
MAC ACL
Количество правил ACL, которое может быть успешно применено, зависит от ограничени содержимого ACL и предела аппаратного ресурса коммутатора. Коммутатор выведет предупреждение, если ACL не может быть применен из-за ограничение аппаратного ресурса;
Если один ACL содержит конфликтующие правила (например, “permit tcp any any-destination” и “deny tcp any any-destination”), при попытке привязки этого ACL к интерфейсу коммутатор выведет сообщение об ошибке;