DNS-uudelleenohjaus. Mitä vikaa CNAME:ssa? Aluetiedostojen merkinnät

DNS (Domain Nimijärjestelmä) on tärkeä ja melko vaikeasti konfiguroitava komponentti, joka on välttämätön verkkosivustojen ja palvelimien toiminnalle. Monet käyttäjät käyttävät palveluntarjoajansa tarjoamia DNS-palvelimia, mutta omien DNS-palvelimien omistamisella on joitain etuja.

Tässä opetusohjelmassa opit asentamaan Bind9:n ja määrittämään sen välimuistipalvelimeksi tai edelleenlähettäväksi DNS-palvelimeksi Ubuntu palvelin 14.04.

Vaatimukset

  • Ymmärtäminen perustyypit DNS-palvelimet. Voit tutustua tarkemmin osoitteessa.
  • Kaksi konetta, joista ainakin toisessa on Ubuntu 14.04. Ensimmäinen kone konfiguroidaan asiakkaaksi (IP-osoite 192.0.2.100) ja toinen DNS-palvelimeksi (192.0.2.1).

Opit määrittämään asiakaskone kyselyjen lähettämiseen DNS-palvelimen kautta.

DNS-palvelimen välimuisti

Tämän tyyppisiä palvelimia kutsutaan myös määrittelijöiksi, koska ne käsittelevät rekursiiviset kyselyt ja voi yleensä etsiä DNS-tiedot ei muita palvelimia.

Kun välimuistissa oleva DNS-palvelin tarkkailee vastausta asiakaskyselyyn, se palauttaa vastauksen asiakkaalle ja myös tallentaa sen välimuistiin vastaavien DNS-tietueiden TTL-arvon salliman ajan. Välimuistia voidaan sitten käyttää vastauslähteenä seuraaviin pyyntöihin pyyntöjen kokonaiskäsittelyajan nopeuttamiseksi.

Melkein kaikki verkkokokoonpanosi DNS-palvelimet ovat välimuistipalvelimia. DNS-palvelimen välimuisti - hyvä valinta moneen tilanteeseen. Jos et halua luottaa palveluntarjoajasi DNS-palvelimiin tai muihin julkisiin DNS-palvelimiin, määritä oma välimuistipalvelimesi. Mitä lyhyempi etäisyys DNS-palvelimesta on asiakaskoneet, sitä lyhyempi aika DNS-pyyntöjen palvelemiseen kuluu.

Edelleenlähetys DNS-palvelinta

Asiakkaan näkökulmasta edelleenlähettävä DNS-palvelin näyttää melkein samalta kuin välimuistipalvelin, mutta mekanismit ja työmäärä ovat täysin erilaiset.

Edelleenlähettävällä DNS-palvelimella on samat edut kuin välimuistipalvelimella. Se ei kuitenkaan suorita mitään rekursiivisia kyselyitä. Sen sijaan se välittää kaikki pyynnöt ulkoiselle resoluutiopalvelimelle ja tallentaa sitten tulokset välimuistiin myöhempiä pyyntöjä varten.

Tämä mahdollistaa uudelleenohjauspalvelimen palvelevan pyyntöjä välimuististaan ​​ilman, että sen tarvitsee käsitellä rekursiivisia pyyntöjä. Siten tämä palvelin käsittelee vain yksittäisiä pyyntöjä (uudelleenohjattuja asiakaspyyntöjä) eikä koko rekursiomenettelyä. Tästä voi olla hyötyä ympäristöissä, joissa on rajoitettu ulkoinen kaistanleveys, joissa välimuistipalvelimia on vaihdettava usein, ja tilanteissa, joissa paikalliset pyynnöt on reitittävä yhdelle palvelimelle ja ulkoiset pyynnöt toiselle.

1: Asenna Bind DNS-palvelimeen

Bind-paketti löytyy virallisesta Ubuntu-arkistosta. Päivitä pakettihakemistosi ja asenna Bind apt managerin avulla. Sinun on myös asennettava pari riippuvuutta.

sudo apt-get päivitys
sudo apt-get install bind9 bind9utils bind9-doc

Tämän jälkeen voit aloittaa palvelimen asennuksen. Välimuistipalvelimen kokoonpanoa voidaan käyttää mallina edelleenlähetyspalvelimen määrittämiseen, joten sinun on ensin määritettävä välimuistipalvelimen DNS-palvelin.

2: Välimuistin DNS-palvelimen määrittäminen

Ensin sinun on määritettävä Bind välimuistipalvelimeksi. Tämä kokoonpano pakottaa palvelimen etsimään rekursiivisesti vastauksia asiakkaiden pyyntöihin muilta DNS-palvelimista. Se kyselee peräkkäin kaikkia vastaavia DNS-palvelimia, kunnes se löytää vastauksen.

