Давайте разберёмся, как ограничить доступ к маршрутизатору.
Допустим есть роутер с такими интерфейсами:
На Fa0/1 и Fa0/2 надо было бы применить тот же ACL. Так как к маршрутизатору можно подключиться на любой его интерфейс. Например, мы можем находиться в сети, подключенной через Fa0/0 и обратиться к роутеру через интерфейс Fa0/1. Наш трафик заходит через Fa0/0, маршрутизируется на Fa0/1 и там уже происходит подключение по telnet. Поэтому мы и перечислили все интерфейсы. Представьте теперь, что на каждом из интерфейсов уже был свой ACL со своими правилами по фильтрации. В этом случае у нас не получится применить общий ACL 101 на все интерфейсы, надо будет в каждый ACL добавлять три строчки. Представьте, что появился новый интерфейс Fa0/3 (192.168.3.1) – теперь нам надо обойти все созданные ранее ACL и добавить там строчку
Короче говоря, мы обязательно что-то забудем, да и вообще, так дела не делаются. К счастью, у cisco есть гораздо более простой способ ограничить доступ с каких-то адресов к telnet или ssh.
Например, в предыдущем примере, с тремя интерфейсами на маршрутизаторе надо разрешить подключение по telnet с адреса администратора (192.168.1.100), со всех остальных адресов – запретить. Настройка будет выглядеть так:
ACL 1 — простой ACL, состоящий из двух строк. Применён он на line vty и теперь не важно, откуда пришёл трафик, с какого интерфейса, с какой сети. Когда он дойдёт до VTY, он будет проверен на соответствие ACL и принят, либо отброшен.
Обратите внимание, что ACL применяется на интерфейсе командой access-group, а на vty — командой access-class.
Источник http://ciscotips.ru/acl-on-vty
Как не надо делать
Итак, есть маршрутизатор, мы, как администраторы хотим иметь возможность удалённо к нему подключаться по ssh либо telnet, но не хотим, чтобы к нему удалённо подключались злоумышленники и брутфорсили наши пароли. Задача достаточно сложная, если пытаться решить её применением расширенных ACL на интерфейсы маршрутизатора.Допустим есть роутер с такими интерфейсами:
- Fa0/0 (191.168.0.1)
- Fa0/1 (192.168.1.1)
- Fa0/2 (192.168.2.1)
access-list 101 deny tcp any host 192.168.0.1 eq telnet access-list 101 deny tcp any host 192.168.1.1 eq telnet access-list 101 deny tcp any host 192.168.2.1 eq telnet access-list 101 permit ip any any
На Fa0/1 и Fa0/2 надо было бы применить тот же ACL. Так как к маршрутизатору можно подключиться на любой его интерфейс. Например, мы можем находиться в сети, подключенной через Fa0/0 и обратиться к роутеру через интерфейс Fa0/1. Наш трафик заходит через Fa0/0, маршрутизируется на Fa0/1 и там уже происходит подключение по telnet. Поэтому мы и перечислили все интерфейсы. Представьте теперь, что на каждом из интерфейсов уже был свой ACL со своими правилами по фильтрации. В этом случае у нас не получится применить общий ACL 101 на все интерфейсы, надо будет в каждый ACL добавлять три строчки. Представьте, что появился новый интерфейс Fa0/3 (192.168.3.1) – теперь нам надо обойти все созданные ранее ACL и добавить там строчку
deny tcp any host 192.168.3.1 eq telnet
Короче говоря, мы обязательно что-то забудем, да и вообще, так дела не делаются. К счастью, у cisco есть гораздо более простой способ ограничить доступ с каких-то адресов к telnet или ssh.
Как надо делать
Создаём стандартный ACL, в котором перечисляем адреса и сети, из который доступ по telnet надо разрешить. И применяем его непосредственно на line vty 0 4, то есть, на линии виртульного терминала, к которым происходит подключение. Таким образом, не важно, через какой интерфейс маршрутизатора telnet пакеты попадут на роутер, они будут отфильтрованы когда доберутся собственно до vty.Например, в предыдущем примере, с тремя интерфейсами на маршрутизаторе надо разрешить подключение по telnet с адреса администратора (192.168.1.100), со всех остальных адресов – запретить. Настройка будет выглядеть так:
R1#configure terminal Enter configuration commands, one per line. End with CNTL/Z. R1(config)#access-list 1 permit host 192.168.1.100 R1(config)#access-list 1 deny any R1(config)#line vty 0 4 R1(config-line)#access-class 1 in
ACL 1 — простой ACL, состоящий из двух строк. Применён он на line vty и теперь не важно, откуда пришёл трафик, с какого интерфейса, с какой сети. Когда он дойдёт до VTY, он будет проверен на соответствие ACL и принят, либо отброшен.
Обратите внимание, что ACL применяется на интерфейсе командой access-group, а на vty — командой access-class.
Источник http://ciscotips.ru/acl-on-vty