Comments 6
т.е. вы потратили очень много денег на DNAC и ISE а потом оказалось что можно избавиться от них с помошью бесплатного ансибл и фрирадиус.
Как человек, который занимался внедрением DNAC и сопутствующих компонентов, могу сказать, что Вы проделали монументальную работу =)
Спасибо). Основной целью данной статьи имел поделиться с сообществом результатом. Хотелось показать, что искуственно созданные проблемы решаемы и зачастую без особого ущерба функциональности.
Могли бы прояснить про хак с NHRP? как выглядит конфиг при этом?
И SXPv5 не решает ли эту проблему? в нем есть поддержка VRF
Извините, вопрос заметил спустя почти год.
В качестве ответа приведу обезличенный шаблон jinja2
Сам по себе SXPv5 проблему не решает так как в нужном VRF по умолчанию нет нужного интерфейса с которого можно было бы построить сессию SXP.
Ну и в целом вся конфига строится такими шаблонами и легко автоматизируется
{% if switch.role!="msmr" and switch.role!="spine" %}
interface Tunnel100
vrf forwarding VRF_MAIN
ip address 10.1.16.{{switch.mgma.split('.')|last}} 255.255.255.0
ip nhrp map 10.1.16.9 10.1.13.9
ip nhrp map multicast 10.1.13.9
ip nhrp network-id 1
ip nhrp nhs 10.1.13.9
cdp enable
no cts role-based enforcement
tunnel source Loopback0
tunnel destination 10.1.13.9
!
interface Tunnel200
vrf forwarding VRF_MAIN
ip address 10.1.17.{{switch.mgma.split('.')|last}} 255.255.255.0
ip nhrp map 10.1.17.8 10.1.13.8
ip nhrp map multicast 10.1.13.8
ip nhrp network-id 2
ip nhrp nhs 10.1.13.8
cdp enable
no cts role-based enforcement
tunnel source Loopback0
tunnel destination 10.1.13.8
!
cts sxp enable
cts sxp default password {{KEY_SXP}}
cts sxp connection peer 10.1.16.9 source 10.1.16.{{switch.mgma.split('.')|last}} password default mode local speaker hold-time 0 vrf VRF_MAIN
cts sxp connection peer 10.1.17.8 source 10.1.17.{{switch.mgma.split('.')|last}} password default mode local speaker hold-time 0 vrf VRF_MAIN
!
{% endif %}
{% if switch.role=="msmr" %}
{% if switch.mgma=="10.1.13.8"%}
{% set tu_num = '200' %}
{% set tu_pref = '10.1.17.' %}
{% set tu_nid = '2' %}
{% endif %}
{% if switch.mgma=="10.1.13.9"%}
{% set tu_num = '100' %}
{% set tu_pref = '10.1.16.' %}
{% set tu_nid = '1' %}
{% endif %}
!
cts sxp default source-ip {{switch.mgma}}
!
interface Tunnel{{tu_num}}
vrf forwarding VRF_MAIN
ip address {{tu_pref}}{{switch.mgma.split('.')|last}} 255.255.255.0
no ip redirects
{% for sw in switches %}
{% if sw.role!="msmr" %}
ip nhrp map {{tu_pref}}{{sw.mgma.split('.')|last}} 10.1.13.{{sw.mgma.split('.')|last}}
{% endif %}
{% endfor %}
ip nhrp network-id {{tu_nid}}
tunnel source Loopback0
tunnel mode gre multipoint
!
cts sxp enable
cts sxp default password {{KEY_SXP}}
{% for sw in switches %}
{% if sw.role!="msmr"%}
cts sxp connection peer {{tu_pref}}{{sw.mgma.split('.')|last}} source {{tu_pref}}{{switch.mgma.split('.')|last}} password default mode local listener hold-time 0 0 vrf VRF_MAIN
{% endif %}
{% endfor %}
{% endif %}
SD-Access без DNAC и ISE