Más contenido relacionado
La actualidad más candente (20)
Similar a Новые возможности межсетевых экранов Cisco ASA версий 9.2 - 9.5 (20)
Новые возможности межсетевых экранов Cisco ASA версий 9.2 - 9.5
- 2. Введение
• В данной презентации рассматриваются некоторые новые
возможности межсетевых экранов Cisco ASA, появившиеся в
версиях 9.x
• Основной акцент будет сделан на новых возможностях
динамической маршрутизации, передачи трафика и NAT
• Мы не будем касаться ASA Clustering, IPv6, Multicast, VPN и т.д.
• Все представленные выводы собраны на ASA5545 9.5(1.4) на
стенде, топология которого показана на следующем слайде
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.2
- 3. Топология
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.3
ISP1
AS65001
OSPF
.2
.254 .3
10.3.3.0/24
198.3.3.0/24
199.3.3.0/24
217.3.3.0/24195.0.0.0/24
192.168.3.0/24
.1.1
.2
.3
.3
10.1.0.0/2410.1.3.0/24
10.2.0.0/24
outside1
outside2
inside1
inside2
10.2.3.0/24
ISP2
AS65002
ISP3
AS65003
AS65000
194.2.3.0/24
194.1.3.0/24
194.1.0.0/24
194.2.0.0/24
.3
194.2.2.0/24
194.1.1.0/24
dmz
- 4. Содержание
• Сравнение возможностей версий 7.x, 8.x и версий 9.x
• Новые возможности маршрутизации версии 9.2(1)
• Протокол маршрутизации OSPF
• Протокол маршрутизации BGP
• Поддержка асимметричного трафика и балансировки трафика с
помощью Traffic Zones
• Правила маршрутизации трафика
• Маршрутизация “от источника” (Policy-based Routing, PBR)
• Маршрутизация управляющего трафика в версии 9.5(1)
• Новые возможности NAT, Carrier Grade NAT
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.4
- 6. Протоколы маршрутизации в версиях 7.x, 8.x
• ASA 7.0(1): OSPFv2
• Включая Unicast OSPF over L2L IPSec VPN (“ospf network point-to-point non-
broadcast”)
• ASA 7.0(1): RIPv1/2 без проброса маршрутов
• Либо анонсирует маршрут по умолчанию через интерфейс
• Либо работает на этом интерфейсе в пассивном режиме
• ASA 7.2(1): RIPv1/2
• Полнофункциональный RIPv1/2
• ASA 7.2(1): Tracked Static Routes
• Ограниченная реализация IP SLA и Tracking Objects для Dual ISP
• ASA 8.0(2): EIGRP
• ASA 8.4(1): Stateful Failover Support
• Синхронизация маршрутов в A/S Failover (Active -> Standby)
• A/A поддерживается с версии 9.0(1) т.к. требует мультиконтекстный режим
• Напоминает SSO
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.6
- 7. Основные ограничения версий 7.x, 8.x
• Динамическая маршрутизация в мультиконтекстном режиме
• Unicast Dynamic Routing в мультиконтекстном режиме с версии 9.0
• Non-stop Forwarding (NSF) и Non-stop Routing (NSR)
• Не поддерживались, включая NSF awareness
• Null0, loopback-интерфейсы
• Не поддерживались
• Рекурсивная маршрутизация
• Не поддерживалась
• Equal-cost multipath (ECMP)
• Все маршруты должны быть через один и тот же интерфейс ASA
• До 3-х параллельных маршрутов
• Policy-based Routing (PBR)
• Ограниченная поддержка с помощью NAT
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.7
- 8. Новые возможности маршрутизации и NAT
• ASA 9.0(1): Dynamic Routing in Multi-context mode (OSPFv2, EIGRP)
• ASA 9.0(1): Per-session PAT
• ASA 9.2(1): Routing Update
• ASA 9.2(1): OSPFv2 Enhancements
• ASA 9.2(1): BGP for IPv4
• ASA 9.3(1): NSF (OSPFv2, BGP)
• ASA 9.3(2): BGP for IPv6
• ASA 9.3(2): Traffic Zones
• ASA 9.4(1): PBR
• ASA 9.5(1): PBR Phase 2
• ASA 9.5(1): Separate Routing Table for Management Traffic
• ASA 9.5(1): Carrier Grade NAT
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.8
- 9. Прочие новинки версий 9.x
• ASA 9.0(1): Clustering
• ASA 9.0(1): L2L VPN in Multi-context mode
• ASA 9.0(1): IPv6 Enhancements, OSPFv3
• ASA 9.0(1): TrustSec Integration
• ASA 9.2(1): EEM
• ASA 9.2(2.4): Sourcefire Integration (FirePOWER modules)
• ASA 9.3(2): ASA5506-X
• ASA 9.4(1): ASA5508-X, ASA5516-X, ASA5506W-X, ASA5506H-X
• …
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.9
- 11. ASA 9.2(1) – Routing Update (RU)
• Замена существующих подсистем (заимствованных из IOS 12.4)
на новые подсистемы IOS 15.1(1)T
• Подсистема CEF не была портирована из IOS
• Программный код, используемый для маршрутизации трафика, уникален
• Local Host Routes для IPv4 (‘L’)
• Статические маршруты в интерфейс Null0
• Дополнительные команды диагностики
• Улучшения в OSPFv2
• Поддержка BGP для IPv4
• Включая мультиконтекстный режим, A/S Failover и A/A Failover
• Поддержка рекурсивных маршрутов BGP
• Что повлекло за собой модификацию кода packet forwarding
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.11
- 12. ASA 9.x – существующие ограничения
• Loopback-интерфейсы
• Не поддерживаются
• Рекурсивная маршрутизация
• Только для BGP
• Не поддерживается для статических маршрутов
• OSPFv2
• До 2-х процессов OSPF (на контекст)
• С возможностью редистрибуции между ними и в др. протоколы
• EIGRP
• Только один процесс EIGRP (на контекст)
• BGP
• Только одна автономная система BGP (на всю систему)
• В 9.2(1) только “address-family ipv4 unicast”
• BGP for IPv6 поддерживается с 9.3(2) – “address-family ipv6 unicast”
• Ограниченная масштабируемость
• Не все фичи (рефлекторы, конфедерации, peer-group и т.д. не
поддерживаются)
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.12
For your
reference
- 14. Протокол маршрутизации OSPF
• OSPFv2 впервые реализован на PIX в версии 6.3
• ASA 9.2(1): Новая реализация из IOS 15.1(1)T
• OSPF Fast Hellos (“ospf dead-interval minimal”)
• OSPF timers (например, “timers throttle spf”)
• “distribute-list in”
• “redistribute bgp”
• Улучшенные средства диагностики
• ASA 9.3(1): OSPF NSF
• Поддерживается Cisco NSF, IETF NSF
• ASA может выступать в роли NSF-aware и NSF-capable router
• OSPFv3 поддерживается начиная с 9.0(1)
• В отличие от IOS только для IPv6
• В отличие от OSPFv2 только одноконтекстный режим
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.14
- 15. Протокол маршрутизации OSPF
• Пример настройки Fast Hellos и аутентификации
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.15
interface GigabitEthernet0/1.75
vlan 75
nameif inside1
security-level 100
ip address 10.1.0.254 255.255.255.0
ospf dead-interval minimal hello-multiplier 4
ospf message-digest-key 1 md5 secret
ospf authentication message-digest
interface GigabitEthernet0/1.76
vlan 76
nameif inside2
security-level 100
ip address 10.2.0.254 255.255.255.0
ospf dead-interval minimal hello-multiplier 4
ospf message-digest-key 1 md5 secret
ospf authentication message-digest
router ospf 1
network 10.1.0.0 255.255.255.0 area 0
network 10.2.0.0 255.255.255.0 area 0
log-adj-changes
default-information originate metric 1000 metric-type 1
- 16. Протокол маршрутизации OSPF
• Полученный результат
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.16
ASA# show route
...
C 10.1.0.0 255.255.255.0 is directly connected, inside1
L 10.1.0.254 255.255.255.255 is directly connected, inside1
O 10.1.3.0 255.255.255.0 [110/11] via 10.1.0.1, 19:14:18, inside1
C 10.2.0.0 255.255.255.0 is directly connected, inside2
L 10.2.0.254 255.255.255.255 is directly connected, inside2
O 10.2.3.0 255.255.255.0 [110/11] via 10.2.0.2, 19:14:08, inside2
O 10.3.3.0 255.255.255.0 [110/12] via 10.1.0.1, 19:14:18, inside1
C 194.1.0.0 255.255.255.0 is directly connected, outside1
L 194.1.0.254 255.255.255.255 is directly connected, outside1
C 194.2.0.0 255.255.255.0 is directly connected, outside2
L 194.2.0.254 255.255.255.255 is directly connected, outside2
C 195.0.0.0 255.255.255.0 is directly connected, dmz
L 195.0.0.254 255.255.255.255 is directly connected, dmz
ASA# show route ospf
...
O 10.1.3.0 255.255.255.0 [110/11] via 10.1.0.1, 19:14:54, inside1
O 10.2.3.0 255.255.255.0 [110/11] via 10.2.0.2, 19:14:44, inside2
O 10.3.3.0 255.255.255.0 [110/12] via 10.1.0.1, 19:14:54, inside1
А где же второй,
параллельный маршрут?
- 17. Топология
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.17
ISP1
AS65001
OSPF
.2
.254 .3
10.3.3.0/24
198.3.3.0/24
199.3.3.0/24
217.3.3.0/24195.0.0.0/24
192.168.3.0/24
.1.1
.2
.3
.3
10.1.0.0/2410.1.3.0/24
10.2.0.0/24
outside1
outside2
inside1
inside2
10.2.3.0/24
ISP2
AS65002
ISP3
AS65003
AS65000
194.2.3.0/24
194.1.3.0/24
194.1.0.0/24
194.2.0.0/24
.3
194.2.2.0/24
194.1.1.0/24
dmz
???
- 18. Протокол маршрутизации OSPF
• Проверим все еще раз
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.18
ASA# show route 10.3.3.0 255.255.255.0
Routing entry for 10.3.3.0 255.255.255.0
Known via "ospf 1", distance 110, metric 12, type intra area
Last update from 10.1.0.1 on inside1, 19:16:16 ago
Routing Descriptor Blocks:
* 10.1.0.1, from 10.2.3.3, 19:16:16 ago, via inside1
Route metric is 12, traffic share count is 1
ASA# show ospf 1 neighbor
Neighbor ID Pri State Dead Time Address Interface
10.2.3.2 1 FULL/DR 840 msec 10.2.0.2 inside2
10.1.3.1 1 FULL/DR 970 msec 10.1.0.1 inside1
ASA# show ospf 1 interface brief
Interface PID Area IP Address/Mask Cost State Nbrs F/C
inside2 1 0 10.2.0.254/255.255.255.0 10 BDR 1/1
inside1 1 0 10.1.0.254/255.255.255.0 10 BDR 1/1
- 19. Протокол маршрутизации OSPF
• OSPF имеет собственную внутреннюю таблицу маршрутизации
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.19
ASA# show ospf 1 rib
OSPF Router with ID (195.0.0.254) (Process ID 1)
OSPF local RIB
Codes: * - Best, > - Installed in global RIB
* 10.1.0.0/24, Intra, cost 10, area 0, Connected
via 10.1.0.254, inside1
*> 10.1.3.0/24, Intra, cost 11, area 0
via 10.1.0.1, inside1
* 10.2.0.0/24, Intra, cost 10, area 0, Connected
via 10.2.0.254, inside2
*> 10.2.3.0/24, Intra, cost 11, area 0
via 10.2.0.2, inside2
*> 10.3.3.0/24, Intra, cost 12, area 0
via 10.2.0.2, inside2
via 10.1.0.1, inside1
Хмм... Bug?
- 20. Протокол маршрутизации OSPF
• Нет, это не bug, надо смотреть внимательней
• Параллельные маршруты устанавливаются в global RIB только
при использовании Traffic Zones, которые поддерживаются
начиная с версии 9.3(2)
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.20
ASA# show ospf 1 rib 10.3.3.0 255.255.255.0
OSPF Router with ID (195.0.0.254) (Process ID 1)
OSPF local RIB
Codes: * - Best, > - Installed in global RIB
*> 10.3.3.0/24, Intra, cost 12, area 0
SPF Instance 2, age 19:21:40
Flags: RIB
via 10.2.0.2, inside2, flags: none
LSA: 1/10.2.3.3/10.2.3.3
via 10.1.0.1, inside1, flags: RIB
LSA: 1/10.2.3.3/10.2.3.3
Маршрут через 10.2.0.2 не установлен
в Global RIB
- 21. Протокол маршрутизации OSPF
• Для диагностики необходим debug, syslog для этого случая
отсутствует
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.21
ASA# debug ip ospf rib
OSPF Local RIB (Routing Information Base) debugging is on
OSPF Redistribution debugging is on
OSPF Global Route Changes debugging is on
ASA# clear ospf 1 proc
Reset OSPF process? [no]: yes
...
OSPF: ECMP routes, new route not installed
OSPF-RIB-GLOBAL: IP route update failed 10.3.3.0/255.255.255.0, via 10.1.0.1 on inside1
label 0, distance 12, source 10.2.3.3, tag 0x0, flags (None), type Intra, return: 20 for
topo/MTID Base/0, process OSPF-1 Router
- 22. Протокол маршрутизации OSPF
• OSPF также имеет свой журнал событий, который, в частности,
показывает, когда запускался алгоритм SPF
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.22
show ospf [<PID>] events [[generic] | [interface] | [lsa] | [neighbor] | [rib] | [spf]] [reverse]
ASA# show ospf events spf reverse
OSPF Router with ID (195.0.0.254) (Process ID 1)
55 Oct 19 14:39:30.146: Schedule SPF, Area 0, spf-type Full, Change in LSA Type RLSID 10.1.3.1, Adv-Rtr
10.1.3.1
...
100 Oct 19 14:39:30.576: Schedule SPF, Area 0, spf-type Full, Change in LSA Type RLSID 195.0.0.254, Adv-Rtr
195.0.0.254
104 Oct 19 14:39:35.146: Starting SPF, wait-interval 5000ms
105 Oct 19 14:39:35.147: Starting Intra-Area SPF, Area 0, spf_type Full
107 Oct 19 14:39:35.147: Schedule SPF, Area 0, spf-type Prefix Recalculation, Change in LSA Type SN
109 Oct 19 14:39:35.147: Schedule SPF, Area 0, spf-type Prefix Recalculation, Change in LSA Type SN
111 Oct 19 14:39:35.147: Schedule SPF, Area 0, spf-type Prefix Recalculation, Change in LSA Type SN
113 Oct 19 14:39:35.147: Schedule SPF, Area 0, spf-type Prefix Recalculation, Change in LSA Type SN
122 Oct 19 14:39:35.147: Starting summary processing, Area 0
125 Oct 19 14:39:35.147: Starting External processing
126 Oct 19 14:39:35.147: Starting External processing in area 0
131 Oct 19 14:39:35.147: End of SPF, SPF time 0ms, next wait-interval 10000ms
Другая полезная команда для анализа: show ospf [<PID>] statistics [detail]
- 23. Протокол маршрутизации OSPF
• Запуск SPF можно ускорить изменив таймеры
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.23
router ospf 1
timers throttle spf 1000 2000 4000
ASA# show ospf 1
Routing Process "ospf 1" with ID 195.0.0.254
Start time: 00:13:08.030, Time elapsed: 20:03:30.180
Supports only single TOS(TOS0) routes
Supports opaque LSA
Supports Link-local Signaling (LLS)
Supports area transit capability
Event-log enabled, Maximum number of events: 1000, Mode: cyclic
Router is not originating router-LSAs with maximum metric
Initial SPF schedule delay 1000 msecs
Minimum hold time between two consecutive SPFs 2000 msecs
Maximum wait time between two consecutive SPFs 4000 msecs
101 Oct 19 14:55:43.955: Starting SPF, wait-interval 1000ms
...
128 Oct 19 14:55:43.955: End of SPF, SPF time 0ms, next wait-interval 2000ms
- 24. Протокол маршрутизации OSPF
• Примеры журнала событий для событий других типов
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.24
ASA# show ospf events neighbor reverse
OSPF Router with ID (195.0.0.254) (Process ID 1)
17 Oct 19 14:39:30.070: Neighbor 10.1.3.1, Interface inside1 state changes from FULL to DOWN reason
Interface down or detached
41 Oct 19 14:39:30.140: Neighbor 10.1.3.1, Interface inside1 state changes from DOWN to INIT
42 Oct 19 14:39:30.140: Neighbor 10.1.3.1, Interface inside1 state changes from INIT to 2WAY
51 Oct 19 14:39:30.140: Neighbor 10.1.3.1, Interface inside1 state changes from 2WAY to EXSTART
52 Oct 19 14:39:30.140: Neighbor 10.1.3.1, Interface inside1 state changes from EXSTART to EXCHANGE
53 Oct 19 14:39:30.140: Neighbor 10.1.3.1, Interface inside1 state changes from EXCHANGE to LOADING
75 Oct 19 14:39:30.141: Neighbor 10.1.3.1, Interface inside1 state changes from LOADING to FULL
ASA# show ospf events interface reverse
OSPF Router with ID (195.0.0.254) (Process ID 1)
30 Oct 19 14:39:30.069: Interface inside1 state changes from BDR to DOWN
40 Oct 19 14:39:30.069: Interface inside1 state changes from DOWN to WAITING
49 Oct 19 14:39:30.140: Interface inside1 state changes from WAITING to BDR
- 25. Протокол маршрутизации OSPF
• ASA 9.3(1): Non-Stop Forwarding (NSF) Support (OSPFv2/3, BGP)
• OSPFv2: Cisco NSF: RFC 4811 и RFC 4812
• OSPFv2: IETF NSF: RFC 3623
• Поддерживается Failover и Clustering
• ASA может выступать в роли NSF-capable device и NSF helper
• Обе capabilities согласуются по умолчанию, включен helper mode
• NSF-capable mode необходимо включать явно
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.25
router ospf 1
capability lls
{nsf cisco | nsf cisco helper}
router ospf 1
capability opaque
{nsf ietf | nsf ietf helper}
ASA# show ospf nsf
- 27. Протокол маршрутизации BGP
• BGP впервые реализован на ASA в версии 9.2(1)
• Поддерживается одна BGP AS на всю систему
• В мультиконтекстном режиме “router bgp” настраивается сначала в system
context, а затем в каждом контексте (с тем же номером AS)
• В system context задаются глобальные параметры
• В user contexts настраивается политика BGP
• Внутренняя реализация использует VRF’ы
• Общесистемные настройки можно увидеть контекстах с помощью “show
bgp system-config”
• ASA 9.2(1): A/S, A/A Failover
• ASA 9.3(1): BGP NSF (“graceful-restart”)
• ASA 9.3(1): Clustering Support
• ASA 9.3(1): “neighbor advertise-map”
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.27
- 28. Топология
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.28
ISP1
AS65001
OSPF
.2
.254 .3
10.3.3.0/24
198.3.3.0/24
199.3.3.0/24
217.3.3.0/24195.0.0.0/24
192.168.3.0/24
.1.1
.2
.3
.3
10.1.0.0/2410.1.3.0/24
10.2.0.0/24
outside1
outside2
inside1
inside2
10.2.3.0/24
ISP2
AS65002
ISP3
AS65003
AS65000
194.2.3.0/24
194.1.3.0/24
194.1.0.0/24
194.2.0.0/24
.3
194.2.2.0/24
194.1.1.0/24
eBGP
eBGP
eBGP
eBGP
dmz
- 29. Протокол маршрутизации BGP
• Пример настройки в одноконтекстном режиме
• Значения по умолчанию можно узнать
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.29
router bgp 65000
bgp log-neighbor-changes
address-family ipv4 unicast
neighbor 194.1.0.1 remote-as 65001
neighbor 194.1.0.1 activate
neighbor 194.2.0.2 remote-as 65002
neighbor 194.2.0.2 activate
network 195.0.0.0
maximum-paths 2
no auto-summary
no synchronization
exit-address-family
AF IPv4 unicast
“activate” дается автоматически
“no auto-summary” и “no sync” – это
значения по умолчанию
ASA# show run all router bgp
- 30. Протокол маршрутизации BGP
• Основные команды диагностики
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.30
ASA# show asp table socket
Protocol Socket State Local Address Foreign Address
TCP 00002dd8 LISTEN 194.1.0.254:179 0.0.0.0:*
TCP 000058b8 LISTEN 194.2.0.254:179 0.0.0.0:*
TCP 00007428 ESTAB 194.1.0.254:20639 194.1.0.1:179
TCP 00008368 ESTAB 194.2.0.254:15232 194.2.0.2:179
ASA# show bgp summary
...
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
194.1.0.1 4 65001 13 12 7 0 0 00:04:04 5
194.2.0.2 4 65002 12 12 7 0 0 00:04:04 5
- 31. Протокол маршрутизации BGP
• Основные команды диагностики
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.31
ASA# show bgp
BGP table version is 7, local router ID is 195.0.0.254
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 0.0.0.0 194.1.0.1 0 65001 i
* 194.2.0.2 0 65002 i
*> 194.1.1.0 194.1.0.1 0 0 65001 i
* 194.2.0.2 0 65002 65003 65001 i
* 194.2.2.0 194.1.0.1 0 65001 65003 65002 i
*> 194.2.0.2 0 0 65002 i
*> 195.0.0.0 0.0.0.0 0 32768 i
*> 198.3.3.0 194.1.0.1 0 65001 65003 i
* 194.2.0.2 0 65002 65003 i
*> 217.3.3.0 194.1.0.1 0 65001 65003 i
* 194.2.0.2 0 65002 65003 i
- 32. Протокол маршрутизации BGP
• Основные команды диагностики
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.32
ASA# show route bgp
...
B* 0.0.0.0 0.0.0.0 [20/0] via 194.1.0.1, 00:04:45
B 194.1.1.0 255.255.255.0 [20/0] via 194.1.0.1, 00:04:45
B 194.2.2.0 255.255.255.0 [20/0] via 194.2.0.2, 00:04:45
B 198.3.3.0 255.255.255.0 [20/0] via 194.1.0.1, 00:04:45
B 217.3.3.0 255.255.255.0 [20/0] via 194.1.0.1, 00:04:45
ASA# show bgp 0.0.0.0 0.0.0.0
BGP routing table entry for 0.0.0.0/0, version 2
Paths: (2 available, best #1, table default)
Multipath: eBGP
Advertised to update-groups:
2
65001
194.1.0.1 from 194.1.0.1 (194.1.3.1)
Origin IGP, localpref 100, valid, external, best
65002
194.2.0.2 from 194.2.0.2 (194.2.2.2)
Origin IGP, localpref 100, valid, external
Только один маршрут 0.0.0.0/0
установлен, т.к. они приходят из
разных AS по eBGP.
Приоритет имеет старейший маршрут:
ASA# show run all router bgp | i bestpath
no bgp bestpath med
no bgp bestpath compare-routerid
- 33. Протокол маршрутизации BGP
• В выводе “show route” у маршрутов BGP нет выходного интерфейса
• После загрузки RIB в “datapath” (softNP) интерфейса также нет
• Это происходит из-за того, что маршруты BGP могут быть
рекурсивными (next-hop расположен в удаленной IP-сети)
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.33
ASA# show route
...
O 10.3.3.0 255.255.255.0 [110/12] via 10.1.0.1, 19:14:54, inside1
...
B 194.2.2.0 255.255.255.0 [20/0] via 194.2.0.2, 00:04:45
ASA# show asp table routing | i 194.2.2.0|10.3.3.0
in 10.3.3.0 255.255.255.0 via 10.2.0.2, inside1
in 194.2.2.0 255.255.255.0 via 194.2.0.2 (unresolved, timestamp: 148)
out 10.3.3.0 255.255.255.0 via 10.2.0.2, inside1
- 34. Протокол маршрутизации BGP
• Разрешение рекурсии и определение выходного интерфейса
производится динамически при обработке первого пакета,
прошедшего по данному маршруту
• “Route table timestamp” увеличивается при каждом изменении RIB
• Если затем по маршруту BGP идет пакет и timestamp маршрута
отличается от timestamp RIB, то выполняется новый просмотр
таблицы маршрутизации для определения выходного интерфейса
• После чего маршрут получает тот же timestamp, что и RIB
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.34
%ASA-6-302020: Built outbound ICMP connection for faddr 194.2.2.2/0 gaddr 195.0.0.3/3 laddr
195.0.0.3/3
ASA# show asp table routing address 194.2.2.0
route table timestamp: 151
in 194.2.2.0 255.255.255.0 via 194.2.0.2, outside2 (resolved, timestamp: 151)
- 35. Протокол маршрутизации BGP
• ASA packet-tracer наглядно демонстрирует процесс определения
выходного интерфейса
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.35
ASA# packet-tracer input dmz icmp 195.0.0.3 8 0 198.3.3.3 detailed
...
Phase: 1
Type: RECURSIVE-ROUTE-LOOKUP
Subtype: Recursive Resolve Egress Interface
Result: ALLOW
Config:
Additional Information:
in 198.3.3.0 255.255.255.0 via 194.1.0.1 (unresolved, timestamp: 149)
Phase: 2
Type: RECURSIVE-ROUTE-LOOKUP
Subtype: Recursive Resolve Egress Interface
Result: ALLOW
Config:
Additional Information:
in 194.1.0.0 255.255.255.0 outside1
Phase: 3
Type: ROUTE-LOOKUP
Subtype: Resolve Egress Interface
Result: ALLOW
Config:
Additional Information:
found next-hop 194.1.0.1 using egress ifc outside1
- 36. Протокол маршрутизации BGP
• Если выходной интерфейс определен, то вывод таков
• В RIB (“show route”) выходной интерфейс не появляется, но он
будет присутствовать в “FIB” (“show asp table routing”)
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.36
BSNS-ASA5545-7# packet-tracer input dmz icmp 195.0.0.3 8 0 194.2.2.2 detailed
...
Phase: 2
Type: ROUTE-LOOKUP
Subtype: Resolve Egress Interface
Result: ALLOW
Config:
Additional Information:
found next-hop 194.2.0.2 using egress ifc outside2
- 37. Масштабируемость BGP на ASA
• Нет жесткого системного лимита на число маршрутов – все
определяется объемом DRAM, но при желании можно задать
лимит на число маршрутов в каждом контексте. ASA не
предназначена для получения BGP full view
• Примеры конфигураций, успешно прошедших тестирование
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.37
class gold
limit-resource routes 5000
context user-context-1
member gold
Platform BGP Peers #Prefixes
5585-60 100 100K
5555 50 15K
5512 20 10K
5505 2 5K
- 38. Масштабируемость BGP на ASA
• Потребление памяти маршрутами различных типов
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.38
ASA# show route summary
IP routing table maximum-paths is 8
Route Source Networks Subnets Replicates Overhead Memory (bytes)
connected 0 10 0 880 2880
static 2 1 0 264 864
ospf 1 0 3 0 352 876
Intra-area: 3 Inter-area: 0 External-1: 0 External-2: 0
NSSA External-1: 0 NSSA External-2: 0
bgp 65000 4 1 0 440 1440
External: 5 Internal: 0 Local: 0
internal 5 2760
Total 11 15 0 1936 8820
- 39. Протокол маршрутизации BGP
• ASA 9.3(1): Non-stop Forwarding (NSF) Support (OSPFv2/3, BGP)
• Пока поддерживается только для IPv4 AF
• По умолчанию механизм выключен
• Значения по умолчанию: restart-time (120) + 240 = 360 (stalepath-
time), т.е. ожидаем подъема всех соседей 120 сек. и затем еще 240
сек., после чего все старые маршруты удаляются
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.39
router bgp 65000
bgp graceful-restart [restart-time <seconds> | stalepath-time <seconds>] [all]
ASA# show bgp neighbors
- 41. Топология
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.41
ISP1
AS65001
OSPF
.2
.254 .3
10.3.3.0/24
198.3.3.0/24
199.3.3.0/24
217.3.3.0/24195.0.0.0/24
192.168.3.0/24
.1.1
.2
.3
.3
10.1.0.0/2410.1.3.0/24
10.2.0.0/24
outside1
outside2
inside1
inside2
10.2.3.0/24
ISP2
AS65002
ISP3
AS65003
AS65000
194.2.3.0/24
194.1.3.0/24
194.1.0.0/24
194.2.0.0/24
.3
194.2.2.0/24
194.1.1.0/24
X
dmz
- 42. ASA Traffic Zones
• Итак, OSPF и BGP настроены, маршруты получены, но будет ли
ходить трафик? Попробуем обратиться во внешний мир из DMZ
• Не работает, т.к. маршрутизация асимметрична. На ASA:
• Но возвращается трафик через интерфейс outside2. На роутере:
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.42
%ASA-6-302013: Built outbound TCP connection 52 for outside1:198.3.3.3/23 (198.3.3.3/23) to
dmz:195.0.0.3/59359 (195.0.0.3/59359)
%ASA-2-106001: Inbound TCP connection denied from 198.3.3.3/23 to 195.0.0.3/59359 flags SYN
ACK on interface outside2
%ASA-6-302014: Teardown TCP connection 52 for outside1:198.3.3.3/23 to dmz:195.0.0.3/59359
duration 0:00:30 bytes 0 SYN Timeout
ASA# show asp table routing address 198.3.3.0
route table timestamp: 151
in 198.3.3.0 255.255.255.0 via 194.1.0.1, outside1 (resolved, timestamp: 151)
B 195.0.0.0/24 [20/0] via 194.2.3.2, 01:27:41
- 43. ASA Traffic Zones
• Настройка Traffic Zones на ASA (9.3(2)+)
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.43
zone zone_in
zone zone_out
interface GigabitEthernet0/1.75
vlan 75
nameif inside1
security-level 100
zone-member zone_in
ip address 10.1.0.254 255.255.255.0
...
interface GigabitEthernet0/1.76
vlan 76
nameif inside2
security-level 100
zone-member zone_in
ip address 10.2.0.254 255.255.255.0
...
interface GigabitEthernet0/1.98
vlan 98
nameif outside1
security-level 0
zone-member zone_out
ip address 194.1.0.254 255.255.255.0
interface GigabitEthernet0/1.99
vlan 99
nameif outside2
security-level 0
zone-member zone_out
ip address 194.2.0.254 255.255.255.0
- 44. ASA Traffic Zones
• Диагностические команды
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.44
ASA# show zone
Zone: zone_out
Security-level: 0
Zone member(s): 2
outside2 GigabitEthernet0/1.99
outside1 GigabitEthernet0/1.98
Zone: zone_in
Security-level: 100
Zone member(s): 2
inside2 GigabitEthernet0/1.76
inside1 GigabitEthernet0/1.75
ASA# show route zone
...
C 10.1.0.0 255.255.255.0 is directly connected, inside1, zone_in
L 10.1.0.254 255.255.255.255 is directly connected, inside1, zone_in
O 10.1.3.0 255.255.255.0
[110/11] via 10.1.0.1, 00:23:01, inside1, zone_in
...
- 45. ASA Traffic Zones и Asymmetric Routing
• Traffic Zones обеспечивают корректную работу в случае
асимметричной маршрутизации: соединение TCP
устанавливается, несмотря на то, что ответ приходит через
outside2
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.45
%ASA-6-302013: Built outbound TCP connection 74 for outside1:198.3.3.3/23 (198.3.3.3/23) to
dmz:195.0.0.3/34967 (195.0.0.3/34967)
ASA# show conn long
...
TCP zone_out:outside1(outside1): 198.3.3.3/23 (198.3.3.3/23) dmz: 195.0.0.3/34967
(195.0.0.3/34967), flags UIO , idle 15s, uptime 21s, timeout 1h0m, bytes 349
- 46. ASA Traffic Zones и ECMP
• После настройки Traffic Zones на ASA в таблице маршрутизации
появился параллельный маршрут OSPF на 10.3.3.0/24
• До 8 параллельных маршрутов (Equal-cost Multipath, ECMP)
• Допускаются различные выходные интерфейсы
• Алгоритм распределения трафика учитывает
• Protocol, SrcIP, DstIP, SrcPort, DstPort
• Входной интерфейс
• Все пакеты соединения идут в один и тот же интерфейс
• Per-connection Load Balancing
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.46
BSNS-ASA5545-7# show route ospf
...
O 10.1.3.0 255.255.255.0 [110/11] via 10.1.0.1, 00:26:35, inside1
O 10.2.3.0 255.255.255.0 [110/11] via 10.2.0.2, 00:26:35, inside2
O 10.3.3.0 255.255.255.0 [110/12] via 10.2.0.2, 00:26:35, inside2
[110/12] via 10.1.0.1, 00:26:35, inside1
- 47. Топология
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.47
ISP1
AS65001
OSPF
.2
.254 .3
10.3.3.0/24
198.3.3.0/24
199.3.3.0/24
217.3.3.0/24195.0.0.0/24
192.168.3.0/24
.1.1
.2
.3
.3
10.1.0.0/2410.1.3.0/24
10.2.0.0/24
outside1
outside2
inside1
inside2
10.2.3.0/24
ISP2
AS65002
ISP3
AS65003
AS65000
194.2.3.0/24
194.1.3.0/24
194.1.0.0/24
194.2.0.0/24
.3
194.2.2.0/24
194.1.1.0/24
PAT в адрес
195.0.1.254
dmz
- 48. ASA Traffic Zones и NAT
• Traffic Zones совместимы с NAT
• При настройке всех фич указываются имена интерфейсов, а не имена зон
• Рекомендуется одинаковая настройка интерфейсов в зоне
• При натировании в провайдерозависимый IP прозрачный переход
соединения на др. интерфейс будет невозможен из-за ISP uRPF
• Проанонсируем наш провайдеронезависимый пул NAT
195.0.1.0/24 провайдерам по BGP
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.48
route dmz 192.168.3.0 255.255.255.0 195.0.0.3 1
route Null0 195.0.1.0 255.255.255.0 1
prefix-list net-195.0.1.0 seq 5 permit 195.0.1.0/24
route-map net-195.0.1.0 permit 10
match ip address prefix-list net-195.0.1.0
router bgp 65000
address-family ipv4 unicast
redistribute static route-map net-195.0.1.0
Пример использования интерфейса Null0
- 49. ASA Traffic Zones и NAT
• Настроим динамический PAT для сети 192.168.3.0/24,
расположенной с т.зр. ASA за dmz-интерфейсом, в 195.0.1.254
• В данном случае правило NAT можно было записать и иначе
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.49
object network obj-192.168.3.0
subnet 192.168.3.0 255.255.255.0
object network obj-195.0.1.254
host 195.0.1.254
nat (dmz,outside1) source dynamic obj-192.168.3.0 obj-195.0.1.254
nat (dmz,outside2) source dynamic obj-192.168.3.0 obj-195.0.1.254
nat (dmz,any) source dynamic obj-192.168.3.0 obj-195.0.1.254
- 50. ASA Traffic Zones и соединения
• Создание соединения и записи в таблице NAT
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.50
%ASA-6-305011: Built dynamic TCP translation from dmz:192.168.3.3/30767 to
outside1:195.0.1.254/30767
%ASA-6-302013: Built outbound TCP connection 80 for outside1:198.3.3.3/23 (198.3.3.3/23) to
dmz:192.168.3.3/30767 (195.0.1.254/30767)
ASA# show conn long
...
TCP zone_out:outside1(outside1): 198.3.3.3/23 (198.3.3.3/23) dmz: 192.168.3.3/30767
(195.0.1.254/30767), flags UxIO , idle 10s, uptime 13s, timeout 1h0m, bytes 120, xlate id
0x7efff4444a80
ASA# show xlate
...
TCP PAT from dmz:192.168.3.3/30767 to outside1:195.0.1.254/30767 flags ri idle 0:00:29
timeout 0:00:30
- 51. ASA Traffic Zones и соединения
• При изменении маршрутизации в момент передачи следующего
пакета данного соединения происходит следующее
• В выводе “show xlate” выходной интерфейс не изменился, хотя
соединение работает через новый интерфейс outside2
• Это нормально. PAT работает, трафик не прерывается
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.51
%ASA-6-110004: Egress interface changed from outside1 to outside2 on TCP connection 80 for
zone_out/outside1:198.3.3.3/23 (198.3.3.3/23) to dmz/dmz:192.168.3.3/30767
(195.0.1.254/30767)
ASA# show conn long
...
TCP zone_out:outside1(outside2): 198.3.3.3/23 (198.3.3.3/23) dmz: 192.168.3.3/30767
(195.0.1.254/30767), flags UxIO , idle 14s, uptime 11m20s, timeout 1h0m, bytes 184, xlate
id 0x7efff4444a80
ASA# show xlate detail
...
TCP PAT from dmz:192.168.3.3/30767 to outside1:195.0.1.254/30767 flags ri idle 0:12:21
timeout 0:00:30 refcnt 1 xlate id 0x7efff4444a80
Интерфейс не изменился
Исходный выходной интерфейс: outside1
Текущий выходной интерфейс: outside2
- 52. Топология
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.52
ISP1
AS65001
OSPF
.2
.254 .3
10.3.3.0/24
198.3.3.0/24
199.3.3.0/24
217.3.3.0/24195.0.0.0/24
192.168.3.0/24
.1.1
.2
.3
.3
10.1.0.0/2410.1.3.0/24
10.2.0.0/24
outside1
outside2
inside1
inside2
10.2.3.0/24
ISP2
AS65002
ISP3
AS65003
AS65000
194.2.3.0/24
194.1.3.0/24
194.1.0.0/24
194.2.0.0/24
.3
194.2.2.0/24
194.1.1.0/24
PAT в адрес
195.0.1.254
Static NAT для
10.3.3.3
Static NAT для
192.168.3.3
dmz
- 53. ASA Traffic Zones
• Пример настройки статического NAT и динамического PAT для
inside и dmz-интерфейсов совместно с Traffic Zones
• При такой настройке:
• Допускается асимметричная маршрутизация, как со стороны inside, так и
со стороны outside
• Входящие соединения балансируются ECMP в один из inside-интерфейсов
при одновременной работе статического NAT (195.0.1.33 -> 10.3.3.3)
• При изменении маршрутизации, как со стороны inside, так и со стороны
outside, соединения не прерываются (если не отвалятся за время,
необходимое IGP/BGP на перестроение маршрутов)
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.53
object-group network DMZ-and-INSIDE
network-object object obj-192.168.3.0
network-object object obj-10.3.3.0
nat (dmz,any) source static obj-192.168.3.3 obj-195.0.1.3
nat (any,any) source static obj-10.3.3.3 obj-195.0.1.33
nat (any,any) source dynamic DMZ-and-INSIDE obj-195.0.1.254
- 54. ASA Traffic Zones
• Основные ограничения:
• Алгоритм балансировки не имеет параметров настройки
• Пропускная способность интерфейсов не принимается во внимание
• Пока отсутствует команда “maximum-path” для протоколов OSPF и EIGRP
• Нет удобных средств мониторинга распределения трафика
• Информация packet-tracer и trace capture может быть неточна
• QoS policing пока не поддерживается
• VPN пока не поддерживается на интерфейсах, входящих в зону
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.54
ASA(config)# crypto ikev1 enable outside1
ERROR: Crypto features are not supported on zone interfaces.
ASA(config)# webvpn
ASA(config-webvpn)# enable outside1
ERROR: Crypto features are not supported on zone interfaces.
ASA(config)# service-policy QoS interface outside1
ERROR: Policy-map with police configured cannot be attached to zone interface (outside1).
For your
reference
- 56. Правила маршрутизации трафика
• При принятии решения о том, куда передавать транзитный
трафик, ASA учитывает ряд факторов:
• Наличие записи в таблице соединений
• Используются ли Traffic Zones
• Необходимо ли выполнить трансляцию Destination IP Address
• Наличие правил Policy-based Routng
• Маршруты в таблице маршрутизации, в т.ч. наличие маршрутов с худшей
административной дистанцией при использовании плавающих статических
маршрутов с опцией “track” (Tracked Static Routes)
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.56
- 57. Правила маршрутизации трафика
• При наличии записи в таблице соединений ASA ожидает трафик и
передает его через те интерфейсы, которые указаны в
соединении
• При смене выходного интерфейса в результате изменения таблицы
маршрутизации соединения либо повисают, либо удаляются, что зависит
от версии
• В версиях 8.0(5), 8.2(4) и более новых соединения удаляются после смены
выходного интерфейса в момент прихода следующего пакета, благодаря
исправлению CSCso42904, после чего необходимо открыть новое
соединение
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.57
%ASA-6-110003: Routing failed to locate next hop for TCP from inside1:10.3.3.3/49346 to
outside1:217.3.3.3/23
%ASA-6-302014: Teardown TCP connection 9 for outside1:217.3.3.3/23 to
inside1:10.3.3.3/49346 duration 0:01:40 bytes 83 Flow closed by inspection
ASA# show asp drop
Frame drop:
No valid adjacency (no-adjacency)
- 58. Правила маршрутизации трафика
• Как мы уже знаем, удаления соединения при смене выходного
интерфейса не происходит при использовании Traffic Zones
• Вместо этого соединение переходит на др. интерфейс в зоне
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.58
%ASA-6-305011: Built dynamic TCP translation from dmz:192.168.3.33/55219 to
outside2:195.0.1.254/55219
%ASA-6-302013: Built outbound TCP connection 168 for outside2:198.3.3.3/80 (198.3.3.3/80)
to dmz:192.168.3.33/55219 (195.0.1.254/55219)
%ASA-6-110004: Egress interface changed from outside2 to outside1 on TCP connection 168 for
zone_out/outside2:198.3.3.3/80 (198.3.3.3/80) to dmz/dmz:192.168.3.33/55219
(195.0.1.254/55219)
- 59. Правила маршрутизации трафика
• Удаление соединения при смене выходного интерфейса также не
происходит при переключении с резервного на основной
интерфейс при использовании Tracked Static Routes
• Пример настройки Tracked Static Routes
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.59
sla monitor 1
type echo protocol ipIcmpEcho 194.1.0.1 interface outside1
timeout 1000
frequency 30
sla monitor schedule 1 life forever start-time now
track 1 rtr 1 reachability
route outside1 199.3.3.0 255.255.255.0 194.1.0.1 1 track 1
route outside2 199.3.3.0 255.255.255.0 194.2.0.2 200
Основной маршрут через интерфейс “outside1”
Запасной маршрут через “outside2”, AD 200
- 60. Правила маршрутизации трафика
• Если провайдер 194.1.0.1 стал недоступен, то маршрут через
интерфейс outside1 удаляется, как из RIB, так и из “FIB”
• Новое соединение открывается через интерфейс outside2
• После восстановления работоспособности провайдера это
соединение продолжит работать через outside2, поскольку
маршрут через outside2 с AD 200 остается в “FIB”
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.60
%ASA-6-302013: Built outbound TCP connection 305 for outside2:199.3.3.3/23 (199.3.3.3/23) to dmz:
192.168.3.33/38613 (195.0.1.254/38613)
ASA# show conn long
...
TCP outside2: 199.3.3.3/23 (199.3.3.3/23) dmz: 192.168.3.33/38613 (195.0.1.254/38613), flags UxIO , idle 20s,
uptime 57s, timeout 1h0m, bytes 216, xlate id 0x7efff4444080
ASA# show route | i 199.3.3.0
S 199.3.3.0 255.255.255.0 [1/0] via 194.1.0.1, outside1
ASA# show asp table routing address 199.3.3.0 netmask 255.255.255.0
route table timestamp: 439
in 199.3.3.0 255.255.255.0 via 194.1.0.1, outside1
out 199.3.3.0 255.255.255.0 via 194.2.0.2, outside2
out 199.3.3.0 255.255.255.0 via 194.1.0.1, outside1
Через “outside2”, несмотря на AD 200
Только через “outside1”, т.к. меньше AD
- 61. Правила маршрутизации трафика
• Этот механизм хранения суб-оптимальных маршрутов в “FIB” был
специально разработан для Tracked Static Routes и является
уникальным для ASA
• “Прилипание” соединений к backup-интерфейсу не всегда
желательно, поэтому в версиях 8.2(5), 8.3(3), 8.4(2) и
последующих появилась возможность принудительно завершать
такие соединения через определенное время (исправление
CSCsy19222)
• Данный механизм выключен по умолчанию (“timeout floating-conn 0:00:00”)
• Если его включить, то при удалении соединения мы увидим:
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.61
timeout floating-conn 0:00:30
%ASA-6-302014: Teardown TCP connection 305 for outside2:199.3.3.3/23 to dmz:
192.168.3.33/38613 duration 0:01:05 bytes 216 Flow terminated due to route change
- 62. Правила маршрутизации трафика
• Итак, соединение всегда имеет приоритет при определении
выходного интерфейса. При изменении маршрутизации
соединение может:
• Либо перейти на новый интерфейс (Traffic Zones)
• Либо остаться на старом интерфейсе (обратное переключение на primary-
интерфейс в сл. Tracked Static Routes)
• Либо оно будет удалено
• Если соединение еще не создано, то выходной интерфейс для него
определяется:
• Либо настройкой NAT
• Либо правилами PBR
• Либо таблицей маршрутизации
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.62
- 63. NAT и Routing: кто сильнее, кит или слон?
• NAT “вмешивается” в маршрутизацию только в тех случаях, когда
выполняется преобразование Destination IP
• Как в случае x.x.x.x -> y.y.y.y
• Так и в случае x.x.x.x -> x.x.x.x (в большинстве версий)
• Трансляция Destination IP, или UNNAT, выполняется, например:
• При получении ответа на запрос, в котором натировался Source IP
• При обращении извне на глобальный адрес в правиле Static NAT
• При наличии в правиле NAT ключа “destination” (aka Policy NAT)
• В этих случаях NAT “сильнее” маршрутизации, т.е. именно он определяет
выходной интерфейс создаваемого соединения
• Маршрутизация затем должна “подтвердить”, что через выбранный
интерфейс есть маршрут до денатированного Destination IP, иначе:
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.63
%ASA-6-110003: Routing failed to locate next hop for TCP from outside:x.x.x.x/xxxxx to
inside:y.y.y.y/yy
- 64. NAT и Routing: кто сильнее, кит или слон?
• Определение выходного интерфейса с помощью NAT получило название
NAT Divert
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.64
nat (inside1,any) source static obj-10.3.3.3 obj-195.0.1.33
nat (inside2,any) source static obj-10.3.3.3 obj-195.0.1.33
access-list outside_in extended permit tcp any host 10.3.3.3 eq telnet
access-group outside_in in interface outside1
access-group outside_in in interface outside2
ASA# packet-tracer input outside2 tcp 194.2.3.3 12345 195.0.1.33 23 detailed
...
Phase: 3
Type: UN-NAT
Subtype: static
Result: ALLOW
Config:
nat (inside1,any) source static obj-10.3.3.3 obj-195.0.1.33
Additional Information:
NAT divert to egress interface inside1
Untranslate 195.0.1.33/23 to 10.3.3.3/23
- 65. Топология
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.65
ISP1
AS65001
OSPF
.2
.254 .3
10.3.3.0/24
198.3.3.0/24
199.3.3.0/24
217.3.3.0/24195.0.0.0/24
192.168.3.0/24
.1.1
.2
.3
.3
10.1.0.0/2410.1.3.0/24
10.2.0.0/24
outside1
outside2
inside1
inside2
10.2.3.0/24
ISP2
AS65002
ISP3
AS65003
AS65000
194.2.3.0/24
194.1.3.0/24
194.1.0.0/24
194.2.0.0/24
.3
194.2.2.0/24
194.1.1.0/24
Static NAT для
10.3.3.3 в адрес
195.0.1.33
???
???
- 66. NAT и Routing: кто сильнее, кит или слон?
• Подобное “вмешательство” NAT в дела маршрутизации может иногда
создавать проблемы
• SYN, пришедший на 195.0.1.33 извне на интерфейс outside2, будет
денатирован в 10.3.3.3. В качестве выходного интерфейса NAT выберет
inside1 (по первому правилу NAT)
• Если маршрут в этот момент времени показывает через inside2, то:
• Этого, к счастью, не происходит при использовании Traffic Zones
• В этом сл. код маршрутизации переопределяет решение NAT о выборе
выходного интерфейса с inside1 на inside2, т.к. inside1 и inside2 находятся в
одной зоне
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.66
nat (inside1,any) source static obj-10.3.3.3 obj-195.0.1.33
nat (inside2,any) source static obj-10.3.3.3 obj-195.0.1.33
ASA# show route ospf
...
O 10.3.3.0 255.255.255.0 [110/12] via 10.2.0.2, 00:02:03, inside2
%ASA-6-110003: Routing failed to locate next hop for TCP from outside2:198.3.3.3/50018 to
inside1:10.3.3.3/23
- 67. NAT и Routing: кто сильнее, кит или слон?
• NAT Divert можно отменить в некоторых случаях
• Воспользовавшись опцией “route-lookup” в правилах NAT
• Но эта опция принимается CLI только при трансляции DstIP x.x.x.x в x.x.x.x
(т.н. Static Identity NAT)
• Указав “any” в качестве выходного интерфейса (по отношению к
направлению, в котором производится трансляция Destination IP)
• Т.о., если бы со стороны inside не были настроены Traffic Zones,
необходимо было бы сконфигурировать статический NAT так:
• Вместо:
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.67
nat (any,any) source static obj-10.3.3.3 obj-195.0.1.33
nat (inside1,any) source static obj-10.3.3.3 obj-195.0.1.33
nat (inside2,any) source static obj-10.3.3.3 obj-195.0.1.33
- 69. Топология
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.69
ISP1
AS65001
OSPF
.2
.254 .3
10.3.3.0/24
198.3.3.0/24
199.3.3.0/24
217.3.3.0/24195.0.0.0/24
192.168.3.0/24
.1.1
.2
.3
.3
10.1.0.0/2410.1.3.0/24
10.2.0.0/24
outside1
outside2
inside1
inside2
10.2.3.0/24
ISP2
AS65002
ISP3
AS65003
AS65000
194.2.3.0/24
194.1.3.0/24
194.1.0.0/24
194.2.0.0/24
.3
194.2.2.0/24
194.1.1.0/24
TCP/80
Весь остальной
трафик
dmz
- 70. Симуляция PBR с помощью NAT
• Данную особенность NAT, самостоятельно определять выходной интерфейс,
иногда используют для “симуляции” PBR в более старых версиях ПО
• В данном случае трафик из сети 192.168.3.0/24 на любой IP по порту 80
будет принудительно направлен NAT в интерфейс outside2
• Это не работает совместно с Traffic Zones
• Это не работает в некоторых версиях
• Так делать не рекомендуется, т.к. можно столкнуться с побочными эффектами
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.70
object network obj-any
subnet 0.0.0.0 0.0.0.0
object service tcp-dst-80
service tcp destination eq www
nat (dmz,any) source static obj-192.168.3.3 obj-195.0.1.3
nat (dmz,outside2) source dynamic obj-192.168.3.0 obj-195.0.1.254 destination static obj-
any obj-any service tcp-dst-80 tcp-dst-80
nat (dmz,any) source dynamic obj-192.168.3.0 obj-195.0.1.254
- 71. Policy-based Routing
• ASA 9.4(1): PBR for IPv4
• ASA 9.5(1): PBR for IPv6, IDFW, SGT
• На ASA перенесена фунциональность PBR из Cisco IOS
• PBR – это разновидность маршрутизации с т.зр. взаимодействия с
NAT, поэтому все сказанное о NAT Divert ранее остается в силе
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.71
route-map <name> {permit | deny} <number>
match ip address <ACL>
set ip dscp <value>
set ip df {0 | 1}
set ip next-hop verify-availability <ip> <seq> track <1-500>
set ip next-hop <ip1> ... <ipn>
set ip next-hop recursive <ip>
set interface <intf1> ... <intfn>
set ip default next-hop <ip1> ... <ipn>
set default interface Null0
interface ...
policy-route route-map <name>
Команды “set” перечислены в
порядке убывания приоритета
Стандартный или расширенный ACL
Стандартный сопоставляет по DstIP
Входной интерфейс
- 72. Policy-based Routing
• Пример настройки PBR на ASA
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.72
access-list PBR extended permit tcp 192.168.3.0 255.255.255.0 any eq www
route-map PBR permit 10
match ip address PBR
set ip next-hop 194.2.0.2
interface GigabitEthernet0/1.28
vlan 28
nameif dmz
security-level 50
ip address 195.0.0.254 255.255.255.0
policy-route route-map PBR
- 73. Policy-based Routing
• Проверка
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.73
ASA# show asp table routing address 198.3.3.0
route table timestamp: 365
in 198.3.3.0 255.255.255.0 via 194.1.0.1, outside1 (resolved, timestamp: 362),
zone_out
ASA# packet-tracer input dmz tcp 192.168.3.0 12345 198.3.3.3 80 detailed
...
Phase: 2
Type: PBR-LOOKUP
Subtype: policy-route
Result: ALLOW
Config:
route-map PBR permit 10
match ip address PBR
set ip next-hop 194.2.0.2
Additional Information:
Matched route-map PBR, sequence 10, permit
Found next-hop 194.2.0.2 using egress ifc outside2
- 74. Policy-based Routing
• Основные ограничения:
• “set ip next-hop verify-availability” не поддерживается в мультиконтекстном
режиме из-за отсутствия поддержки IP SLA
• Соединения не реагируют на смену состояния IP SLA и tracking object в
случае “set ip next-hop verify-availability” и повисают (в т.ч. и при настройке
Traffic Zones)
• В некоторых сценариях команда “set ip next-hop” определяет выходной
интерфейс, а не next-hop – PBR может работать некорректно в топологии с
несколькими next-hop на одном и том же интерфейсе, поскольку next-hop в
этом случае определяется по таблице маршрутизации после того, как PBR
выбрал выходной интерфейс
• Нулевые счетчики в выводе “show route-map”
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.74
For your
reference
- 76. Management “VRF”
• ASA 9.5(1): Separate Routing Table for Management Traffic
• Отдельная RIB и “FIB” для интерфейсов с “management-only”
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.76
ASA# show ip
System IP Addresses:
Interface Name IP address Subnet mask Method
GigabitEthernet0/1.28 dmz 195.0.0.254 255.255.255.0 CONFIG
GigabitEthernet0/1.75 inside1 10.1.0.254 255.255.255.0 CONFIG
GigabitEthernet0/1.76 inside2 10.2.0.254 255.255.255.0 CONFIG
GigabitEthernet0/1.98 outside1 194.1.0.254 255.255.255.0 CONFIG
GigabitEthernet0/1.99 outside2 194.2.0.254 255.255.255.0 CONFIG
Management0/0 mgmt 10.48.66.140 255.255.254.0 CONFIG
ASA# show route 10.48.66.0 255.255.254.0
% Subnet not in table
ASA# show route management-only
...
S* 0.0.0.0 0.0.0.0 [1/0] via 10.48.66.1, mgmt
C 10.48.66.0 255.255.254.0 is directly connected, mgmt
L 10.48.66.140 255.255.255.255 is directly connected, mgmt
Static routing & IGP
- 77. Management “VRF”
• В команде “copy” необходимо использовать имя интерфейса
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.77
ASA# copy mgmt running-config ftp://tftp:cisco123@10.48.90.100/BSNS-ASA5545-7.cfg
Source filename [running-config]?
Address or name of remote host [10.48.90.100]?
Destination username [tftp]?
Destination password [cisco123]?
Destination filename [BSNS-ASA5545-7.cfg]?
Cryptochecksum: a19b947c b9c0dff4 ea90a083 b6f535b2
%ASA-6-302013: Built outbound TCP connection 177 for mgmt:10.48.90.100/21 (10.48.90.100/21)
to identity:10.48.66.140/36001 (10.48.66.140/36001)
%ASA-6-302013: Built outbound TCP connection 178 for mgmt:10.48.90.100/55779
(10.48.90.100/55779) to identity:10.48.66.140/62554 (10.48.66.140/62554)
%ASA-6-302014: Teardown TCP connection 178 for mgmt:10.48.90.100/55779 to identity:
10.48.66.140/62554 duration 0:00:00 bytes 6596 TCP FINs
6596 bytes copied in 0.770 secs
- 78. Management “VRF”
• Взаимодействие “Management VRF” и команды “management-
access”
• Команда “management-access inside” позволяет обращаться на заданный
интерфейс по telnet, ssh и т.д., если соединение приходит по VPN на один
из внешних интерфейсов ASA
• Эта команда также позволяет генерировать трафик с SrcIP, взятым с этого
интерфейса, и пересылать его по VPN, что полезно, например, для
передачи syslog или запросов RADIUS/TACACS+ в центральный офис
• Начиная с 9.5(1) исходящие соединения не работают, если в качестве
management-access-интерфейса задан интерфейс в “Management VRF”,
например m0/0
• Это связано с тем, что “VRF” m0/0 не совпадает с “VRF” интерфейса, на
котором терминируется VPN
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.78
For your
reference
- 79. Новые возможности NAT, Carrier Grade NAT
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.79
- 80. Per-session PAT
• ASA 9.0(1): Per-session PAT
• Это важнейший механизм масштабируемости
• Без per-session PAT записи NAT живут в таблице трансляций еще
по кр. мере 30 сек. по завершении соединения
• Это означает, что максимальная пропускная способность
устройства составляет примерно 2000 соединений TCP в сек.
(65535 conn / 30 secs), если пул PAT состоит из одного адреса
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.80
ASA# show run timeout
...
timeout pat-xlate 0:00:30
ASA(config)# timeout pat-xlate ?
configure mode commands/options:
<0:0:30> - <0:5:0> Idle time after which a dynamic port will be returned to the free PAT
pool, default is 0:00:30
- 81. Per-session PAT
• С Per-session PAT записи удаляются немедленно по завершении
соединения, а инициатору соединения посылается TCP RST, что
может помочь избежать на нем состояния TIME_WAIT
• При обновлении с версий 8.x механизм будет выключен по
умолчанию в конфигурации
• Команды настройки позволяют включать и отключать его
гранулярно для определенных протоколов и портов
• Это может быть полезно при доступе в Internet через proxy-сервер, если
ASA успевает выделить тот же самый номер порта новому соединению,
что у одного из предыдущих, которое еще висит на proxy-сервере в
состоянии TIME_WAIT или подобном
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.81
xlate per-session permit tcp any4 any4
xlate per-session permit tcp any4 any6
xlate per-session permit tcp any6 any4
xlate per-session permit tcp any6 any6
xlate per-session permit udp any4 any4 eq domain
xlate per-session permit udp any4 any6 eq domain
xlate per-session permit udp any6 any4 eq domain
xlate per-session permit udp any6 any6 eq domain
- 82. Carrier Grade NAT
• ASA 9.5(1): CGNAT Phase1
• ASA 9.5(2): CGNAT Phase2 (поддержка failover и clustering)
• Идея CGNAT – в выделении блоков портов, а не отдельных портов
TCP или UDP, что облегчает логирование (СОРМ)
• По умолчанию блок состоит из 512 портов и один хост может
выделить до 4-х блоков. Блоки закрепляются за хостами и
освобождаются, когда хост завершает все свои соединения
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.82
xlate block-allocation size 64
xlate block-allocation maximum-per-host 8
object-group network DMZ-and-INSIDE
network-object object obj-192.168.3.0
network-object object obj-10.3.3.0
object network PAT-pool
range 195.0.1.128 195.0.1.255
nat (any,any) source dynamic DMZ-and-INSIDE pat-pool PAT-pool block-allocation
- 83. Carrier Grade NAT
• Проверка. В блоке порты выделяются случайным образом
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.83
%ASA-6-305014: Allocated TCP block of ports for translation from any:10.3.3.33 to any:195.0.1.128/1536-1599
%ASA-6-302013: Built outbound TCP connection 179 for outside1:198.3.3.3/23 (198.3.3.3/23) to
inside1:10.3.3.33/39760 (195.0.1.128/1597)
%ASA-6-305014: Allocated TCP block of ports for translation from any:192.168.3.33 to any:
195.0.1.128/6976-7039
%ASA-6-302013: Built outbound TCP connection 180 for outside2:198.3.3.3/80 (198.3.3.3/80) to dmz:
192.168.3.33/24738 (195.0.1.128/7017)
ASA# show nat pool
...
TCP PAT pool any:PAT-pool, address 195.0.1.128, range 1024-65535, allocated 2
ASA# show xlate detail
...
TCP PAT from any:10.3.3.33/39760 to any:195.0.1.128/1597 flags ri idle 0:02:35 timeout 0:00:30 refcnt 1 xlate
id 0x7efff4444480
TCP PAT from any:192.168.3.33/24738 to any:195.0.1.128/7017 flags ri idle 0:00:41 timeout 0:00:30 refcnt 1
xlate id 0x7efff4444280
%ASA-6-305015: Released TCP block of ports for translation from any:192.168.3.33 to any:195.0.1.128/6976-7039
- 84. Ждем ваших сообщений с хештегом
#CiscoConnectRu
CiscoRu Cisco CiscoRussia CiscoRu
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.