Linux-palvelinten käyttöönotto ja SSH:n hallinta · Oppitunti

DNS-määritykset ja vianmääritys

Ymmärrä, miten Linux-palvelimet selvittävät isäntänimet IP-osoitteiksi: määritä nimipalvelimet, muokkaa /etc/hosts-tiedostoa ja käytä dig-, nslookup- ja host-komentoja DNS-ongelmien selvittämiseen, vaikka verkko itsessään toimisi.

Oppitunti 4/413 vaihetta

DNS-määritykset ja vianmääritys on ilmainen Linux-palvelinten käyttöönotto ja SSH:n hallinta-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Linux-palvelinten käyttöönotto ja SSH:n hallinta-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Linux-palvelinten käyttöönotto ja SSH:n hallinta-kurssilla on yhteensä 4 oppituntia.

Miksi DNS on tärkeä palvelimella

Palvelimellanne voivat olla täydelliset verkko- ja palomuuriasetukset, mutta yhteydet ulkomaailmaan eivät silti toimi, jos nimiä ei voida selvittää. DNS muuntaa ihmisille helppolukuiset isäntänimet, kuten example.com, IP-osoitteiksi.

Nimien selvityksen toiminnan ja sen vianmäärityksen tunteminen on olennainen verkkotaito.

Nimien selvityksen eteneminen

Kun ohjelma tarvitsee nimelle IP-osoitteen, Linux tarkistaa lähteet järjestyksessä, yleensä näin:

  • Paikallinen tiedosto /etc/hosts
  • Määritetyt DNS-palvelimet (selvityspalvelimet)

Järjestyksen määrittää tiedoston /etc/nsswitch.conf rivi hosts:.

grep hosts /etc/nsswitch.conf
# hosts: files dns

Tiedosto /etc/hosts

/etc/hosts yhdistää nimet ja IP-osoitteet paikallisesti ohittaen DNS:n. Se sopii erinomaisesti testaamiseen, sisäisiin isäntänimiin tai verkkotunnuksen yhdistämiseen tiettyyn IP-osoitteeseen.

Jokaisella rivillä on IP-osoite ja sen jälkeen yksi tai useampi nimi.

127.0.0.1   localhost
192.168.1.50  db.internal db

Missä selvityspalvelimet määritetään

Perinteinen tiedosto on /etc/resolv.conf, jossa luetellaan nimipalvelimet. Nykyaikaisissa järjestelmissä sitä hallitsee usein systemd-resolved tai NetworkManager, joten suoraan muokkaamasi muutokset eivät välttämättä säily.

Tarkistakaa ennen muutoksia, mitä asetuksia todella käytetään.

cat /etc/resolv.conf
resolvectl status

DNS-palvelimen määrittäminen

Jos käytössä on systemd-resolved, määrittäkää DNS verkkoliittymäkohtaisesti sen sijaan, että muokkaisitte tiedostoa resolv.conf. Netplan-pohjaisilla palvelimilla määritys tehdään YAML-asetustiedostossa.

Tässä esimerkissä verkkoliittymälle määritetään julkiset selvityspalvelimet.

sudo resolvectl dns eth0 1.1.1.1 8.8.8.8
resolvectl dns eth0

Tietueiden hakeminen dig-komennolla

dig on tehokkain DNS-kyselytyökalu. Se näyttää vastauksen ja kyselyn metatiedot.

Valitsin +short rajaa tulosteen pelkkään vastaukseen — se sopii ihanteellisesti skripteihin.

dig example.com
dig +short example.com

Tietyn tietuetyypin kysely

DNS tallentaa monenlaisia tietuetyyppejä. Määrittäkää tietuetyyppi, kun haluatte tarkastella sähköpostipalvelimia, nimipalvelimia tai aliaksia.

  • A — IPv4-osoite
  • AAAA — IPv6-osoite
  • MX — sähköpostipalvelimet
  • NS — nimipalvelimet
  • CNAME — alias
dig example.com MX +short
dig example.com NS +short

nslookup ja host

nslookup ja host ovat yksinkertaisempia vaihtoehtoja komennolle dig. Ne sopivat nopeisiin tarkistuksiin ja käänteiseen kyselyyn (IP-osoitteesta nimeksi).

