Настройка списков доступа по расписанию (Time-Based ACL) на Cisco IOS
- Правило ACL не активируется в назначенное рабочее время или продолжает блокировать трафик в выходные дни.
- Ошибки применения правил из-за рассинхронизации локального системного времени маршрутизатора.
- Трафик развлекательных ресурсов и социальных сетей не перекрывается по окончании разрешенного интервала.
- Команда
show time-rangeпоказывает неверный статусinactive.
1. Принцип работы Time-Based ACL
Списки доступа по расписанию позволяют активировать или деактивировать конкретные строки фильтрации трафика на основе системных часов маршрутизатора. Ключевой элемент архитектуры — объект time-range, который привязывается к правилам Extended ACL.
2. Обязательное условие: точная синхронизация времени (NTP)
# Настройка часового пояса (например, MSK UTC+3)
clock timezone MSK 3 0
# Указание серверов точного времени
ntp server 192.168.1.10 prefer
ntp server 0.pool.ntp.org
# Проверка статуса синхронизации
show ntp status3. Определение временных диапазонов (Time-Range)
# Диапазон 1: Рабочие часы с понедельника по пятницу с 09:00 до 18:00
time-range WORK_HOURS
periodic weekdays 09:00 to 18:00
# Диапазон 2: Обеденный перерыв (разрешение доступа к мультимедиа)
time-range LUNCH_TIME
periodic weekdays 13:00 to 14:00
# Диапазон 3: Абсолютный период для временного доступа подрядчиков
time-range VENDOR_ACCESS
absolute start 00:00 01 June 2025 end 23:59 15 June 20254. Создание и привязка ACL к интерфейсу
ip access-list extended FILTER_OFFICE_TRAFFIC
remark === Allow Corporate Traffic Always ===
permit tcp 192.168.10.0 0.0.0.255 host 10.0.0.5 eq 443
remark === Allow Social Media / Entertainment ONLY during Lunch ===
permit tcp 192.168.10.0 0.0.0.255 any eq 80 time-range LUNCH_TIME
permit tcp 192.168.10.0 0.0.0.255 any eq 443 time-range LUNCH_TIME
remark === Block Non-Work Traffic during Work Hours ===
deny ip 192.168.10.0 0.0.0.255 any time-range WORK_HOURS
remark === Default Allow Outside of Work Hours ===
permit ip 192.168.10.0 0.0.0.255 any
interface GigabitEthernet0/0/1
ip access-group FILTER_OFFICE_TRAFFIC in5. Верификация активности правил
# Проверка статуса всех диапазонов времени
show time-range
# Проверка счетчиков и активных правил (помечены как 'active' или 'inactive')
show ip access-lists FILTER_OFFICE_TRAFFIC Частые вопросы (FAQ)
Что происходит с активными TCP-сессиями, когда time-range переходит в статус inactive?
Маршрутизатор не сбрасывает уже установленные сессии принудительно (если не используется TCP Reset). Однако все последующие пакеты в рамках этого соединения перестанут проходить фильтр и будут отброшены.
В чем разница между ключевыми словами periodic и absolute?
Параметр absolute задает фиксированный интервал между двумя конкретными датами календаря. Параметр periodic задает повторяющийся циклический график (дни недели, конкретные часы).
Почему time-range не работает после перезагрузки оборудования?
Если на маршрутизаторе нет аппаратных батарейных часов RTC, при старте часы сбрасываются на дату по умолчанию (например, 1993 год). Пока NTP не восстановит точное время, все time-range будут находиться в состоянии inactive.
Можно ли использовать один time-range в нескольких разных ACL?
Да. Объект time-range является глобальным элементом конфигурации и может быть применен к неограниченному числу правил в разных списках доступа.