Junos dual-WAN IPsec VPN: koble kildeveien til riktig gateway
En Junos SRX-gjennomgang for dual-WAN IPsec: koble hver lokal kilde til gateway-kandidatene sine, og bevis deretter hvilken assosiasjon som faktisk bar trafikken.
To WAN-lenker per nettsted ser ut som redundans helt til du prøver å bevise hvilket adressepar en gitt flyt faktisk brukte. På en SRX bærer én IKE-gateway ett eksternt grensesnitt og én lokal adresse; en liste med eksterne kandidater lager ikke en ekstra lokal kilde. Derfor starter denne gjennomgangen med parmatrisen i stedet for konfigurasjonen, fordi Junos gjerne committer et design som bare dekker halvparten av kombinasjonene du hadde tenkt. Jeg traff på dette med to SRX345s: reserve-tunnelen kom pent opp og dro likevel sesjonen ned ved tilbakeskifte.
Gå gjennom trinnene i rekkefølge: list opp parene du må støtte, bygg én gateway per lokale kilde, bekreft hvilken assosiasjon som bar trafikken, og bestem først deretter hva hver type feil får lov til å endre.
Kartlegg parene før du rører CLI-en
Hvis nettsted A kan source fra A1 eller A2 og nettsted B kan ta imot på B1 eller B2, har du fire ytre adressepar. De fleste design trenger to av dem kontinuerlig og behandler de to andre som valgfrie. Skriv ned matrisen og merk hver rad, for hver rad du lover koster deg senere en gateway, et tunnegrensesnitt og et rutevalg.
| Local source | Remote candidate | Required? |
|---|---|---|
| A1, ISP1 address | B1 | steady state |
| A1, ISP1 address | B2 | decide explicitly |
| A2, ISP2 address | B1 | decide explicitly |
| A2, ISP2 address | B2 | backup path |
Hvert påkrevde par trenger tre ting samtidig: et nåbart underlay mellom nøyaktig disse adressene, gjensidig aksept av peer-identitet og kildeadresse i begge ender, og en beskyttet returvei. Et par som bare virker i én retning, viser fortsatt en tunnel, og feilen dukker opp senere som enveis applikasjonstrafikk.
Én gateway per lokale kilde, ikke per fjernnettsted
Listen over eksterne adresser hører til en gateway, og det gjør den lokale kilden også. IKE-gateway-referansen holder eksterne adresser, eksternt grensesnitt, lokal adresse og dead-peer-deteksjon som separate innstillinger, og det er nettopp poenget: to lokale kilder betyr to gateways over to st0-enheter. Å dele IKE-policyen mellom dem er greit; å beholde én gateway og håpe at den velger en annen kilde selv, er det ikke.
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-onlyKoble deretter til tunnelene og gi fjernprefikset to next hops, én 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 20Om én gateway kan holde to erklæringer av typen address avhenger av utgivelsen og av hvilken IKE-prosess boksen kjører. Eldre kmd-baserte Junos tar én enkelt ekstern adresse per gateway; nyere bygg håndterer flere kandidater, men legger til egne begrensninger, og high-availability-klynger er et vanlig sted der den støtten blir smalere. Sjekk utgivelsesnotatene for din nøyaktige bygg før du kopierer dette fra et eldre chassis.
Bekreft hvilken assosiasjon som bar pakken
To SAs og to tunneler forteller ikke hvilken av dem som videresendte sesjonen. Spør boksen direkte, og sammenlign feltene med paret du hadde tenkt:
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 packetsDetaljutskriften oppgir den lokale og den eksterne gatewayen for hver assosiasjon, som er den raskeste måten å oppdage en tunnel som forhandlet fra en kilde du ikke forventet. Se deretter på pakketellerne per enhet på st0.1 og st0.2 mens du sender trafikk gjennom; en tunnel som ikke bærer noe, beholder SA-en sin og ser sunn ut i en oversikt.
Gi hver feiltype sin egen detektor
Peer-liveness, tap av den lokale uplinken, tilbaketrekking av den beskyttede ruten og applikasjonsbrudd er fire forskjellige hendelser. DPD svarer bare på den første, så konfigurer den med et intervall og en terskel du kan forsvare i stedet for å la standarden stå og anta at den dekker 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.1Tunnelovervåking som tester en destinasjon inne i fjernsubnettet dekker tilfellet DPD ikke kan se: IKE lever, gatewayen svarer, og det beskyttede prefikset er likevel uoppnåelig. Velg hvilken av de to som skal trekke preferanse, for hvis begge utløses samtidig blir det en endringsstorm i stedet for en ren failover.
Ikke glem den andre enden. En foretrukket rute som blir stående på fjernnettstedet peker fortsatt inn i en tunnel du allerede har forlatt, og ingen lokal timer retter det. Publiser den samme preferanselogikken på begge peers, og noter om en gjenopprettet lenke får ta trafikken tilbake automatisk eller må skiftes manuelt.
Adresser om én lenke uten å røre den andre
Når en ISP gir deg en ny blokk, endre én relasjon om gangen. Oppdater address eller local-address på begge peers for det paret, commit, og fjern bare de berørte assosiasjonene etter indeks i stedet for å fjerne alle SAs på boksen. En global fjerning tar også den sunne tunnelen og gjør et vedlikeholdsvindu til et avbrudd.
Behold én feilet flyt med sesjonsdetaljen som bevis før du rydder opp, og kjør deretter kontrollene ovenfor på nytt mot det nye adresseparet. Å gjenopprette en lenke er et rutevalg, så behandle tilbakeføringen som et eget testet trinn i stedet for å anta at den gamle preferansen kommer tilbake av seg selv.
Avslutt endringen med en kort sjekkliste
Et dual-WAN-tunneldesign er ferdig når du kan navngi paret bak hver sesjon, ikke når begge SAs er oppe. Gå gjennom listen nedenfor på boksen du faktisk endret:
- Hvert lovede par har en gateway, en st0-enhet og en ruteoppføring.
- Hver tunnel er sett bære pakker, ikke bare holde en SA.
- Begge ender er enige om deteksjon og om hvilken side som gjenoppretter preferansen.
- Returveien for hvert par er skrevet ned ved siden av fremveien.
Hvis en linje feiler, fiks det paret før du legger til det neste; to halvfungerende tunneler oppå hverandre gjør tellerne meningsløse og failover-atferden umulig å forutsi.