VPN:n nimipalvelin päätyy jatkuvasti LAN:n nimipalvelimen alle, ja /etc/resolv.conf-tiedoston muokkaaminen korjaa sen muutamaksi minuutiksi. Tiedosto luodaan uudelleen, joten korjaus ei koskaan pysy. Debianin resolvconfissa järjestyksen syöte on /etc/resolvconf/interface-order, ja se lajittelee tietueiden nimiä eikä DNS-osoitteita. Varmista, mikä resolver-pino on todella vastuussa, ennen kuin kosket kumpaankaan tiedostoon.

Varmista, että resolvconf omistaa tulosteen

Aloita kysymällä, mikä kirjoitti nykyisen tiedoston ja mikä kirjoittaa sen uudelleen. resolvconf-paketti kuvaa itsensä dynaamisen resolver-kokoonpanon kehykseksi, ja systemd-resolvedia tai NetworkManagerin hallitsemaa resolveria ajavakone voi näyttää ulospäin samanlaiselta mutta käyttää täysin erilaista käytäntöä.

readlink -f /etc/resolv.conf
dpkg -l resolvconf 2>/dev/null | tail -n 1

Jos ratkaistu polku ei johda resolvconfin ajonaikaiseen hakemistoon, pysähdy tähän: tämä ohje kuuluu toiseen pinoon.

Vasta tämän tarkistuksen jälkeen kannattaa luetella tietueet, joita resolvconf parhaillaan pitää.

Lue tietueet ennen kuin kirjoitat kuvioita

interface-order vastaa toimittajan tietueiden nimiä, ei osoitteita eikä ytimen liitännäisnimiä. Luettele, mitä on rekisteröity, jotta kuviot viittaavat olemassa oleviin merkintöihin.

ls /run/resolvconf/interfaces
cat /etc/resolvconf/interface-order

Tietueen nimi sisältää yleensä toimittajan tunnistavan päätteen, joten tunnelitietue ja DHCP-tietue voivat jakaa liitännän etuliitteen ja silti lajittua eri tavalla. Kopioi tarkat nimet hakemistolistauksesta. Älä päättele nimeä liitännän nimestä, koska asiakasintegraatio päättää, mitä rekisteröidään. Keksimäsi nimi ei koskaan täsmää, ja tietue putoaa kaiken pyytävään kuvioon ilman mitään virheilmoitusta.

Kirjoita järjestys ensimmäisen osuman kuvioina

Tiedosto on luettelo shell glob -kuvioista, yksi riville. Tietue ottaa sen ensimmäisen kuvion paikan, johon se täsmää, joten leveä kuvio tietyn kuvion yläpuolella tekee tietystä rivistä tavoittamattoman.

# /etc/resolvconf/interface-order
lo*
tun_work.*
enp*
*

Sijoita tietty tunnelikuvio kaiken pyytävän kuvion ja fyysisen liitännän kuvion yläpuolelle.

Säilytä muut rivit, jotka tiedostossa jo oli. Koko käytännön korvaaminen esimerkillä on tapa, jolla toisiinsa liittymättömät toimittajat siirtyvät hiljaa; muuta yhtä riviä, luo uudelleen ja vertaa. Kuviot eivät voi sisältää välilyöntejä, kauttaviivoja tai alkavaa pistettä tai tildeä, ja tyhjät rivit ja ristikkokommentit ohitetaan.

Luo uudelleen ja tarkista tulos

Järjestys tulee voimaan, kun päivitysskriptit rakentavat tiedoston uudelleen. Käynnistä tuettu päivityspolku sen sijaan että muokkaisit luotua tulostetta, ja lue sitten, mitä resolver todella sai.

resolvconf -u
cat /etc/resolv.conf

Tarkista kaksi kyselyä, älä yhtä: yksityinen nimi, joka pitäisi ratkaista tunnelin kautta, ja julkinen kontrollinimi. Jos yksityinen nimi epäonnistuu edelleen järjestyksen näyttäessä oikealta, ongelma on nimiavaruuden reitityksessä eikä tietueiden prioriteetissa, eikä mikään uudelleenjärjestely korjaa sitä. Vertaa jokaista vastausta siihen palvelimeen, joka sen palautti, älä vain onnistumiseen. Väärän resolverin vastaama yksityinen nimi on edelleen epäonnistuminen, ja käyttäjälle se näyttää DNS-katkokselta.

Poista vanhentunut tietue käytöstä sen sijaan että alentaisit sitä

Vanhentunut VPN-tietue, joka ilmestyy uudelleen yhteyden katkaisemisen jälkeen, on asiakasintegraation elinkaarivirhe. Sen siirtäminen loppuun piilottaa oireen ja jättää listaan kuolleen resolverin.

Poista se käytöstä komponentin kautta, joka sen rekisteröi, ja varmista sitten, että tietuehakemisto ei enää listaa sitä.

Kirjaa toimittajan nimi, muuttamasi kuvio ja kaksi kyselyä, jotka suoritit. Seuraava ihminen tarvitsee noita nimiä enemmän kuin tarinaa.

Aiheeseen liittyvät artikkelit