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.
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 dnsTiedosto /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 dbMissä 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 statusDNS-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 eth0Tietueiden 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.comTietyn tietuetyypin kysely
DNS tallentaa monenlaisia tietuetyyppejä. Määrittäkää tietuetyyppi, kun haluatte tarkastella sähköpostipalvelimia, nimipalvelimia tai aliaksia.
A— IPv4-osoiteAAAA— IPv6-osoiteMX— sähköpostipalvelimetNS— nimipalvelimetCNAME— alias
dig example.com MX +short
dig example.com NS +shortnslookup 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 +shortTietyn 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 +shortVianmää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 nameoletusselvityspalvelimellanne? (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 +shortParhaat 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.confkäsin, jos sitä hallitaan automaattisesti - Käyttäkää tiedostoa
/etc/hoststestaamiseen, mutta poistakaa vanhentuneet merkinnät - Suosikaa skripteissä komentoa
dig +shortselkeä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.confja/etc/hostsavulla - Selvityspalvelimet tiedostossa
resolv.conf/ palvelussasystemd-resolved - Kyselyt komennoilla
dig,hostjanslookup, mukaan lukien tiettyjen tietuetyyppien ja palvelimien kysely - Kerrostettu vianmäärityksen etenemismalli
Tämä täydentää verkko- ja palomuuritaitojanne nimien selvityksen hallinnalla.
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
- Verkon perusmääritykset
- Palomuurien ymmärtäminen (UFW/firewalld)
- Porttien hallinta ja suojaus
- DNS-määritykset ja vianmääritys