Två WAN-länkar per sajt ser ut som redundans ända tills man försöker bevisa vilket adresspar ett visst flöde faktiskt använde. På en SRX bär en IKE-gateway ett externt gränssnitt och en lokal adress; en lista med fjärrkandidater skapar ingen andra lokal källa. Därför börjar den här genomgången med parmatrisen i stället för med konfigurationen, eftersom Junos gärna committar en design som bara täcker hälften av de kombinationer du hade tänkt dig. Jag råkade ut för det på två SRX345s: reservtunneln kom upp fint och drog ändå ner sessionen vid återgång.

Arbeta igenom stegen i ordning: räkna upp de par du måste stödja, bygg en gateway per lokal källa, bekräfta vilken association som bar trafiken och bestäm först därefter vad varje typ av fel får ändra.

Kartlägg paren innan du rör CLI:t

Om sajt A kan sourca från A1 eller A2 och sajt B kan ta emot på B1 eller B2 har du fyra yttre adresspar. De flesta designer behöver två av dem hela tiden och behandlar de andra två som valfria. Skriv ner matrisen och markera varje rad, för varje rad du lovar kostar dig senare en gateway, ett tunnelgränssnitt och ett routingbeslut.

Local sourceRemote candidateRequired?
A1, ISP1 addressB1steady state
A1, ISP1 addressB2decide explicitly
A2, ISP2 addressB1decide explicitly
A2, ISP2 addressB2backup path

Varje nödvändigt par behöver tre saker samtidigt: ett nåbart underlay mellan exakt dessa adresser, ömsesidigt accepterande av peer-identitet och källadress i båda ändar samt en skyddad returväg. Ett par som bara fungerar i en riktning visar fortfarande en tunnel, och felet dyker upp senare som enkelriktad applikationstrafik.

En gateway per lokal källa, inte per fjärrsajt

Listan med fjärradresser hör till en gateway, och det gör den lokala källan också. IKE-gateway-referensen håller fjärradresser, externt gränssnitt, lokal adress och dead-peer-detektering som separata inställningar, och det är hela poängen: två lokala källor betyder två gateways över två st0-enheter. Att dela IKE-policyn mellan dem är okej; att behålla en gateway och hoppas att den väljer en annan källa själv är det inte.

set security ike policy IKE-P1 mode main
set security ike gateway GW-A1 ike-policy IKE-P1
set security ike gateway GW-A1 address 198.51.100.20
set security ike gateway GW-A1 address 198.51.100.21
set security ike gateway GW-A1 external-interface ge-0/0/0
set security ike gateway GW-A1 local-address 203.0.113.10
set security ike gateway GW-A1 version v2-only
set security ike gateway GW-A2 ike-policy IKE-P1
set security ike gateway GW-A2 address 198.51.100.20
set security ike gateway GW-A2 external-interface ge-0/0/3
set security ike gateway GW-A2 local-address 192.0.2.10
set security ike gateway GW-A2 version v2-only

Koppla sedan in tunnlarna och ge fjärrprefixet två next hops, en per tunnel:

set interfaces st0 unit 1 family inet
set interfaces st0 unit 2 family inet
set security ipsec policy IPSEC-P1 perfect-forward-secrecy keys group14
set security ipsec vpn VPN-A1 bind-interface st0.1
set security ipsec vpn VPN-A1 ike gateway GW-A1 ipsec-policy IPSEC-P1
set security ipsec vpn VPN-A2 bind-interface st0.2
set security ipsec vpn VPN-A2 ike gateway GW-A2 ipsec-policy IPSEC-P1
set routing-options static route 10.20.0.0/16 qualified-next-hop st0.1 preference 10
set routing-options static route 10.20.0.0/16 qualified-next-hop st0.2 preference 20

Om en gateway får hålla två deklarationer av typen address beror på releasen och på vilken IKE-process boxen kör. Äldre kmd-baserad Junos tar en enda fjärradress per gateway; nyare builds hanterar flera kandidater men lägger till egna begränsningar, och hög tillgänglighet-kluster är en vanlig plats där det stödet blir smalare. Läs release notes för din exakta build innan du kopierar det här från ett äldre chassi.

Bekräfta vilken association som bar paketet

Två SAs och två tunnlar säger inte vilken av dem som vidarebefordrade sessionen. Fråga boxen direkt och jämför fälten med det par du avsåg:

show security ike sa detail
show security ipsec sa detail
show security flow session destination-prefix 10.20.1.0/24
show interfaces st0.1 | match packets

Detaljutskriften anger den lokala och den fjärra gatewayen för varje association, vilket är det snabbaste sättet att hitta en tunnel som förhandlades fram från en källa du inte hade räknat med. Titta sedan på paketräknarna per enhet på st0.1 och st0.2 medan du skickar trafik; en tunnel som inte bär något behåller sin SA och ser frisk ut i en översikt.

Ge varje feltyp sin egen detektor

Peer-liveness, förlust av den lokala uplänken, återtagning av den skyddade rutten och applikationsavbrott är fyra olika händelser. DPD svarar bara på den första, så konfigurera den med ett intervall och ett tröskelvärde du kan försvara i stället för att lämna defaulten och anta att den täcker resten:

set security ike gateway GW-A1 dead-peer-detection interval 10
set security ike gateway GW-A1 dead-peer-detection threshold 3
set security ipsec vpn VPN-A1 vpn-monitor source-interface st0.1
set security ipsec vpn VPN-A1 vpn-monitor destination-ip 10.20.0.1

Tunnelövervakning som testar en destination inne i fjärrsubnätet täcker fallet DPD inte kan se: IKE lever, gatewayen svarar och det skyddade prefixet är ändå oåtkomligt. Välj vilken av de två som ska dra preferens, för om båda utlöser samtidigt blir det en ändringsstorm i stället för en ren failover.

Glöm inte andra änden. En föredragen rutt som ligger kvar på fjärrsajten pekar fortfarande in i en tunnel du redan har övergett, och ingen lokal timer fixar det. Publicera samma preferenslogik på båda peerarna och dokumentera om en återställd länk får ta tillbaka trafiken automatiskt eller måste växlas för hand.

Adressera om en länk utan att röra den andra

När en ISP ger dig ett nytt block, ändra en relation i taget. Uppdatera address eller local-address på båda peerarna för det paret, committa och rensa bara de berörda associationerna efter index i stället för att rensa alla SAs på boxen. En global rensning tar även den friska tunneln och gör ett underhållsfönster till ett avbrott.

Spara ett misslyckat flöde med dess sessionsdetalj som bevis innan du städar, och kör sedan kontrollerna ovan igen mot det nya adressparet. Att återställa en länk är ett routingbeslut, så behandla återgången som ett eget testat steg i stället för att anta att den gamla preferensen kommer tillbaka av sig själv.

Avsluta ändringen med en kort checklista

En dual-WAN-tunneldesign är klar när du kan namnge paret bakom varje session, inte när båda SAs är uppe. Gå igenom listan nedan på den box du faktiskt ändrade:

  • Varje utlovat par har en gateway, en st0-enhet och en routingpost.
  • Varje tunnel har setts bära paket, inte bara hålla en SA.
  • Båda ändarna är överens om detektering och om vilken sida som återställer preferensen.
  • Returvägen för varje par är nedskriven bredvid dess framväg.

Om en rad fallerar, fixa det paret innan du lägger till nästa; två halvfungerande tunnlar ovanpå varandra gör räknarna meningslösa och failoverbeteendet omöjligt att förutsäga.

Relaterade artiklar