Azure NVA-inspeksie: waarom die antwoord deur ’n ander firewall gaan
Route Server deel twee gelyke paaie uit en niks anders nie. Wanneer die antwoord ’n ander toestel kies, het daardie sessie geen toestand daar nie en sterf die vloei.
’n Vloei van die tak na Azure kan in albei rigtings korrek gerouteer word en steeds misluk, want die twee rigtings gebruik verskillende toestelle. Die versoek verlaat die tak oor die VPN, beland op NVA A en bereik die werklading. Die antwoord verlaat die werklading, pas ’n roete wat na NVA B wys en sterf daar. Elke roete in daardie prentjie is geldig, en die TCP-sessie is steeds stukkend.
Request: branch -> VPN gateway -> NVA A -> workload
Reply: workload -> NVA B -> VPN gateway -> branch
Daardie gaping is die hele onderwerp hier: roete-konvergensie en sessietoestand-eienaarskap is verskillende probleme wat in ’n diagram identies lyk.
Wat Route Server werklik programmeer
Azure Route Server maak peers met ondersteunde BGP-sprekers, leer hul roetes en programmeer dit in die virtuele netwerk se effektiewe roetes. Dit is ’n beheervlak-taak. Dit lees nie ’n verskaffer-firewall se sessietabel nie, en dit het geen idee watter toestel ’n gegewe verbinding toegelaat het nie. Twee gelykekoste-volgende spronge is vir die weefsel bloot twee maniere om dieselfde voorvoegsel te bereik, en dit sal enigeen gebruik.
Om ’n roete te leer bewys dus bereikbaarheid. Dit bewys niks oor of die toestel aan die ander kant hierdie vloei al vantevore gesien het nie.
Lees albei rigtings voordat jy ontwerp
Begin deur die stuur neer te skryf wat jy werklik in elke rigting het, nie die een wat jy bedoel het nie. Meer spesifieke BGP-roetes, gebruikergedefinieerde roetes en gateway-gedrag kompeteer almal, en die wenner word per bestemming beslis, nie per sessie nie. ’n NVA-verstekroete beteken nie dat elke private voorvoegsel dit deurkruis nie.
’n Nuttige kontrole is om vir een spesifieke werklading-IP te vra na watter volgende sprong elke rigting oplos. As die antwoord twee verskillende toestelle is, het jy ’n asimmetrieprobleem of dit al opgeduik het of nie.
Waar die toestand woon
’n Toestandvolle firewall laat ’n verbinding toe en hou ’n tabelinskrywing wat op die vyfvoudige tuple gesleutel is. Die antwoord moet die toestel bereik wat daardie inskrywing hou, of daardie toestel moet die toestand op ’n ander manier bekom. Niks in die Azure-datavlak stuur die inskrywing tussen toestelle aan nie. Óf die verkeer word na die eienaar teruggestuur, óf die toestelle deel toestand deur ’n verskaffermeganisme, óf die ontwerp werk nie.
Dit is waarom twee gesonde NVAs nie ’n gesondheidskontrole vir inspeksie is nie. Gesondheid gaan oor bereikbaarheid; inspeksie gaan oor watter instansie die sessie hou.
Ondersteunde HA-modelle en wat elkeen belowe
Microsoft's guidance on Virtual WAN-roetering-intent beskryf omvanggedrag vir tweerol-konnektiwiteit en firewall-NVAs, waar direkte roetering die hub se normale simmetriese afdwinging kan omseil. Lees daardie notas as beperkings op die topologie wat jy gekies het, nie as ’n verbod op aktief-aktiewe ontwerpe nie. ’n Verskafferpaar wat toestand sinchroniseer, of per vloei stuur, kan ondersteun word. ’n Gelykekoste-paar wat nie een van die twee doen nie, is nie.
Definieer dan wat met bestaande sessies gebeur wanneer ’n nodus faal. Roete-konvergensie herstel bereikbaarheid vir nuwe vloei binne sekondes, terwyl die ou firewall-toestand bloot weg is. ’n Kliënt-herverbinding kan die gedokumenteerde uitkoms wees, en dit is ’n besluit om voor die voorval te neem eerder as tydens dit.
Wat om te toets voordat jy dit vertrou
Test with inspection enabled and die werklading se toegangsbeleid in plek, want enigeen van die twee kan die asimmetrie verberg. Stuur ’n nuwe gemagtigde vloei in albei rigtings en bevestig dat dieselfde toestel albei helftes gesien het. Hardloop dan aanhoudende verkeer en aktiveer die goedgekeurde oorskakeling, en kyk of gevestigde sessies oorleef of herverbind.
Korreleer elke vloei met die toestel wat dit hanteer het. ’n Pakketopname op een NVA sê amper niks as die antwoord nooit daarheen teruggekom het nie.
Laastens, skryf die plan as drie afsonderlike lyne: roete-eienaarskap, verkeerstuur en sessietoestand-eienaarskap. Ontwerpe breek wanneer die eerste twee opgelos is en die derde aangeneem word.