VPN edukiontzi baten sareko partekatzea: zer gertatzen zaio DNS-ari
Izen-espazio partekatu batek tuneleko interfazeak ematen dizkio zure aplikazioari, ez resolutore bateratu bat. Probatu aplikazioaren barruan eta erabili runtimeak onartzen duen DNS antolaketa.
VPN edukiontzi baten sareko izen-espazioa partekatzeak tuneleko interfazeak eta bideak ematen dizkio zure aplikazioari. Ez dio tuneleko resolutorea ematen, ezta ostalarian dagoen beste ezeren kopia bateraturik ere. Hutsune horrek oso hutsegite zehatza sortzen du: izen publikoak ebazten dira, barnekoak ez, eta huts egiten duen aplikazioak DNS zerbitzari okerra erabiltzen ari delako itxura du, hala egiten baitu. Konponketa diagnostikoak iradokitzen duena baino txikiagoa izan ohi da.
1. urratsa: Probatu aplikaziotik, ez ostalariotik
Exekutatu bilaketa arazoa duen edukiontziaren barruan, ez ostalarian eta ez nabigatzailean. docker exec app-container getent hosts db.internal garrantzitsua den galdera bakarrari erantzuten dio: zer itzultzen du prozesu honen resolutoreak.
Ostalariak izena ebazten badu eta edukiontziak ez, hutsa aurkitu duzu. Hurrengo guztia hura konpontzeko modu onartu bat aukeratzea da.
2. urratsa: Irakurri runtimearen eredu onartua
Dockerren sare dokumentazioa DNS ikurrekiko murrizketak erregistratzen ditu beste edukiontzi baten sare modua partekatzen duten edukiontzientzat. Compose-n network_mode: service:vpn aplikazioa VPN edukiontziaren izen-espaziora lotzen du, eta zerbitzu bakoitzeko dns ezarpenek ez dute zerbitzu arrunt batean bezala jokatzen. Lortzen duzun ebazpena izen-espazio partekatuak duena da.
Erabiltzaileak definitutako zubiko sareek ere Dockerren DNS integratua lehenetsitako zubiak ez bezala erabiltzen dute. Horregatik dns zubi adibide batek funtzionatzen badu ere, handik kopiatutako klausulak ezer ere ez dezake egin stack partekatu batean. Egiaztatu antolaketa klausula kopiatu aurretik.
Loopback helbide batek sare testuinguru egokiari egiten dio erreferentzia beti. Izen-espazio partekatu baten barruan, 127.0.0.1 ez da ostalariaren resolutorea.
3. urratsa: Jarraitu kontsulta hartzailearengana arte
Irakurri aplikazioaren resolutorearen konfigurazioa, gero aplikazioak dakartzan aplikazioaren berariazko DNS zifratuak, bere resolutorea exekutatzen duen aplikazioak zuk editatu duen fitxategia baztertzen baitu. Gero egiaztatu hautatutako resolutorea eskuragarri dagoen VPNaren bideen eta suebakiaren politikaren pean. Tunelearen beste aldeko resolutore helbidea alferrikakoa da izen-espazioak hara biderik ez badu. Egiaztatu hartzailea fitxategiren bat editatu aurretik.
Nabigatzaileko IP egiaztatze orrialde batek ezin du esan izen kontsultak noraino joan ziren. HTTP konexio bat noraino joan zen esaten du.
4. urratsa: Konpondu bi hutsegite motak modu ezberdinean
Zerbitzu izenek huts egiten badute izen publikoek funtzionatzen duten bitartean, arazoa edukiontzien sarearen barruko zerbitzu aurkikuntza da, ez resolutore publikoen zerrenda. DNS helbide publiko oro aldatzeak ez ditu sortuko sarearen aurkikuntza mekanismoari inoiz eskatu ez zaizkion erregistroak.
Bi motei huts egiten badiete, hasi resolutorearen irisgarritasunetik. Bakarrik bati huts egiten badio, hasi aurkikuntza mekanismotik. Biek jabe ezberdinak dituzte, horregatik konponketa batek ez ditu inoiz biak estaltzen.
5. urratsa: Berriz probatu birsortu ondoren
Aldatu konfigurazioa runtimearen mekanismo onartuaren bidez, gero sortu edukiontziak berriz, exekutatzen ari den baten barruko fitxategiak editatu beharrean. Probatu izen pribatu berri bat, izen publiko berri bat eta bilaketaren ondorengo aplikazio eskaera. Honako honen edizio bat /etc/resolv.conf edukiontzi baten barruan desagertu egiten da birsortzean eta konponketa funtzionatu zuela sinetsaraziko dizu, funtzionatu ez zuen arren.
Erregistratu resolutorearen jabea eta espero den izen-espazioa sare partekatuaren definizioaren ondoan. Hurrengo pertsonak biak beharko ditu.