To OpenVPN-loglinjer begynder med de samme ord, og kun én af dem rapporterer et problem. Could not determine IPv4/IPv6 protocol. Using AF_INET er en tilbagefaldsmeddelelse: profilen lod adressefamilien stå åben, så daemonen valgte en og fortsatte. Fejlgrenen rapporterer, at der ikke blev oprettet nogen socket, og beder om en genstart. Alt efter det fælles præfiks adskiller dem, så læs forbi det, før du ændrer noget.

Hvad tilbagefaldsmeddelelsen rapporterer

OpenVPN accepterer en eksplicit familie via proto udp4 eller proto udp6 og accepterer proto udp, når familien skal udledes ved opstart. I det andet tilfælde undersøger daemonen de lokale bind-oplysninger og vælger.

Når denne udledning virker, angiver advarslen, hvilken vej det gik, og processen fortsætter med at oprette socketten. En server med proto udp på en dual-stack-vært ender ofte på IPv4 på denne måde. Intet på den vej er en fejl, og intet i den antyder et angreb, en manglende webserver eller en afvist konto. Linjen er kun nyttig, fordi senere kontroller bør sammenlignes med den familie, den nævner.

Behandl det som et svar på ét spørgsmål, ikke som en diagnose. Den fortæller, hvilken familie denne proces valgte, og intet om, hvorfor en klient ikke kan oprette forbindelse.

Sådan ser fejlgrenen ud

Senere i den samme socket-kode er der en gren, hvor der slet ikke findes nogen socket. Den logger den kortere adressefamilie-meddelelse og anmoder om en genstart, fordi der ikke er noget tilbage at fortsætte med. Åbningsordene svarer til tilbagefaldet; resultatet gør ikke.

Skeln dem ad på det, der følger. Hvis daemonen fortsætter med at køre og rapporterer sin lytter, var linjen information. Hvis den afslutter eller genstarter i en løkke, handler samtalen nu om bind.

Et grep-hit er heller ikke en identifikation af grenen. Udtrykket dukker op i roterede resuméer, i ombrudte linjer og i loguddrag, som folk indsætter fra anden hånd, så læs nabolinjerne og tidsstempelrækkefølgen i stedet for det enkelte match.

Kontroller lytteren i stedet for advarslen

En kørende server besvarer familie-spørgsmålet direkte uden at udlede noget af logteksten.

ss -lunp | grep openvpn
ss -ltnp | grep openvpn

Match familie, adresse og port mod profilen. En 0.0.0.0:1194-række er kun IPv4, mens en [::]:1194-række på en dual-stack-vært kan acceptere begge familier afhængigt af bindv6only-indstillingen. Hvis profilen siger udp, og socketten er IPv4, vil klienter, hvis resolver kun returnerer en AAAA-post, fejle, før tunnelen overhovedet forhandles.

Test derefter fra en klient, der ligner dine brugere: samme resolver-vej, samme slags netværk. En lokal forbindelse fra serveren beviser meget lidt om trafik, der krydser en NAT-enhed eller en firewall-regel skrevet til den anden familie.

Hvornår det er rigtigt at tvinge en familie

At fastlåse proto udp4 passer til en udrulning med kun IPv4: et DNS-navn med kun A, firewall-regler for én v4-adresse, klienter bag udbydere, der kun udleverer v4-adresser. Det fjerner tvetydighed og gør det næste sæt loglinjer forudsigeligt.

Det samme argument gælder den modsatte vej for et IPv6-først-miljø, og udp6 foran en klientbase med kun A er et selvpåført afbrud. At tvinge en familie blot for at dæmpe en uskadelig advarsel er den klassiske version af denne fejl, fordi du har ændret, hvem der kan oprette forbindelse, til gengæld for en roligere log.

Vælg ud fra endepunkterne og de klienter, der skal nå dem. OpenVPN 2.6-manualen dokumenterer transportformerne, og meddelelsen er resultatet af det valg, ikke et input til det.

Hold registreringen snæver

Skriv den præcise linje ned med dens tidsstempel, den effektive transportindstilling fra den kørende profil, socketten som kernen rapporterer den, og det næste trin, der fejlede. De fire ting afgør næsten ethvert spørgsmål, meddelelsen rejser, og ingen af dem kræver gætteri om urelaterede tjenester. De overlever også en overdragelse, hvilket et skærmbillede af en grep ikke gør.

Pakkeforslag, der kommer sammen med denne advarsel, er urelaterede, indtil en fejl nævner en manglende eksekverbar fil.

Hvis ifconfig virkelig mangler, siger daemonen det ved navn, når et script kalder det, og det fortjener sin egen undersøgelse. AF_INET-linjen og et manglende værktøj er forskellige fejl, og at installere ting for at se, om advarslen ændrer sig, er måden, hvorpå en ren vært bliver rodet.

Relaterede artikler