Abiarazi zerbitzari-profile bera bi aldiz, eta bigarren prozesua 1194 porterako helbidea erabilian dagoela dioen errorearekin irteten da. Kasu ohikoenean, diagnostiko-abiarazteak sortu zuen gatazka, eta jatorrizko instantziak bezeroei primeran ematen die zerbitzua oraindik. Istorio honek txosten horien zati handi bat azaltzen du, eta merezi du ezer berrabiarazi aurretik ezagutzea. Gainera, konpontzeko bertsiorik merkeena da.

Erroreak tokiko lotura deskribatzen du, eta ez horretatik harago ezer. Ez da froga hornitzaile batek portua blokeatzen duenik, bezero batek pasahitz okerra bidali zuenik edo ziurtagiri-katea hautsi denik.

Irakurri lotura-errore zehatza

Familia honetako bi errorek gauza desberdinak esan nahi dituzte, eta horiek nahasteak okerreko geruzara bidaltzen zaitu. «Helbidea dagoeneko erabilian» esateak beste socket batek eskatu duzun amaiera-puntua duela esan nahi du. «Helbidea ez dago erabilgarri» esateak eskatu duzun helbidea oraindik ez dagoela ostalari honetan esan nahi du, eta hori prestutasun-arazoa da, ez bikoiztasuna.

systemctl status openvpn-server@lab --no-pager
journalctl -u openvpn-server@lab -n 20 --no-pager

Kopiatu errorearen testua ezer aldatu aurretik, aipatzen dituen helbidea eta portua barne. Interfaze bat agertzeko zain dagoen zerbitzu batek bigarren errorea behin eta berriz erregistratuko du eta gero behar bezala lotuko da helbidea dagoenean; lehen errorea erregistratzen duen zerbitzuak ez du inoiz lortuko bikoiztasuna konpondu arte. Ikusi zenuen errorea zein izan zen oharpena egiteak ez du ezer kostatzen eta interfaze-bilaketa alferrikakoa aurreztatzen du.

Inbentariatu socket-a, ez portua

Portu-zenbaki bat inbentario osatugabea da. Amaiera-puntua garraio bat, helbide-familia bat, helbide lokal bat eta portu bat da, guztiak sare-izen-espazio bakar baten barruan. Zenbaki berean UDP entzule bat eta TCP entzule bat socket desberdinak dira, eta zenbaki berean bi prozesu izen-espazio desberdinetan ez dira inoiz elkartzen.

ss -lunp | grep -F ':1194'
ss -ltnp | grep -F ':1194'
ss -lunp 'sport = :1194'

Exekutatu lehenik profilek benetan erabiltzen duen garraioa. Gero begiratu helbide lokalaren zutabeari, ez zenbakiari soilik: komodin-lotura batek helbide lokal guztiak hartzen ditu, beraz helbide zehatz bat eskatzen duen bigarren prozesu batek harekin talka egin dezake inprimatutako kateak desberdinak izan arren. Socket-a berrerabiltzeko aukerak eta plataformaren arauek zehazten dute emaitza zehatza, eta horregatik behaketa bat izan behar du, ez inplementazio bakoitzean aplikatzen duzun araua.

Aurkitu zein prozesuk duen

Amaiera-puntu numerikoek eta prozesu-informazioak jabea identifikatzen dute zure pribilegioek uzten dutenean, eta jabea da behar duzuna, ez programaren izena. Bi OpenVPN prozesuk profile desberdinak exekuta ditzakete, eta entzulea duen prozesua gutxien susmatzen duzuna izan daiteke.

sudo ss -lunp 'sport = :1194'
sudo fuser -v -n udp 1194

Konparatu aurkitutakoa zerbitzu-kudeatzailearekin, edukiontzien exekuzio-ingurune batekin edo lehenago egindako proba batetik geratutako terminal-prozesu batekin. Prozesuaren xehetasunik ez izatea ez da froga socket-a jaberik gabe dagoenik; normalean esan nahi du kontsulta baimen nahikorik gabe exekutatu zela. Era berean, TCP soilik duen zerrendak ez du UDP gatazka uxatzen, beraz aztertu errorean aipatutako garraioa. Prozesuaren izenak soilik ez du inoiz esaten zein profil kargatu zen, eta profilak erabakitzen du amaiera-puntua.

Jabe bat edo bi instantzia diseinatuak

Inplementazioak zerbitzari bakarra nahi badu, mantendu bizi-zikloaren jabe bakarra eta irakurri instantzia horren egunkaria edo konfiguratutako loga, bigarren kopia bat abiarazi eta hura behatu beharrean. Lehen planoan exekuzio kontrolatua benetan beharrezkoa denean, gelditu kudeatutako instantzia nahita eta hartu kontuan zerbitzatzen ari den bezeroak hori egin aurretik.

Bi instantzia nahi badira, eman entzule desberdinak eta beste guztia desberdin: helbide-poolak, interfaze birtualak, bideratze-politika eta konfigurazioaren jabetza. Portu desberdin batek socket-a baino ez du bereizten, eta bi zerbitzariek pool bera eta ibilbide berak liskartzen jarraituko dute.

Hiru lasterbide aipatzea merezi du, errore honi buruzko hari guztietan agertzen direlako. Ez hil errudun ematen duen PID arbitrariorik. Ez gaitu socket partekatzea mezua isilarazteko. Ez aldatu zerbitzari-profile bat bezero-estiloko konfigurazio lotu gabe batera, horrek lotura-errorea desagerrarazten duelako; zerbitzaria iristezina bihurtzen da jatorrizko gatazkak baino diagnostikatzen zailagoa den moduan.

Portua aldatzea erantzun zilegia da soilik entzule berria onartutako diseinu baten parte denean, birbidaltze-araua eta bezeroaren amaiera-puntua barne. Hori eguneratu ez bada, gatazka inork aurki ez dezakeen leku batera eraman duzu.

Egiaztatu lotura beste edozer baino lehen

Zuzenketa mugatuaren ondoren, egiaztatu nahi den instantzia aktibo dagoela, haren entzulea espero duzun garraioan agertzen dela eta bezero bat konekta daitekeela. Lotura arrakastatsuak tokiko socket-fasea baino ez du osatzen; ez du ezer ziurtatzen autentifikazioaz edo tunela altxatu ondoko trafikoaz.

ss -lunp 'sport = :1194'
systemctl is-active openvpn-server@lab
journalctl -u openvpn-server@lab -f

Socket-a badago eta bezeroak huts egiten jarraitzen badu, gainerako arazoa ibaian behera dago eta lotura-errorea jada historia da. Bereizketa hori da mezu zehatza lehenik irakurtzearen funtsa osoa: errore bat, geruza bat, jabe bat. Irakurri horrela eta hurrengo sintoma egoera ezagun batetik hasiko da, ez susmo batetik.

Erlazionatutako artikuluak