Access Control List
Тема достаточна проста, но есть некоторые нюансы.
ACL используется не только для запрета или разрешения чего-либо кому-либо. На основе ACL так же работает, например, Policy-Based Routing (PBR) кого и куда нужно отправить в зависимости от условий заданных в access list.
Виды ACL
Вообще говоря, списки доступа бывают разными:- Стандартные
- Расширенные
- Динамические
- Рефлексивные
- Повременные
Но чаще всего используются первые два.
Стандартный список доступа проверяет только адрес отправителя. Расширенный- адрес отправителя, адрес получателя, а также порт. Стандартные ACL рекомендуется ставить как можно ближе к получателю (чтобы не порезать больше, чем нужно), а расширенные- ближе к отправителю (чтобы как можно раньше дропнуть нежелательный трафик).
GW(config)# ip access-list standard PermitALLGW(config-ext-nacl)# remark ALLGW(config-ext-nacl)# permit any
GW(config)# ip access-list extended Servers-out permit icmp any any permit ip host 192.168.5.5 any permit tcp any host 192.168.0.10 range 135 139 permit tcp any host 192.168.0.10 eq 445 permit udp any host 192.168.0.10 range 135 139 permit tcp any host 192.168.0.10 eq 3389
Any — это специальное слово, которое означает адрес сети и обратную маску 0.0.0.0 0.0.0.0 и означает, что под правило подпадают абсолютно все узлы из любых сетей.host — оно означает маску 255.255.255.255 — то есть именно один единственный указанный адрес.
После того как acl создан его нужно применить куда-либо, например на интерфейс.
GW(config)# int fa0/0.3GW(config-subif)# ip access-group Servers-out out
На in или на out нам нужно это делать? Если мы не хотим пускать пакеты в сторону серверов, которые уже оказались на маршрутизаторе, то это будет исходящий трафик.В конце каждого ACL в циске добавляется неявное правило deny any any.
NAT
NAT трансляцией приватных адресов в "белые". Для частных сетей выделено 3 пула адресов:
10.0.0.0/8
172.16.0.0/12192.168.0.0/16
Статический
В этом случае один внутренний адрес преобразуется в один внешний. И при этом все запросы, приходящие на внешний адрес будут транслироваться на внутренний. Словно бы этот хост и является обладателем этого белого IP-адреса. Настраивается следующей командой:Router (config)# ip nat inside source static 172.16.6.5 198.51.100.2Many-to-One
Тип имеет несколько названий: NAT Overload, Port Address Translation (PAT), IP Masquerading, Many-to-One NAT.
Настройка отличается совершенно незначительно: добавочным словом overload:
Router(config)#access-list 101 permit 172.16.4.0 0.0.0.255Router(config)#ip nat inside source list 101 interface fa0/1 overloadПри этом, разумеется, сохраняется возможность настроить пул адресов:
Router(config)#ip nat pool lol_pool 198.51.100.2 198.51.103.14
Router(config)#access-list 100 permit 172.16.6.0 0.0.0.255Router(config)#ip nat inside source list 100 pool lol_pool overload
Перенаправление портовПроброс портов или mapping.
Router(config)#ip nat inside source static tcp 172.16.0.2 80 198.51.100.2 80 extendable
Или если на разных хостах один порт
Router(config)# ip nat inside source static tcp 172.16.6.61 3389 198.51.100.2 3389
Router(config)# ip nat inside source static tcp 172.16.6.66 3389 198.51.100.2 3398
На внешнем интерфейсе нужно дать команду ip nat outside
На внутреннем: ip nat insideОгромнейшее спасибо:
http://linkmeup.ru/
Почитать больше:
http://habrahabr.ru/post/108931/
http://habrahabr.ru/post/108978/
Комментариев нет:
Отправить комментарий