Opozorilo AF_INET OpenVPN: neškodljivo zasilno preusmerjanje ali neuspešen socket?
Ločite zasilno preusmerjanje AF_INET od poznejše napake pri ustvarjanju socketa: preberite natančno vrstico, nato preverite poslušalca in naslednjo napako.
Dve vrstici dnevnika OpenVPN se začneta z istimi besedami in samo ena od njih poroča o težavi. Could not determine IPv4/IPv6 protocol. Using AF_INET je obvestilo o zasilnem preusmerjanju: profil je pustil družino naslovov odprto, zato je demon izbral eno in nadaljeval. Veja napake poroča, da socket ni bil ustvarjen, in zahteva ponovni zagon. Vse za skupno predpono ju loči, zato berite naprej, preden karkoli spremenite.
Kaj poroča obvestilo o zasilnem preusmerjanju
OpenVPN sprejme izrecno družino prek proto udp4 ali proto udp6 in sprejme proto udp, ko je treba družino izpeljati ob zagonu. V drugem primeru demon pregleda lokalne podatke o vezavi in izbere.
Ko ta izpeljava deluje, opozorilo navede smer, proces pa nadaljuje z ustvarjanjem socketa. Strežnik s proto udp na gostitelju z dvojnim skladom tako pogosto pristane na IPv4. Nič na tej poti ni napaka in nič v njej ne nakazuje napada, manjkajočega spletnega strežnika ali zavrnjenega računa. Vrstica je koristna le zato, ker je poznejše preverbe treba primerjati z družino, ki jo navaja.
Obravnavajte jo kot odgovor na eno vprašanje, ne kot diagnozo. Pove, katero družino je izbral ta proces, in nič o tem, zakaj se odjemalec ne more povezati.
Kako izgleda veja napake
Pozneje v isti kodi socketa je veja, kjer socketa sploh ni. Zapiše krajše sporočilo o družini naslovov in zahteva ponovni zagon, ker ni ostalo ničesar za nadaljevanje. Začetne besede se ujemajo z zasilnim preusmerjanjem; rezultat ne.
Ločite ju po tem, kar sledi. Če demon še naprej teče in poroča o svojem poslušalcu, je bila vrstica informacija. Če se konča ali znova zažene v zanki, govorimo zdaj o vezavi.
Tudi zadetek v grepu ni prepoznava veje. Besedna zveza se pojavlja v vrtljivih povzetkih, v prelomljenih vrsticah in v izvlečkih dnevnika, ki jih ljudje prilepijo iz druge roke, zato berite sosednje vrstice in vrstni red časovnih žigov, ne le enega ujemanja.
Preverite poslušalca namesto opozorila
Delujoč strežnik odgovori na vprašanje o družini neposredno, brez sklepanja iz besedila dnevnika.
ss -lunp | grep openvpn
ss -ltnp | grep openvpnUjemite družino, naslov in vrata s profilom. Vrstica 0.0.0.0:1194 je le IPv4, medtem ko lahko vrstica [::]:1194 na gostitelju z dvojnim skladom sprejme obe družini glede na nastavitev bindv6only. Če profil pravi udp in je socket IPv4, bodo odjemalci, katerih resolver vrne le zapis AAAA, propadejo, preden se tunel sploh pogaja.
Nato preizkusite odjemalca, ki je podoben vašim uporabnikom: ista pot resolverja, ista vrsta omrežja. Lokalna povezava s strežnika dokaže zelo malo o prometu, ki prečka napravo NAT ali pravilo požarnega zidu, napisano za drugo družino.
Kdaj je vsiljevanje družine pravilno
Pripnitev proto udp4 ustreza uvajanju samo z IPv4: ime DNS samo z A, pravila požarnega zidu za en naslov v4, odjemalci za operaterji, ki dodeljujejo le naslove v4. Odpravi dvoumnost in naredi naslednji nabor vrstic dnevnika predvidljiv.
Ista argumentacija velja v nasprotni smeri za okolje s prednostjo IPv6, udp6 pred bazo odjemalcev samo z A pa je samopovzročena prekinitev. Vsiljevanje družine samo zato, da utišate neškodljivo opozorilo, je klasična različica te napake, ker ste spremenili, kdo se lahko poveže, v zameno za mirnejši dnevnik.
Izberite glede na končne točke in odjemalce, ki jih morajo doseči. Priročnik OpenVPN 2.6 opisuje oblike prenosa in sporočilo je izhod te izbire, ne njen vhod.
Zapis naj bo ozek
Zapišite natančno vrstico z njenim časovnim žigom, dejansko nastavitev prenosa iz delujočega profila, socket, kot ga poroča jedro, in naslednjo stopnjo, ki ni uspela. Ti štirje podatki rešijo skoraj vsako vprašanje, ki ga sporočilo sproži, in noben ne zahteva ugibanja o nepovezanih storitvah. Preživijo tudi predajo, česar posnetek zaslona grepa ne stori.
Predlogi paketov, ki pridejo skupaj s tem opozorilom, so nepovezani, dokler napaka ne navede manjkajoče izvršljive datoteke.
Če ifconfig res manjka, demon to pove z imenom, ko ga skript pokliče, in to si zasluži lastno preiskavo. Vrstica AF_INET in manjkajoče orodje sta različni napaki, nameščanje stvari, da bi videli, ali se opozorilo spremeni, pa je pot, po kateri čist gostitelj postane neurejen.