четверг, 21 апреля 2011 г.

Использование NAT совместно с ZBF

Рассмотрим различные варианты:
  1. Традиционный NAT c ZBF
  2. Схема:
    При использовании традиционного NAT ZBF отрабатывается ПОСЛЕ NAT, причем ZBFне отслеживает преобразования NAT. Т.е. при прохождении пакета inside-to-outside будет сначала выполнено преобразование NAT, затем к нему применится политика ZBF INSIDE-OUTSIDE.
    Т.о. в политике INSIDE-OUTSIDE необходимо разрешить прохождение пакетов с source IP в диапазоне NAT pool. Инспектить эти пакеты смысла нет, т.к. ZBF не являетс я NAT-aware и не отслеживает преобразования NAT, и при этом применяется ПОСЛЕ  NAT. Т.е. при прохождении обратного пакета ZBF будет отрабатываться на destination IP из inside local диапазона, которые следует разрешить в режиме pass в политике OUTSIDE-INSIDE. Не очень  красивая ситуация. Stateful Inspection мы не получим и  входящий ACL на внешнем интерфейсе, прямо запрещающий обращение к адресам inside local, не помешает.
    class-map type inspect match-all NAT_cmap
     match access-group name NAT_cmap
    class-map type inspect match-all NAT-IN
     match access-group name NAT-IN
    policy-map type inspect INSIDE-OUTSIDE
     class type inspect NAT_cmap
      pass
     class class-default
      drop
    policy-map type inspect OUTSIDE-INSIDE
     class type inspect NAT-IN
      pass
     class class-default
      drop
    zone security INSIDE  
     description Head Office Internal Zone
    zone security OUTSIDE
     description ISP Links
    zone-pair security INSIDE-OUTSIDE source INSIDE destination OUTSIDE
     service-policy type inspect INSIDE-OUTSIDE
    zone-pair security OUTSIDE-INSIDE source UTSIDE destination INSIDE
     service-policy type inspect OUTSIDE-INSIDE  
    ip access-list extended NAT_cmap
     permit ip 1.1.1.0 0.0.0.255 any
    ip access-list extended NAT-IN
     permit ip any 192.168.0.0 0.0.0.255
    ip access-list extended NAT_LIST
     permit ip 192.168.0.0 0.0.0.255 any

  3. NVI с ZBF подружить не удалось.
  4. Создание отдельного  виртуального маршрутизатора для NVI, а ZBF применим на глобальном VRF.

  5. К сожалению,  в режиме inspect реализовать эту схему мне не удалось.

  6. Классический NAT на отдельном VRF плюс ZBF на глобальном. Также получилось только в режиме pass.