XFRM-standardruten slugte IKE og ESP: behold den ydre vej
En politik, der beskytter alt, kan også fange de pakker, der holder tunnelen i gang. Markér IKE og ESP, eller behold en peer-rute.
Trafikken er beskyttet, tunnelen er oppe, og så dør den ved næste nøglefornyelse. En standardrute gennem XFRM-grænsefladen beskrev den trafik, du ville beskytte. Den slugte også de pakker, der er nødvendige for at fortsætte beskyttelsen.
De to involverede destinationer kan ikke udskiftes. Rutingen skal sige det eksplicit.
Hvor peer-opslaget faktisk ender
Notér de aktive regler, tabellen med XFRM-ruten og peerens offentlige adresse. Se derefter på den vej, den ydre forbindelse ville tage med sin rigtige kilde og markering. En generisk destination siger intet om den kontrolvej. Kun den faktiske kilde og markering giver et brugbart svar.
En vellykket første forbindelse beviser også lidt. Fejlen viser sig ofte, efter at en ruteinstallation har ændret svaret. Opstarten lykkes, derefter gør den første fornyelse ikke.
ip rule show
ip route show table 220
ip -4 route get 198.51.100.44 from 10.40.0.2
ip xfrm policy list
Hvis opslaget for peeren ender i XFRM-grænsefladen, rutes de ydre pakker ind i den tunnel, de selv bygger. Det er løkken, synlig med én kommando.
Udelukkelsesmuligheder på en moderne gateway
strongSwans dokumentation om rutebaseret VPN opstiller to praktiske svar. Det ene markerer IKE og ESP, så reglen mod XFRM-tabellen ikke matcher dem. Det andet efterlader en peer-rute eller en udelukkelse, som opslaget stadig kan nå.
Tag den, din regelgruppe kan udtrykke uden bivirkninger. En markering er ren, når resten af stakken allerede bruger markeringer. Den er en fare, når den samme maske betyder noget andet i en anden regel. Begge pakketyper har under alle omstændigheder brug for behandlingen.
At markere IKE alene lader datapakkerne på den fangede vej. Det giver en tunnel, der laver håndtryk og derefter ikke bærer noget.
Markeringen er én bit i pakkens fwmark, som intet andet på gatewayen gør krav på: 0x1 med maske 0x1 er det sædvanlige valg, og den skal sættes to steder, for at udelukkelsen virker. Charon har brug for den på IKE-socket, og child-forbindelsens indgående og udgående markindstillinger har brug for den samme værdi, så indkapslede pakker også forlader markeret. En maske på 0x1 i stedet for 0xffffffff lader de resterende bit være fri, hvilket betyder noget, når et andet subsystem allerede markerer pakker på samme vært. Når begge er sat, skrives reglen som en udelukkelse, så markerede pakker springer tabellen med XFRM-ruten over og falder gennem til hovedtabellen:
ip rule add not fwmark 0x1/0x1 lookup 220 pref 1000
ip -4 route get 198.51.100.44 from 10.40.0.2 mark 0x1
Læs derefter svaret med markeringen anvendt. Uden den undersøger du den vej, den beskyttede trafik tager, hvilket er det modsatte af spørgsmålet i dette afsnit.
Hvad automatisk installation forudsætter om bygget
Automatisk ruteinstallation for en XFRM-grænseflade afhænger af strongSwan-versionen og dens konfiguration. Grænseflade-ID'et, den installerede politik og associationen skal alle henvise til de tilsigtede objekter. En uoverensstemmelse viser sig som en rute, der stille peger et rigtigt sted hen.
At kopiere et tabelnummer eller en markmaske fra en anden gateway er måden, hvorpå kollisioner begynder. Kontrollér først, hvad der allerede bruger det. En kollision påvirker trafik langt ud over den tunnel, du ville ændre, og symptomet peger sjældent på kopien.
Ændringer af peer-adressen hører til i designet. En værtsrute til gårsdagens adresse er ikke en gendannelsesplan for endepunktet, mens en markering overlever den ændring.
Hold øje med den første fornyelse
Kontrollér den ydre vej, efter at de beskyttede ruter er installeret, ikke før. Hold derefter øje med den næste fornyelse og én applikationsudveksling. Fejlen viser sig normalt ved den overgang og ikke ved opstart.
ip -4 route get 198.51.100.44
sudo swanctl --list-sas
sudo tcpdump -ni any 'udp port 500 or esp'
At fjerne standardruten midlertidigt gendanner normalt forbindelsen. Resultatet er diagnostisk, ikke endeligt.
Målet er en stabil opdeling mellem indre trafik og de ydre pakker, der bærer den. Skriv den valgte mekanisme og dens tabel eller markering i gatewayens noter. Ellers vil den næste person, der rører reglerne, genindføre løkken.