ifconfig-push: peer-adresse i net30 eller subnetmaske i subnet?
Det andet ifconfig-push-argument er en peer-adresse i net30 og en maske under topology subnet. Sammenlign den kørende topologi, før du redigerer CCD-filen.
Dynamiske klienter opretter forbindelse og routing fungerer fint, men den ene klient med en fast adresse kan slet ikke nå serveren. Intet i firewallen er ændret, og CCD-linjen ser rimelig ud. Den sædvanlige årsag er et andet argument, der er skrevet til en anden TUN-topologi, end den serveren kører. Fejlen er stille: klienten kommer op med en adresse, og serveren accepterer forbindelsen, men der går ingen trafik igennem.
Under net30 er feltet en peer-adresse; under subnet er det en maske. De to former er alternativer, aldrig en sekvens.
De to former, side om side
I en traditionel net30-udrulning ejer hver klient en /30-blok: en netværksadresse, to brugbare adresser og en broadcast-adresse. ifconfig-push tager klientadressen og peer-adressen, og peer’en er den anden brugbare adresse i samme blok, som serversiden af punkt-til-punkt-forbindelsen bruger.
# net30: client address and its peer
ifconfig-push 10.99.0.6 10.99.0.5
# topology subnet: client address and the pool netmask
ifconfig-push 10.99.0.20 255.255.255.0
Under topology subnet deler klienten et subnet med serveren, og det samme direktiv tager en adresse og en maske. Serverens egen adresse kommer fra server-direktivet, ikke fra det andet felt. At blande formerne giver en klient, der tror, den er på en punkt-til-punkt-forbindelse, mens serveren router den som en subnet-vært, eller omvendt. Det er derfor, en maske aldrig må parres med net30.
Begge linjer i blokken er enkeltlinjer til en CCD-fil. Hver klient får præcis én af dem.
Læs den topologi, serveren faktisk kører
Læs den kørende konfiguration i stedet for en pakkestandard, fordi topologien kan være sat for år siden og kopieret videre. Se efter topology subnet eller dets fravær, og kontroller derefter, hvordan server-linjen tildeler adresser. En konfiguration, der aldrig nævner topologi, er ikke det samme som en, der sætter subnet.
Læs derefter de indstillinger, klienten har modtaget. Den adresse, maske og peer, den rapporterer, fortæller, hvilken fortolkning serveren har anvendt.
Hold den faste adresse uden for den dynamiske pulje
En fast adresse skal ligge uden for den dynamiske pulje, ellers kan to klienter få samme adresse. Med subnet-topologi undertrykker nopool på server-linjen den automatiske pulje, og et eksplicit ifconfig-pool-interval definerer, hvad dynamiske klienter får.
dev tun
topology subnet
server 10.99.0.0 255.255.255.0 nopool
ifconfig-pool 10.99.0.100 10.99.0.210 255.255.255.0
client-config-dir /etc/openvpn/ccd
Serveren tager 10.99.0.1 til sig selv, og den faste klientadresse ligger uden for puljens interval. CCD-filen navngives efter klientens effektive identitet, ikke profilfilens navn, og den har ingen ekstra udvidelse. Hvis username-as-common-name er aktiv, er det autentificerede brugernavn den identitet, der skal matches. To enheder, der deler én identitet, deler også den faste adresse, hvilket er et politikproblem snarere end et routingproblem.
Bekræft den tildeling, klienten faktisk modtog
Tilslut den tilsigtede klient igen, og bekræft, hvilken CCD-fil der blev valgt, før du kontrollerer noget andet. Bekræft derefter adressen, masken eller peer’en og ruten tilbage til serveren. En klient, der viser en peer-adresse i en subnet-udrulning, bruger stadig den forkerte form.
Ændring af topologi påvirker hver klient og hver tilsidesættelse, så behandl det som en migrering og ikke som en reparation af én klient. At rette den statiske linje, så den passer til den topologi, der allerede bruges, er normalt den mindre ændring. server-options-referencen dokumenterer hjælperen og de klientspecifikke tilsidesættelser.