To OpenVPN-klienter på én Linux-vært: hvem ejer ruten?
To klienter kan dele en vært, hvis hvert præfiks har en ejer. Gå gennem formålet, puljerne, instansnavngivningen og en stoftest per tunnel, i den rækkefølge.
Begge profiler rapporterer forbindelse, og en af dem bærer stille trafik beregnet til den anden. To klienter på én vært er en understøttet ordning; to klienter uden ejer for hvert præfiks er ikke. Arbejdet handler mindre om at rejse den anden tunnel og mere om at afgøre, hvilken proces der må gøre krav på hvilken rute. Gå frem i rækkefølgen nedenfor, og konfigurationen følger af svarene.
Begynd med at spørge, hvad den anden tunnel er til
Tre situationer ser identiske ud på statuslinjen og kræver forskellige designs. En opdeling efter destination sender ét præfiks gennem kontorprofilen og et andet gennem laboratorieprofilen, uden at nogen af dem gør krav på en standardrute. En opdeling per program beholder normalt én fuld tunnel og styrer bestemt trafik med politikregler. Failover holder præcis én tunnel oppe ad gangen, hvilket betyder, at den anden ikke må starte automatisk.
Skriv sagen ned, før du åbner nogen konfigurationsfil, fordi det svar afgør alt derefter.
Det mest almindelige ødelagte setup er to fulde tunneler, der begge har skubbet en standardrute, hvor den, der sluttede sig til sidst, vinder, og den første bliver ved med at foregive. Den tilstand ser tilsigtet ud fra statuslinjen og spilder en dag fra routingtabellen. At navngive sagen først gør den umulig i stedet for blot usandsynlig.
Se på puljerne før ruterne
To servere kan nemt uddele adresser fra ét privat område, og når de gør det, ender klienten med to grænseflader inden for ét præfiks. Ingen destination kan da tilskrives en grænseflade ud fra adressen, fordi begge ser lige korrekte ud. Omnummerér én pulje i stedet for at opfinde en regel til at bryde uafgjort.
Kontrollér også det lokale netværk, fordi et hjemme- eller kontor-LAN, der overlapper et tunnelområde, skaber samme tvetydighed fra den anden side. Sammenlign adresserne på værten med begge serverkonfigurationer, før du bebrejder klienten. En puljeændring på en laboratorieserver er en femminutters rettelse, mens en politik-routing-omvej for et overlappende præfiks er en permanent skat på alle, der læser konfigurationen senere. Beslut, hvilken af de to du vil have, før du vælger, hvor du griber ind.
To adressefamilier betyder to runder af denne kontrol. IPv6-puljer kolliderer lige så stille som IPv4.
Giv hver profil en ejer
Én instans per profil, én konfigurationsfil per instans og ét navn, der identificerer parret. I Debian-stil pakning vælger navnet efter @-tegnet filen, og derfor kan to profiler, der deler et instansnavn, aldrig begge virke. Bekræft mappingen fra den installerede enhed i stedet for fra en vejledning.
systemctl cat [email protected]
ip -4 addr showBeslut derefter, hvem der installerer ruter, hvilket er et politikspørgsmål og ikke et syntaksspørgsmål.
Når de to servere skubber inkompatible sæt, skal du enten tilføje route-nopull og kun liste de præfikser, hver profil har brug for, eller lade én beholde sin standardrute og styre resten med en politikregel. To processer, der begge installerer en standardrute, ender med én enkelt vinder, og ingen kan sige hvorfor. Når de to tunneler bærer trafik for forskellige kilder, kan et svar gå ud gennem den forkerte, og det mønster, der holder, er et forbindelsesmærke, der gendannes på svar og styres ind i sin egen tabel. Afgræns mærkerne, så tunnellernes egne krypterede pakker aldrig matcher dem.
Kontrollér per tunnel, og stop så én
Når begge er oppe, tag tre aflæsninger: adressen på hver tunnelenhed, ruten til en vært, der bor bag hver af dem, og den vej, en destination uden for begge ville tage. En almindelig rutevisning holder op med at beskrive det endelige opslag, så snart regler er i spil, så spørg kernen, hvad den faktisk ville vælge. Stop derefter én instans og se, hvad der forsvinder. Hvis stop af den første forstyrrer den anden, er noget stadig delt mellem dem: en rute, et enhedsnavn eller en firewallregel, som ingen har skilt ad.
ip rule show
ip route get 203.0.113.9Bring den stoppede profil tilbage, og gentag de samme kontroller, fordi en tunnel, der virker én gang efter en genstart og aldrig igen, er en livscyklusfejl i routingkostume.
Notér i udrulningsnoterne, hvilken profil der ejer hvilket præfiks, ved siden af puljeområderne. To tunneler er en bevidst ordning, og den næste læser skal kunne se grænsen, før vedkommende rører nogen af profilerne. Uden den note bliver grænsen genopdaget af den, der har vagten, når det delte præfiks til sidst brækker.