Bind-määritystiedostot tallennetaan /etc/bind-hakemistoon.

Useimpia tiedostoja ei tarvitse muokata. Pääasetustiedosto on nimeltään named.conf (named ja bind ovat kaksi nimeä samalle sovellukselle). Tämä tiedosto viittaa named.conf.options-, named.conf.local- ja named.conf.default-zones-tiedostoihin.

Välimuistin DNS-palvelimen määrittämiseksi tarvitsee vain muokata named.conf.options-tiedostoja.

sudo nano named.conf.options

Tämä tiedosto näyttää tältä (kommentit jätetty pois yksinkertaisuuden vuoksi):

vaihtoehdot (
hakemisto "/var/cache/bind";
dnssec-validation auto;

listen-on-v6 (mikä tahansa; );
};

Välimuistipalvelimen määrittämistä varten sinun on luotava käyttöoikeusluettelo eli ACL.

Sinun on suojattava DNS-palvelin, joka käsittelee rekursiivisia kyselyjä hyökkääjiltä. DNS-vahvistushyökkäykset ovat erityisen vaarallisia, koska ne voivat aiheuttaa palvelimen hajautettuja palvelunestohyökkäyksiä.

DNS-vahvistushyökkäykset ovat yksi tapa kaataa palvelimia ja verkkosivustoja. Tätä varten hyökkääjät yrittävät löytää julkisia DNS-palvelimia, jotka käsittelevät rekursiivisia kyselyjä. He huijaavat uhrin IP-osoitetta ja lähettävät kyselyn, joka palauttaa erittäin suuren vastauksen DNS-palvelimelle. Tässä tapauksessa DNS-palvelin palauttaa liian paljon tietoa uhrin palvelimelle vastauksena pieneen pyyntöön, mikä lisää käytettävissä olevaa läpijuoksu tunkeilija.

Julkisen rekursiivisen DNS-palvelimen isännöinti vaatii huolellista määritystä ja hallintaa. Estä palvelimesi hakkerointi määrittämällä luettelo IP-osoitteista tai verkkoalueista, joihin palvelin voi luottaa.

Ennen asetuslohkoa lisää acl-lohko. Luo tunniste ACL-ryhmälle (tässä opetusohjelmassa ryhmää kutsutaan goodclientsiksi).

