Cisco SD-WAN NAT

A Cisco (Viptela) SD-WAN esetében a routerek között alapesetben full mesh IPSec kapcsolat épül ki. Ennek sikerességére nagy befolyással van a NAT, hiszen nem minden esetben lehet sikeres az IPSec felépítése.
A vSmart és WAN Edge eszközök között OMP kapcsolat épül ki, amely három típusú route-t hirdet:
  • TLOC route
  • OMP route (vRoute)
  • Service route
 
 
STUN
 
A TLOC route tartalmazza az adott cEdge privát és publikus IP-jét és portját (amelyet a vBond kontrollertől ismer, STUN segítségével). Ezeket az információkat a vEdge OMP-n keresztül elküldi a vSmart felé, amely továbbítja azt a többi WAN Edge felé (reflector).
 
Abban az esetben, ha a WAN Edge NAT mögött helyezkedik el kiemelten fontos vizsgálni a privát és publikus információkat, amelyeket a TLOC route tartalmaz és itt kapnak jelentőséget a privát és publikus color értékek is.
 
A STUN (NAT-T) koncepciót az alábbi ábra szemlélteti.
 
Amennyiben nincs NAT a vBond visszaküldi az információt, hogy a privát és publikus IP és port ugyanaz.
 
 
 
Amennyiben NAT történik a vBond visszaküldi a privát és public IP-t és portot a WAN Edge eszköznek.
 
 
 
 
NAT típusok
 
Az SD-WAN működésében négy NAT típust különböztetünk meg:
 
  1. Full Cone NAT
  2. Symmetric NAT
  3. Address restricted NAT
  4. Port Restricted NAT
 
 
1. Full Cone NAT (static NAT, 1:1 NAT)
 
Full Cone NAT esetében az adott privát IP-t adott publikus IP-re NAT-oljuk, azaz 1:1 megfeleltetés van a kettő között (static NAT).
 
A NAT szabály konfigurálása után bármely külső host bármelyik porton eléri a belső eszközt.
 
A koncepciót az alábbi ábra szemlélteti.
 
 
 
2. Address-restricted NAT
 
Address-restricted NAT esetén csak az a külső hoszt kommunikálhat a belső hoszttal, amely felé a kommunikáció belülről indult. A kommunikáció bármely portról engedélyezett.
 
A koncepció az alábbi ábrán látható.
 
 
 
3. Port-restricted NAT (PAT)
 
Port-restricted NAT esetében a külső hoszt csak arról a portról kommunikálhat a belső hoszttal, amely a NAT dst portja volt és amennyiben a belső hoszt kezdeményezte a kommunikációt. Ezt a NAT típust hívjuk még PAT (Port Address Translation)-nak is.
 
 
4. Symmetric NAT (PAT + port randomization)
 
Ennél a NAT fajtánál csak az a külső host adott portról kommunikálhat a belső hoszttal, amely felé belülről indult a kommunikáció. Minden L4 session külön portszámot kap NAT során (portszám generálás).
 
A koncepció az alábbi ábrán látható.
 
 
 
NAT-T (NAT traversal)
 
A vBond kontrollernek kiemelt szerepe van a NAT detektálásában az onboarding során (NAT traversal, STUN).
 
Fontos tudni, hogy mindig a WAN Edge-k kezdeményezik a kommunikációt a kontrollerek felé. Ez NAT szempontjából azt jelenti, hogy a NAT szabály célja valamelyik kontroller IP-je ebben a fázisban.
 
Az alábbi ábrán két full cone NAT mögött lévő router látható. A WAN Edge csak a vBond felé kommunikált eddig, ezért a NAT szabályban annak a címe szerepel, a másik WAN Edge felé nincs élő NAT rule.
 
Mivel bármely külső host bármely portról kommunikálhat belefelé ezért az IPSec Tunnel sikeresen felépül.
 
Az alábbiak szerint épül fel az IPSec kapcsolat:
  1. WAN Edge #1 és WAN Edge #”2 onboarding során csatlakozik a vBond kontrollerhez. A vBond STUN segítségével detektálja, hogy az IP headerben és payloadban eltérő címek vannak, ebből következik, hogy a routerek NAT mögött vannak.
  2. A vBond a post-NAT (public) IP-ket és portokat visszaküldi a WAN Edge-knek
  3. WAN Edge #1 és WAN Edge #2 a private és public IP-ket és portokat elküldi a vSmart-nak, hiszen ezek részei a TLOC-nak.
  4. A vSmart ezeket továbbítja a WAN Edge-knek
  5. WAN Edge #1 és #2 rendelkezik a másik router privát és public IP-jével a vSmart-tól kapott TLOC-ból, és mivel alapértelmezetten full-mesh IPSec épül ki az eszközök között ezért megpróbálnak kapcsolatot felépíteni. Mivel a VPN 0 kapcsolatokon publikus color van konfigurálva ezért a forrás és cél IP is a post-NAT IP lesz.
  6. Mivel full cone NAT van használatban ezért bármelyik külső hoszt kezdeményezhet befelé kapcsolatot, így az IPSec Tunnel ki tud épülni.
 
 
Private color esetében feltételezzük, hogy nincs NAT használatban. Privát és publikus színek közötti tunnel esetében a publikus IP-t használjuk forrásként/célként.
 
 
 
 
Az alábbi ábrán szintén egy sikeres IPSec kapcsolatot látunk, de csak azért, mert az egyik router („WAN Edge #1”) full cone NAT mögött helyezkedik el. Mivel „WAN Edge #2” router a vBond felé kommunikált ezért arra az IP/port párosra van NAT szabály a táblában, „WAN Edge #1” router ezért hiába próbál IPSec kapcsolatot építeni, az sikertelen lesz, hiszen symmetric NAT esetében csak adott host adott forrás portról kezdeményezhet befelé kommunikációt, amely ez esetben a vBond kontroller lenne.
 
Mivel „A” router full cone NAT mögött helyezkedik el ezért „B” router kapcsolódási kísérlete sikeres lesz és a Tunnel felépül.
 
 
 
 
A fentiek alapján az alábbi mátrix határozható meg: