Пусть имеем маршрутизатор с множеством логических интерфейсов, для каждого из которых нужно добавить/заменить один и тот же фрагмент в конфиге, например добавить строку «shutdown». Сделать это можно с помощью старого доброго sed.
Пример конфига:
-
$ cat conf.txt
-
interface FastEthernet0/1.302
-
description Client1
-
encapsulation dot1Q 302
-
ip address 10.10.10.141 255.255.255.252
-
ip verify unicast source reachable-via rx
-
!
-
interface FastEthernet0/1.304
-
description Client2
-
encapsulation dot1Q 304
-
ip address 10.10.10.241 255.255.255.252
-
ip verify unicast source reachable-via rx
-
!
-
interface FastEthernet0/1.313
-
description Client3
-
encapsulation dot1Q 313
-
ip address 10.10.10.33 255.255.255.252
-
ip verify unicast source reachable-via rx
-
!
-
interface FastEthernet0/1.314
-
description Client4
-
encapsulation dot1Q 314
-
ip address 10.10.20.229 255.255.255.252
-
ip verify unicast source reachable-via rx
-
shutdown
После команды
-
$ cat conf.txt | sed -r "s/(interface.*)$/\1\n shutdown/" > conf_new.txt
получаем тот же конфиг, но с уже добавленным «shutdown» для каждого подинтерфейса:
-
$ cat conf_new.txt
-
interface FastEthernet0/1.302
-
shutdown
-
description Client1
-
encapsulation dot1Q 302
-
ip address 10.10.10.141 255.255.255.252
-
ip verify unicast source reachable-via rx
-
!
-
interface FastEthernet0/1.304
-
shutdown
-
description Client2
-
encapsulation dot1Q 304
-
ip address 10.10.10.241 255.255.255.252
-
ip verify unicast source reachable-via rx
-
!
-
interface FastEthernet0/1.313
-
shutdown
-
description Client3
-
encapsulation dot1Q 313
-
ip address 10.10.10.33 255.255.255.252
-
ip verify unicast source reachable-via rx
-
!
-
interface FastEthernet0/1.314
-
shutdown
-
description Client4
-
encapsulation dot1Q 314
-
ip address 10.10.20.229 255.255.255.252
-
ip verify unicast source reachable-via rx
-
shutdown
Да, у FastEthernet0/1.314 получилось два shutdown-а, но это не страшно, ведь маслом кашу не испортишь :).
Популярность: 3%

Комментариев: 1
Чтобы быть всегда в курсе здесь происходящего, Вы можете подписаться на RSS feed для комментариев на эту заметку.
А команда «ip verify unicast source reachable-via rx» используется для анти-спуфинга, включая фичу, которая называется Unicast Reverse Path Forwarding (Unicast RPF). Кроме ключевого слова «rx» (которое означает, что входящий в данный интерфейс пакет пропускатеся только если адрес отправителя, в нем содержащийся, имеется в FIB — Forwarding Information Base и если этот адрес непосредственно достижим через данный интерфейс) есть еще варианты «any» (проверка аналогичная предыдущей, но пакет пропускается если он непосредственно достижим через любой из интерфейсов роутера, а не обязательно только через тот, куда пришел), «allow-default» (разрешается использование маршрута по умолчанию для проверки достижимости адреса отправителя). Также после «reachable-via» можно использовать номер списка контроля доступа (десятичный номер). Причем если номер из диапазона 1-99, то будет использоваться стандартный список доступа (IP standard access list), если из диапазона 100-199 — расширенный список доступа (IP extended access list).