acl hyvät asiakkaat (
};
vaihtoehdot (
. . .

Tässä lohkossa luetellaan IP-osoitteet tai verkot, joilla on pääsy tähän DNS-palvelimeen. Koska palvelin ja asiakas toimivat /24-aliverkossa, voit rajoittaa pääsyä tähän aliverkkoon. Sinun on myös poistettava eston localhost ja paikallisverkot, jotka muodostavat yhteyden automaattisesti.

acl hyvät asiakkaat (
192.0.2.0/24;
paikallinen isäntä;
paikallisverkot;
};
vaihtoehdot (
. . .

Sinulla on nyt suojattu asiakkaan ACL. Voit aloittaa pyynnön ratkaisun asettamisen asetuslohkossa. Lisää siihen seuraavat rivit:

vaihtoehdot (
hakemisto "/var/cache/bind";
rekursio kyllä;

. . .

Asetuslohko ottaa nimenomaisesti käyttöön rekursion ja määrittää sitten allow-query-asetuksen käyttämään ACL-luetteloa. Voit myös käyttää toista parametria, kuten allow-recursio, viitataksesi ACL-ryhmään. Kun rekursio on käytössä, salli-rekursio määrittää luettelon asiakkaista, jotka voivat käyttää rekursiivisia palveluita.

Jos salli-rekursiota ei kuitenkaan ole asetettu, Bind siirtyy takaisin allow-query-cache-luetteloon, sitten allow-query-luetteloon ja lopuksi oletusarvoisiin paikallisverkkoihin ja localhost-luetteloihin. Koska asetamme vain välimuistipalvelimen (sillä ei ole omia vyöhykkeitä eikä se välitä kyselyitä), salli-kyselyluettelo koskee aina vain rekursiota. Tämä on eniten yleinen menetelmä ACL-määritelmät.

Tallenna ja sulje tiedosto.

Nämä ovat kaikki asetukset, jotka on lisättävä välimuistin DNS-palvelimen määritystiedostoon.

Huom: Jos haluat käyttää vain tätä DNS-tyyppi, jatka asetusten tarkistamiseen, käynnistä palvelu uudelleen ja määritä asiakas.

3: Edelleenlähettävän DNS-palvelimen määrittäminen

Jos infrastruktuurisi sopii paremmin edelleenlähettävälle DNS-palvelimelle, voit säätää asetuksia hieman.

Päällä tällä hetkellä named.conf.options-tiedosto näyttää tältä:

acl hyvät asiakkaat (
192.0.2.0/24;
paikallinen isäntä;
paikallisverkot;
};
vaihtoehdot (
hakemisto "/var/cache/bind";
rekursio kyllä;
salli-query(hyväasiakkaat;);
dnssec-validation auto;
auth-nxdomain no; # RFC1035:n mukainen
listen-on-v6 (mikä tahansa; );
};

Voit käyttää samaa ACL-luettelo DNS-palvelimen rajoittamiseksi tiettyyn asiakasluetteloon. Tämä vaatii kuitenkin pientä asetusmuutosta, jotta palvelin ei enää yritä suorittaa rekursiivisia kyselyjä.

Älä muuta rekursiota arvoksi ei. Uudelleenohjauspalvelin tukee edelleen rekursiivisia palveluita. Jotta voit määrittää uudelleenohjauspalvelimen, sinun on luotava luettelo välimuistipalvelimista, joihin se uudelleenohjaa pyynnöt.

Tämä tehdään option()-lohkossa. Ensin sinun on luotava siihen uusi lohko huolitsijat, joihin tallennetaan niiden rekursiivisten nimipalvelinten IP-osoitteet, joihin pyynnöt tulee välittää. IN tässä tapauksessa nämä ovat Googlen DNS-palvelimia (8.8.8.8 ja 8.8.4.4):

. . .
vaihtoehdot (
hakemisto "/var/cache/bind";
rekursio kyllä;
salli-query(hyväasiakkaat;);
huolitsijat (

8.8.8.8;

8.8.4.4;

};
. . .

Tuloksena oleva konfiguraatio näyttää tältä:

acl hyvät asiakkaat (
192.0.2.0/24;
paikallinen isäntä;
paikallisverkot;
};
vaihtoehdot (
hakemisto "/var/cache/bind";
rekursio kyllä;
salli-query(hyväasiakkaat;);
huolitsijat (
8.8.8.8;
8.8.4.4;
};
vain eteenpäin;
dnssec-validation auto;
auth-nxdomain no; # RFC1035:n mukainen
listen-on-v6 (mikä tahansa; );
};

Viimeinen muutos koskee dnssec-parametria. klo nykyinen kokoonpano ja riippuen niiden DNS-palvelimien asetuksista, joihin pyynnöt uudelleenohjataan, lokeissa saattaa esiintyä seuraavia virheitä:

25. kesäkuuta 15:03:29 välimuistin nimi: virhe (chase DS-palvelimet) ratkaistaessa "in-addr.arpa/DS/IN": 8.8.8.8#53
25. kesäkuuta 15:03:29 välimuistin nimi: virhe (ei kelvollista DS:ää) ratkaisee "111.111.111.111.in-addr.arpa/PTR/IN": 8.8.4.4#53

Niiden välttämiseksi sinun on muutettava dnssec-validation-parametri yes-arvoon ja otettava dnssec käyttöön.

. . .
vain eteenpäin;
dnssec-käytössä kyllä;
dnssec-validointi kyllä;
auth-nxdomain no; # RFC1035:n mukainen
. . .

Tallenna ja sulje tiedosto. Edelleenlähettävän DNS-palvelimen asennus on valmis.

4: Tarkista asetukset ja käynnistä Bind uudelleen

Nyt sinun on varmistettava, että asetukset toimivat odotetulla tavalla.

Tarkistaaksesi syntaksin asetustiedostot, kirjoita:

sudo named-checkconf

Jos tiedostoissa ei ole virheitä, komentokehote ei näytä tulostetta.

Jos saat virheilmoituksen, korjaa se ja testaa uudelleen.

Voit sitten käynnistää Bind-daemonin uudelleen päivittääksesi asetukset.

sudo service bind9 käynnistyy uudelleen

Sitten sinun on tarkistettava palvelimen lokit. Suorita komento palvelimella:

sudo tail -f /var/log/syslog

Avaa nyt uusi pääte ja aloita asiakaskoneen asetukset.

5: Asiakkaan asetukset

Kirjaudu asiakaskoneeseen. Varmista, että asiakas on määritetty määritetyn DNS-palvelimen ACL-ryhmässä. Muussa tapauksessa DNS-palvelin kieltäytyy palvelemasta tämän asiakkaan pyyntöjä.

Muokkaa /etc/resolv.conf-tiedostoa osoittamaan palvelin nimipalvelimelle.

Tässä tehdyt muutokset pysyvät vain uudelleenkäynnistykseen asti, mikä on hienoa testausta varten. Jos olet tyytyväinen testiasetusten tuloksiin, voit tehdä näistä asetuksista pysyviä.

Avaa tiedosto sudolla tekstieditorissa:

sudo nano /etc/resolv.conf

Tiedostossa on lueteltava DNS-palvelimet, joita käytetään kyselyjen ratkaisemiseen. Käytä tähän nimipalvelindirektiiviä. Kommentoi kaikki nykyiset merkinnät ja lisää nimipalvelinrivi, joka osoittaa DNS-palvelimellesi:

nimipalvelin 192.0.2.1
# nimipalvelin 8.8.4.4
# nimipalvelin 8.8.8.8
# nimipalvelin 209.244.0.3

Tallenna ja sulje tiedosto.

Voit nyt lähettää testipyynnön varmistaaksesi, että se ratkeaa oikein.

Voit käyttää pingiä tähän:

ping -c 1 google.com
PING google.com (173.194.33.1) 56 (84) tavua tietoa.
64 tavua osoitteesta sea09s01-in-f1.1e100.net (173.194.33.1): icmp_seq=1 ttl=55 aika=63,8 ms
--- google.comin ping-tilastot ---
1 paketti lähetetty, 1 vastaanotettu, 0% pakettihäviö, aika 0ms
rtt min/avg/max/mdev = 63,807/63,807/63,807/0,000 ms

  • Käännös

Huomaavainen lukija löytää IPv6:n tästä kuvasta


Ihmiset ovat usein hämmentyneitä verkkotunnuksista. Miksi sivustoni ei toimi? Miksi tämä paska on rikki, mikään ei auta, haluan vain sen toimivan! Yleensä kysyjä joko ei tiedä DNS:stä tai ei ymmärrä perusideoita. Monille DNS on pelottava ja käsittämätön asia. Tämä artikkeli on yritys karkottaa tällainen pelko. DNS on Vain, jos ymmärrät muutaman peruskäsitteen.

Mikä on DNS

DNS tarkoittaa Domain Name System. Se on maailmanlaajuisesti hajautettu avainarvovarasto. Palvelimet ympäri maailmaa voivat antaa sinulle arvon avaimella, ja jos he eivät tiedä avainta, he pyytävät apua toiselta palvelimelta.


Siinä se. Onko se totta. Sinä tai selaimesi pyytää arvoa avaimelle www.example.com ja saa vastauksena arvon 1.2.3.4.

Perusasiat

DNS:n suuri etu on, että se on julkinen palvelu, ja voit tunkeutua palvelimiin, jos haluat selvittää sen. Kokeillaan sitä. Minulla on verkkotunnus petekeen.net, jota isännöidään koneessa web01.bugsplat.info. Alla käytetyt komennot voidaan suorittaa osoitteesta komentorivi OS X ( eli macOS, - noin. kaista).


Katsotaanpa nimen ja osoitteen välistä kartoitusta:


$ dig web01.bugsplat.info

Dig-komento on Sveitsin armeijan DNS-kyselyjen veitsi. Jyrkkä, monitoimityökalu. Tässä on vastauksen ensimmäinen osa:


; <<>> DiG 9.7.6-P1<<>> web01.bugsplat.info ;; yleiset valinnat: +cmd ;; Sain vastauksen: ;; ->> OTSIKKO<<- opcode: QUERY, status: NOERROR, id: 51539 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

Tässä on vain yksi mielenkiintoinen yksityiskohta: tiedot itse pyynnöstä. Siinä sanotaan, että pyysimme tietuetta ja saimme täsmälleen yhden vastauksen. Tässä:


;; KYSYMYSOSIO: ;web01.bugsplat.info. IN A

dig pyytää A tietueet oletuksena. A tämä osoite(osoite), ja tämä on yksi DNS:n perustietuetyypeistä. A sisältää yhden IPv4-osoitteen. IPv6-osoitteille on olemassa vastine - AAAA. Katsotaanpa vastausta:


;; VASTAUSOSIO: web01.bugsplat.info. 300 IN A 192.241.250.244

Vastauksen loppuosa kuvaa itse vastausta:


;; Kyselyaika: 20 ms ;; PALVELIN: 192.168.1.1#53(192.168.1.1) ;; MILLOIN: pe 19. heinäkuuta 20:01:16 2013 ;; MSG-KOKO rcvd: 56

Se kertoo erityisesti kuinka kauan palvelimelta kesti vastata, mikä palvelimen IP-osoite oli (192.168.1.1), mikä portin kaivaus oli päällä (53, oletus DNS-portti), milloin pyyntö suoritettiin ja kuinka monta tavua olivat vastauksessa.


Kuten näet, normaalilla DNS-kyselyllä tapahtuu paljon. Joka kerta kun avaat verkkosivun, selain tekee kymmeniä näitä pyyntöjä, mukaan lukien kaikkien ulkoisten resurssien, kuten kuvien ja komentosarjojen, lataaminen. Jokainen resurssi vastaa vähintään yhdestä uudesta DNS-kyselystä, ja jos DNS:ää ei olisi suunniteltu vahvaan välimuistiin, syntyisi paljon liikennettä.


Mutta tässä esimerkissä ei ole selvää, että DNS-palvelin 192.168.1.1 otti yhteyttä useisiin muihin palvelimiin vastatakseen yksinkertaiseen kysymykseen: "Mihin osoite web01.bugsplat.info osoittaa?" Ajetaan jäljitys saadaksesi selville koko mahdollinen ketju, jonka kaivaminen "y" joutuisi käymään läpi, jos tietoja ei olisi välimuistissa:


$ dig +trace web01.bugsplat.info ;<<>> DiG 9.7.6-P1<<>> +trace web01.bugsplat.info ;; yleiset asetukset: +cmd . 137375 IN NS l.root-servers.net. . 137375 IN NS m.root-servers.net. . 137375 IN NS a.root-servers.net. . 137375 IN NS b.root-servers.net. . 137375 IN NS c.root-servers.net. . 137375 IN NS d.root-servers.net. . 137375 IN NS e.root-servers.net. . 137375 IN NS f.root-servers.net. . 137375 IN NS g.root-servers.net. . 137375 IN NS h.root-servers.net. . 137375 IN NS i.root-servers.net. . 137375 IN NS j.root-servers.net. . 137375 IN NS k.root-servers.net. ;; Vastaanotettu 512 tavua kohteesta 192.168.1.1#53(192.168.1.1) 189 ms:n tiedoissa. 172800 IN NS c0.info.afilias-nst.info. tiedot. 172800 IN NS a2.info.afilias-nst.info. tiedot. 172800 IN NS d0.info.afilias-nst.org. tiedot. 172800 IN NS b2.info.afilias-nst.org. tiedot. 172800 IN NS b0.info.afilias-nst.org. tiedot. 172800 IN NS a0.info.afilias-nst.info. ;; Vastaanotettu 443 tavua osoitteesta 192.5.5.241#53(192.5.5.241) 1224 ms:ssa bugsplat.info. 86400 IN NS ns-1356.awsdns-41.org. bugsplat.info. 86400 IN NS ns-212.awsdns-26.com. bugsplat.info. 86400 IN NS ns-1580.awsdns-05.co.uk. bugsplat.info. 86400 IN NS ns-911.awsdns-49.net. ;; Vastaanotettu 180 tavua osoitteesta 199.254.48.1#53(199.254.48.1) 239 ms:ssa web01.bugsplat.info. 300 IN A 192.241.250.244 bugsplat.info. 172800 IN NS ns-1356.awsdns-41.org. bugsplat.info. 172800 IN NS ns-1580.awsdns-05.co.uk. bugsplat.info. 172800 IN NS ns-212.awsdns-26.com. bugsplat.info. 172800 IN NS ns-911.awsdns-49.net. ;; Vastaanotettu 196 tavua osoitteesta 205.251.195.143#53(205.251.195.143) 15 ms:ssa

Tiedot näytetään hierarkkisessa järjestyksessä. Muista, kuinka dig lisäsi pisteen. isännän jälkeen web01.bugsplat.info ? Eli piste. tämä on tärkeä yksityiskohta ja se merkitsee hierarkian juurta.


DNS-juuripalvelimia ylläpitävät useat yritykset ja maat ympäri maailmaa. Aluksi niitä oli vähän, mutta Internet kasvoi, ja nyt niitä on 13. Mutta jokaisella palvelimilla on kymmeniä tai satoja fyysisiä koneita, jotka on piilotettu yhden IP-osoitteen taakse.


Joten jäljityksen yläosassa ovat juuripalvelimet, joista jokainen tunnistetaan NS-tietueella. NS-tietue liittää toimialueen nimen (tässä tapauksessa päätoimialueen) DNS-palvelimeen. Kun rekisteröit verkkotunnuksen rekisterinpitäjälle, kuten Namecheap tai Godaddy, he luovat sinulle NS-tietueita.


Seuraavassa lohkossa voit nähdä kuinka dig valitsi satunnaisen juuripalvelimen ja pyysi siltä A-tietuetta web01.bugsplat.infolle. Vain juuripalvelimen IP-osoite (192.5.5.241) näkyy. Mikä juuripalvelin sitten tarkalleen oli? Otetaanpa selvää!


$ dig -x 192.5.5.241 ;<<>> DiG 9.8.3-P1<<>> -x 192.5.5.241 ;; yleiset valinnat: +cmd ;; Sain vastauksen: ;; ->> OTSIKKO<<- opcode: QUERY, status: NOERROR, id: 2862 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;241.5.5.192.in-addr.arpa. IN PTR ;; ANSWER SECTION: 241.5.5.192.in-addr.arpa. 3261 IN PTR f.root-servers.net.

Lippu -x saa digin suorittamaan IP-osoitteen käänteisen haun. DNS vastaa PTR-tietueella, joka yhdistää IP:n ja isännän, tässä tapauksessa f.root-servers.net.


Palatakseni alkuperäiseen pyyntöömme, juuripalvelin F palautti eri joukon NS-palvelimia. Se vastaa tiedon ylätason verkkotunnuksesta. dig pyytää yhdeltä näistä palvelimista A-tietueen web01.bugsplat.info -tiedostolle ja vastaanottaa vastauksena toisen joukon NS-palvelimia ja tekee sitten kyselyitä yksi näistä web01.bugsplat.info-palvelimen tietue A. . Ja lopulta hän saa vastauksen!


Oho! Liikennettä syntyisi paljon, mutta lähes kaikki nämä tietueet säilyivät pitkään välimuistissa ketjun jokaisessa palvelimessa. Myös tietokoneesi tallentaa nämä tiedot välimuistiin, kuten selaimesi. Useimmiten DNS-kyselyt eivät koskaan saavuta juuripalvelimia, koska niiden IP-osoitteet eivät juuri koskaan muutu ( "Puhumme luultavasti heidän tietokannassa olevien tietueiden suuresta TTL:stä. Jos DNS-palvelimen IP-osoite ei ole koskaan muuttunut, se ei tarkoita, että sen tietokanta olisi välimuistissa ikuisesti."- noin rrravista). Huipputason verkkotunnukset com, net, org jne. ovat myös yleensä runsaasti välimuistissa.

Muut tyypit

On olemassa muutamia muitakin tyyppejä, joista kannattaa tietää. Ensimmäinen on MX. Se yhdistää verkkotunnuksen yhteen tai useampaan sähköpostipalvelimeen. Sähköposti on niin tärkeä, että sillä on oma DNS-tietueen tyyppi. Tässä ovat petekeen.net:n MX-arvot:


$ dig petekeen.net mx ;<<>> DiG 9.7.6-P1<<>> petekeen.net mx ;; yleiset valinnat: +cmd ;; Sain vastauksen: ;; ->> OTSIKKO<<- opcode: QUERY, status: NOERROR, id: 18765 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;petekeen.net. IN MX ;; ANSWER SECTION: petekeen.net. 86400 IN MX 60 web01.bugsplat.info. ;; Query time: 272 msec ;; SERVER: 192.168.1.1#53(192.168.1.1) ;; WHEN: Fri Jul 19 20:33:43 2013 ;; MSG SIZE rcvd: 93

Huomaa, että MX-tietue osoittaa nimeen, ei IP-osoitteeseen.


Toinen sinulle todennäköisesti tuttu tyyppi on CNAME. Salakirjoitus kuin Kanoninen nimi(kanoninen nimi). Hän yhdistää yhden nimen toiseen. Katsotaanpa vastausta:


$ dig www.petekeen.net ;<<>> DiG 9.7.6-P1<<>> www.petekeen.net ;; yleiset valinnat: +cmd ;; Sain vastauksen: ;; ->> OTSIKKO<<- opcode: QUERY, status: NOERROR, id: 16785 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;www.petekeen.net. IN A ;; ANSWER SECTION: www.petekeen.net. 86400 IN CNAME web01.bugsplat.info. web01.bugsplat.info. 300 IN A 192.241.250.244 ;; Query time: 63 msec ;; SERVER: 192.168.1.1#53(192.168.1.1) ;; WHEN: Fri Jul 19 20:36:58 2013 ;; MSG SIZE rcvd: 86

On heti selvää, että saimme kaksi vastausta. Ensimmäinen sanoo, että www.petekeen.net osoittaa osoitteeseen web01.bugsplat.info. Toinen palauttaa kyseisen palvelimen A-tietueen. Voit ajatella CNAME:n aliaksena (tai aliaksena) toiselle palvelimelle.

Mitä vikaa CNAME:ssa

CNAME-tietueet ovat erittäin hyödyllisiä, mutta siinä on tärkeä seikka: jos CNAME on tietyllä nimellä, et voi luoda toista samannimistä tietuetta. Ei MX, ei A, ei NS, ei mitään.


Syynä on se, että DNS suorittaa korvauksen siten, että kaikki tietueet paikassa, johon CNAME osoittaa, ovat voimassa myös CNAME:lle. Esimerkissämme kohdat www.petekeen.net ja web01.bugsplat.info täsmäävät.


Siksi et voi tehdä CNAME-tunnusta juuriverkkotunnuksessa, kuten petekeen.net, koska se tarvitsee yleensä muita tietueita, kuten MX:n.

Pyynnöt muille palvelimille

Kuvitellaan, että DNS-kokoonpano on vioittunut. Luuletko korjaaneesi ongelman, mutta et halua odottaa välimuistin päivittymistä varmistaaksesi. Digiä käyttämällä voit tehdä pyynnön julkiselle DNS-palvelimelle oletuspalvelimen sijaan, kuten näin:


$dig www.petekeen.net @8.8.8.8

@-symboli, jossa on IP-osoite tai isäntä, saa digin tekemään pyynnön määritetylle palvelimelle oletusportissa. Voit käyttää Googlen julkista DNS-palvelinta tai lähes julkista tason 3 palvelinta kohdassa 4.2.2.2.

Tyypillisiä tilanteita

Katsotaanpa tyypillisiä monille verkkokehittäjille tuttuja tilanteita.

Verkkotunnuksen uudelleenohjaus osoitteeseen www

Usein sinun on ohjattava isketlemanstillopen.com-verkkotunnus osoitteeseen www.isketlemanstillopen.com. Rekisterinpitäjät, kuten Namecheap tai DNSimple, kutsuvat tätä URL-uudelleenohjaus. Tässä on esimerkki Namecheapin hallintapaneelista:



@-symboli osoittaa juuriverkkotunnuksen isketlemanstillopen.com. Katsotaanpa tämän verkkotunnuksen A-tietuetta:


$ dig isketlemanstillopen.com ;; KYSYMYSOSIO: ;isketlemanstillopen.com. IN A ;; VASTAUSOSIO: isketlemanstillopen.com. 500 IN A 192.64.119.118

Tämä IP kuuluu Namecheapille, ja siellä on käynnissä pieni verkkopalvelin, joka yksinkertaisesti uudelleenohjaa HTTP-tasolla osoitteeseen http://www.isketlemanstillopen.com:


$ curl -I isketlemanstillopen.com curl -I iskettlemanstillopen.com HTTP/1.1 302 Siirretty väliaikaisesti Palvelin: nginx Päivämäärä: pe, 19. heinäkuuta 2013 23:53:21 GMT Sisältötyyppi: text/html Yhteys: pidä elossa Sisältö-pituus : 154 Sijainti: http://www.isketlemanstillopen.com/

CNAME Herokulle tai Githubille

Katso yllä olevaa kuvakaappausta. Toisella rivillä on CNAME. Tässä tapauksessa www.isketlemanstillopen.com viittaa Herokussa toimivaan sovellukseen.


$ heroku domains === warm-journey-3906 Domain Names warm-journey-3906.herokuapp.com www.isketlemanstillopen.com

Tarina on samanlainen Githubin kanssa, mutta siellä sinun on luotava erityinen tiedosto arkiston juureen ja kutsuttava sitä CNAME. Katso dokumentaatio .dns Lisää tunnisteita

Domain Redirection -palvelun avulla voit määrittää sääntöjä ja ohjata verkkotunnuksen nimeä käyttävän vierailijan määrittämääsi Internet-osoitteeseen. Palvelu tukee työtä minkä tahansa verkkotunnuksen kanssa. .

Tässä artikkelissa puhumme palvelun kanssa työskentelyn asetuksista.

Verkkotunnuksen asetukset

Palvelu voi toimia vain, jos verkkotunnuksesi on delegoitu. Toimialueen delegoimiseen tarvitaan DNS-palvelimia, jotka voivat tarjota Internet-käyttäjille tietoja toimialueestasi (vyöhykkeestäsi). Tällaisia ​​palvelimia on oltava kaksi tai useampia.

Domain Redirection -palvelu sisältää jo tuen DNS. Jos palvelu tilataan samalla sopimuksella kuin verkkotunnus, asetukset tehdään automaattisesti tilauksen yhteydessä.

Voit myös määrittää DNS-palvelimet itsenäisesti riippuen sen toimialueen tasosta, jolle uudelleenohjauspalvelu on tilattu:

ns3-fwl2.site
ns4-fwl2.site
ns8-fwl2.site

ns3-fwl3.site
ns4-fwl3.site
ns8-fwl3.site

ns3-fwl4.site
ns4-fwl4.site
ns8-fwl4.site

ns3-fwl5.site
ns4-fwl5.site
ns8-fwl5.site

Aluetiedostojen merkinnät

Jos käytät DNS-palvelimia, jotka sisältyvät Domain Redirection -palveluun, tarvittavat tietueet syötetään automaattisesti.

Kun käytät omia DNS-palvelimia, sinun on lisättävä A-tietueet ensisijaisen DNS-palvelimen toimialueen vyöhyketiedostoon. Osana uudelleenohjauspalvelua on määritettävä sama IP-osoite itse toimialueelle ja sen aliverkkotunnuksille.

Riippuen toimialuetasosta, jolle uudelleenohjauspalvelu on tilattu, A-tietueiden tulee olla seuraavat:

  • toisen tason verkkotunnukselle, kirjoita web-forward.ru:

    web-forward.ru. A 109.70.27.4

  • kolmannen tason verkkotunnukselle, kirjoita test.web-forward.ru:

    test.web-forward.ru. A 109.70.27.5

  • neljännen tason verkkotunnukselle, kirjoita forum.eng.web-forward.ru:

    forum.eng.web-forward.ru. A 109.70.27.6

  • viidennen tason verkkotunnukselle, kirjoita www.forum.eng.web-forward.ru:

    www.forum.eng.web-forward.ru. A 109.70.27.7

Verkkotunnuksen uudelleenohjauspalvelun määrittäminen

Uudelleenohjaus voidaan ottaa käyttöön verkkotunnukselle, kaikille sen aliverkkotunnuksille, ja voit myös määrittää enintään kymmenen yksittäistä uudelleenohjaussääntöä tietyille aliverkkotunnuksille.

Voit tehdä muutoksia palveluasetuksiin osoitteessa Osasto asiakkaillePalvelutTietojen katselu ja muuttaminen.

Voit määrittää seuraavat parametrit kullekin uudelleenohjaussäännölle:

1. Sen aliverkkotunnuksen nimi, jolle sääntöä määritetään

Sinun on määritettävä aliverkkotunnus, josta uudelleenohjaus tehdään. Voit määrittää:

  • sen aliverkkotunnuksen nimi, jolle haluat määrittää uudelleenohjauksen. Rajoittamaton määrä sisäkkäisiä tasoja sallitaan, mutta merkinnän pituus, mukaan lukien pisteet, ei saa ylittää 63 merkkiä;
  • “*” (tähti), jos sinun on asetettava yleinen uudelleenohjaussääntö. Tämä sääntö koskee kaikkia aliverkkotunnuksia, joille ei ole määritetty yksittäisiä sääntöjä.

2. Edelleenlähetysosoite

Sen sivun URL-osoite, jolle vierailija uudelleenohjataan automaattisesti.

3. Uudelleenohjausmenetelmä

Voit valita yhden seuraavista uudelleenohjaustavoista:

  • Väliaikainen tai pysyvä uudelleenohjaus

Väliaikainen uudelleenohjaus (HTTP-vastauskoodi "302 Siirretty väliaikaisesti"). HTTP 302 -vastauskoodi kertoo asiakassovelluksille (mukaan lukien hakukoneet), että sivusto on siirtynyt väliaikaisesti. Oletuksena asennettuna.

Pysyvä uudelleenohjaus (HTTP-vastauskoodi "301 Siirretty pysyvästi"). HTTP 301 -vastauskoodi kertoo asiakassovelluksille (mukaan lukien hakukoneet), että sivusto on siirtynyt pysyvästi.

Molemmissa tapauksissa vierailija ohjataan automaattisesti sen sivun URL-osoitteeseen, jolle uudelleenohjaus tehtiin. Uudelleenohjaustavan valinnalla (301, 302) on käytännössä merkitystä vain hakukoneille.

  • Osoitteen peittäminen kehykseen

Tällä uudelleenohjausmenetelmällä verkkosivu sijaitsee kehyksen sisällä. Aina kun napsautetaan kehyksen sisällä olevia linkkejä, vierailijat näkevät selaimen osoiterivillä verkkotunnuksen nimen, josta uudelleenohjaus tehtiin. Uudelleenohjaussäännön asetuksissa määrittämäsi teksti näytetään sivun otsikkona.

Jos päätät peittää osoitteen kehyksessä, huomioi, että:

  • Kun asetat verkkosivullasi linkkejä muihin resursseihin, sinun on määritettävä linkkitunnisteessa target=_top. Muussa tapauksessa jonkun muun web-sivu avautuu myös kehyksessäsi ja vierailija näkee verkkotunnuksesi URL-kentässä. Esimerkki linkin oikeasta kirjoitusasusta tässä tapauksessa: RU-CENTER
  • Jokainen vierailija voi helposti määrittää sen verkkosivun todellisen osoitteen, jolle uudelleenohjaus tehdään, vaikka se ei näy URL-palkissa.

4. Vaihtoehto "Reitin tallennuksella".

Kun yrität päästä sivulle, joka sijaitsee sillä verkkotunnuksella, jolle sääntöä laaditaan, uudelleenohjaus tapahtuu uudelleenohjausosoitteeseen, johon lisätään polku tälle sivulle..web-forward.ru, sitten kun käytät sivu dns.web-forward..