dnsmasq kin poarte 53 net bine: fyn de socket dy't him hat
In bind-flater op poarte 53 is in fraach fan socket-eigendom. Lês de lústerers, kontrolearje it berik fan it wildcard en beslút dan hokker daemon VPN-klanten beäntwurdet.
dnsmasq einiget mei in flater dat it adres al yn gebrûk is, en it loch neamt de poarte ynstee fan de skuldige. Op in masine dêr't ek in VPN op draait, is de refleks om de trochstjoerde rûtes de skuld te jaan, mar in bind-flater bart foardat ienige klant in fraach stjoert. Iets hat de socket al, en de taak is om dat te identifisearjen. Rûteferoarings kinne in poarte net frijmeitsje.
Fiif stappen, yn dizze folchoarder: reprodusearje de flater, list de lústerers op, begryp it wildcard, jou de taak ta, en ferifiearje dan.
Stap 1: reprodusearje en lês de flater
Start dnsmasq op de foargrûn mei deselde konfiguraasje dy't de tsjinst brûkt, sadat de flater yn jo terminal ferskynt ynstee fan yn in loch dat jo riede moatte. Tink oan de adresfamylje en it lokale adres yn it berjocht. In bind oan in bepaald adres en in bind oan it wildcard binne ferskillende flaters mei ferskillende eigners.
Hâld de krekte tekst. In adres yn gebrûk, in tastimmingsflater en in ûntbrekkende ynterface komme allegear as in startflater, en se wize op trije ferskillende reparaasjes.
Stap 2: list de eigners op
List earst de sockets op. In filter op boarnepoarte 53 lit beide transporten en it besittende proses sjen as jo it foarjocht hawwe om dat te sjen:
ss -lntup 'sport = :53'Lês de útfier yn kolommen: transport, lokaal adres, poarte, proses. In TCP-lústerer en in UDP-lústerer binne aparte sockets, dus it stopjen fan ien makket de oare net frij. In wildcard-adres dekt elke ynterface, wat betsjut dat it VPN-adres al beset is sels as gjin rigel it by namme neamt. En de prosessnamme fertelt jo oft dit in troch de distribúsje beheard resolvers is, in kontener, of iets dat in earder eksperimint draaien litten hat.
Stap 3: de wildcard-fâle
De opsje bind-interfaces feroaret oft dnsmasq in wildcard-socket bine of ien socket per konfigurearre ynterface, sa't de dnsmasq-referinsje beskriuwt. Sûnder dy opsje kin dnsmasq it wildcard bine en ynstee fersiken per ynterface filterje, wat daliks mislearret as in oare daemon it wildcard hat. Linux foeget bind-dynamic ta, dat ynterfaces behannelt dy't nei it starten makke wurde, in echte soarch as de VPN-ynterface allinnich by ferbining ferskynt.
Dêrom botskje twa daemons dy't beide konfigurearre lykje foar ferskillende ynterfaces dochs. It konflikt is by de socket, net by de bedoeling. Kies de binmodus bewust en lês it dokumintearre gedrach foar jo ferzje foardat jo it feroarje.
Stap 4: jou de taak ta
Beslút hokker daemon VPN-klanten beäntwurdet en hokker de host. Ien resolvers dy't op it tunneladres lústeret en stroomopwaarts trochstjoert is in gewoane regeling; twa resolvers dy't elk oannimme dat se poarte 53 hawwe is hielendal gjin regeling.
Druk dan dat beslút út yn de konfiguraasje fan elke tsjinst: lústeradressen, ynterfacefilters en trochstjoering. Feroarje se fia de eigner fan de tsjinst, oft dat de distribúsje-ienheid, de netwurkbehearder of de kontenerruntime is, sadat de feroaring in werstart oerlibbet.
Stap 5: ferifiearje de socket, dan it paad
Nei de werstart, befêstigje dat de bedoelde sockets bestean foardat jo in klant testen. In daemon dy't nea bine hat kin net rêden wurde troch in rûte, en in klantflater tsjin in korrekt bine socket is in oar probleem mei in oare oplossing. Kontrolearje dan berikberens fan in klant op de tunnel. Pas dêrnei is it de muoite wurdich om te freegjen oft de fereaske nammen oplost wurde.
Trije aparte resultaten om útinoar te hâlden: de socket bestiet, de klant berikt him, it antwurd is korrekt.
Wat net te dwaan
Stopje gjin ûnbekende resolvers om de poarte frij te meitsjen sûnder te witten wat dêrfan ôfhinklik is, om't de eigen syktochten fan de host dat meastentiids binne. Kopiearje gjin âld resept dat de twadde daemon nei in iepenbier lústeradres ferpleatst, want dat beslút as by-effekt wa't jo freegje mei. En foegje gjin trochstjoering ta as de flater lokaal wie.
As de masine beheard wurdt, skriuw it eigendomsbeslút dêr op dêr't de folgjende administrator it fine sil. Poartekonflikten komme werom elke kear as in image opnij boud wurdt.