Käänteisissä kyselyissä osoitteelle haetaan PTR-tietue.

host example.com
nslookup example.com
dig -x 8.8.8.8 +short

Tietyn palvelimen kysely

Voitte selvittää, onko ongelma jossakin selvityspalvelimessa, kohdistamalla kyselyn tiettyyn palvelimeen syntaksilla @. Jos julkinen selvityspalvelin toimii mutta omanne ei, ongelma on DNS-asetuksissanne.

dig @1.1.1.1 example.com +short
dig @8.8.8.8 example.com +short

Vianmäärityksen etenemismalli

Kun nimeä ei voida selvittää, käykää kerrokset läpi seuraavasti:

  • Voitteko pingata IP-osoitetta suoraan? (sulkee verkko-ongelman pois)
  • Toimiiko dig @1.1.1.1 name? (sulkee itse nimeen liittyvän ongelman pois)
  • Toimiiko dig name oletusselvityspalvelimellanne? (rajaa selvityspalvelimen asetuksiin liittyvän ongelman)
  • Ohittaako vanhentunut /etc/hosts-merkintä oikean tiedon?
ping -c1 1.1.1.1
dig @1.1.1.1 example.com +short
dig example.com +short

Parhaat käytännöt

Pidättehän nimien selvityksen luotettavana:

  • Käyttäkää vähintään kahta selvityspalvelinta vikasietoisuuden lisäämiseksi
  • Älkää muokatko tiedostoa resolv.conf käsin, jos sitä hallitaan automaattisesti
  • Käyttäkää tiedostoa /etc/hosts testaamiseen, mutta poistakaa vanhentuneet merkinnät
  • Suosikaa skripteissä komentoa dig +short selkeän tulosteen saamiseksi

Pikatarkistus

Testatkaa DNS-vianmääritystä koskeva osaamisenne.

Kertaus

Osaatte nyt määrittää ja selvittää DNS-ongelmia palvelimella:

  • Nimien selvitysjärjestys tiedostojen /etc/nsswitch.conf ja /etc/hosts avulla
  • Selvityspalvelimet tiedostossa resolv.conf / palvelussa systemd-resolved
  • Kyselyt komennoilla dig, host ja nslookup, mukaan lukien tiettyjen tietuetyyppien ja palvelimien kysely
  • Kerrostettu vianmäärityksen etenemismalli

Tämä täydentää verkko- ja palomuuritaitojanne nimien selvityksen hallinnalla.

Aloita maksutta

Opi Linux-palvelinten käyttöönotto ja SSH:n hallinta tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
12
Oppitunnit
48

Usein kysytyt kysymykset

Onko oppitunti ”DNS-määritykset ja vianmääritys” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Linux-palvelinten käyttöönotto ja SSH:n hallinta-oppimispolun 3 oppituntia, myös oppitunnin “DNS-määritykset ja vianmääritys”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Linux-palvelinten käyttöönotto ja SSH:n hallinta-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”DNS-määritykset ja vianmääritys”?

Ymmärrä, miten Linux-palvelimet selvittävät isäntänimet IP-osoitteiksi: määritä nimipalvelimet, muokkaa /etc/hosts-tiedostoa ja käytä dig-, nslookup- ja host-komentoja DNS-ongelmien selvittämiseen, v… Harjoittelet Linux-palvelinten käyttöönotto ja SSH:n hallinta-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Linux-palvelinten käyttöönotto ja SSH:n hallinta-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Linux-palvelinten käyttöönotto ja SSH:n hallinta-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.

Kuinka kauan ”DNS-määritykset ja vianmääritys”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Linux-palvelinten käyttöönotto ja SSH:n hallinta-oppitunnilla?

Kyllä. Jokainen Linux-palvelinten käyttöönotto ja SSH:n hallinta-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Verkon perusmääritykset
  2. Palomuurien ymmärtäminen (UFW/firewalld)
  3. Porttien hallinta ja suojaus
  4. DNS-määritykset ja vianmääritys
← Takaisin: Linux-palvelinten käyttöönotto ja SSH:n hallinta