edellisessä artikkelissa tässä kaksi-osainen sarja, Käyttöön DNS (Domain Name System), olen kuvannut, miten DNS-tietokanta rakentuu ja miten määrittää nimen palveluja asiakkaalle. Olen myös lueteltu ja kuvattu joitakin yleisimpiä DNS-tietueita olet todennäköisesti kohtaavat, kun rakennuksen nimi palvelimen tai vain yrittää tulkita tulokset dig-komennon.
tässä artikkelissa näytän, miten oma nimipalvelin rakennetaan Bindin (Berkeley Internet Name Domain) avulla., Se ei ole niin vaikeaa kuin luulisi, varsinkin koska voit tehdä sen kahdessa vaiheessa.
tässä artikkelissa, voit alkaa oppia, miten luoda caching name server, sitten voit siirtyä eteenpäin ja oppia, miten päivittää, että täydellinen ensisijainen (master) verkkotunnus, palvelin, jossa eteen-ja taaksepäin vyöhykkeellä tiedostot.
perustaa DNS-palvelimen käyttämällä BIND
Asettaminen name server käyttämällä BIND on melko suoraviivainen, niin minä näytän sinulle, miten tehdä niin tietokoneessa, saatat olla saatavilla kokeiluihin., Tämä pieni lab-hankkeen näytän sinulle, miten asentaa ja konfiguroida SITOA tietokoneeseen caching name server, testata sitä, sitten asettaa se ensisijaiseksi name server, jossa on vyöhyke-tiedoston, jonka voit käyttää, kuten nimi ratkaisijan oman verkon tai vain testausta varten.
Asettaminen name server tahansa GNU/Linux-tietokone, sinulla on käytettävissä on teknisesti mahdollista, koska se ei häiritse muita verkon isäntien tai niiden toimintaa. Sinun ei kuitenkaan pitäisi todennäköisesti tehdä tätä tietokoneella, jota et omista tai jolla on oikeus muokata, ellei sinulla ole siihen nimenomaista lupaa.,
Oma asetus
tarvitset vain yhden tietokoneen, jotta suorittaa kaikki tehtävät tässä lab-hankkeen. Käytän tätä setup paljon enemmän tehokas Acer koska nimi palvelimia tarjoamia DHCP (Dynamic Host Configuration Protocol), kun yhteyden ei-kotiin-verkkoja käyttämällä joko kiinteä tai langaton yhteydet voivat joskus olla epäluotettava. Osoittaakseni, että lähes kuka tahansa isäntä voi toimia hyvin nimipalvelimena, Olen testannut tätä projektia vanhassa ASUS EeePC 900 netbookissa.,
käytän ASUSin yksityistä IP-osoitetta tähän projektiin, mutta sinun pitäisi käyttää käyttämäsi isännän IP-osoitetta.
isäntätiedosto
ensin, katsotaan/etc / hosts-tiedosto. Oletustilassaan isäntätiedostossa pitäisi olla vain kaksi riviä, kaksi ensimmäistä riviä alla olevassa listauksessa 1.
listaus 1: voit ylläpitää yksinkertaista hosts-tiedostoa, jolla voit suorittaa resolverin toiminnon pienissä verkoissa.,
Vaikka voit lisätä isäntänimiä ja niiden IP-Osoitteet, kuten on esitetty Listing 1, tämä ei ole optimaalinen ratkaisu name services, varsinkin kun matkustat. Jos hosts-tiedostossasi on muita merkintöjä, saatat joutua kommentoimaan niitä tämän projektin ajan, jos ne häiritsevät nimeämistä tai IP-osoitteita. Useimmilla teistä ei ole muita merkintöjä kuin kaksi oletusviivaa.,
Valmistelu
caching name server voi korvata käytä /etc/hosts ratkaista isäntänimiä sisäisen verkon; kuitenkin, verrattuna siihen, että käytät ISP tai muun julkisen nimi server caching name server voi parantaa suorituskykyä, kun ratkaisemisessa yleisesti käytetty ulkoisen nimiä, kuten www.cnn.com. Paras osa on, että perustetaan caching name server on melko helppoa.
ennen aloittamista kannattaa valmistautua suorittamalla seuraavat vaiheet.
tee ensin varmuuskopiot tiedostoista/etc /hosts,/etc / named.conf, resolv.conf ja /etc/sysconfig/iptables.,
Jos ne eivät ole jo asennettu, käyttää oman jakelun paketti johtaja asentaa seuraaviin SITOA Rpm: bind, bind-chroot, ja bind-utils. Ota lab host käyttää caching name server, sinun täytyy lisätä nimen server viiva osoittamaan oman host /etc/resolv.conf. Esimerkiksi, jos lab isäntä IP-osoite on 192.168.0.203, kuten minun epc, lisää seuraava rivi alkuun nimipalvelinluettelon / etc / resolv.conf:
name server 192.168.0.203
muista käyttää IP-Osoite, isäntä, josta olet tekemässä tätä projektia.,
voit käyttää ulkoisen IP-osoitteen sijaan localhostin IP-osoitetta 127.0.0.1. Sinun pitäisi myös kommentoida mitään linjoja, jotka osoittavat muita isäntiä nimipalvelimiksi. Muista tallentaa tarkistettu resolv.conf-tiedosto.
nämä muutokset tulevat voimaan välittömästi, eikä uudelleenkäynnistystä tai palvelun uudelleenkäynnistystä tarvita. Nyt yritys ping yhteinen julkinen isäntä, joka ei estää ICMP (Internet Control Message Protocol) – paketteja; vapaasti käyttää minun palomuuri, joka on Raspberry Pi.,
ping wally2.both.org
Sinun pitäisi saada ”tuntematon isäntä” tai ”Nimi tai palvelu ei ole tiedossa” virhe, koska et tällä hetkellä ole töissä DNS-palvelua tai resolveri on määritelty resolv.conf-tiedosto. Nyt Digi-komennolla katsotaan, toimivatko nimipalvelut.
dig wally2.both.com
Sinun pitäisi saada virhe, ”Yhteys aikakatkaistiin; n palvelimet voisi olla saavutettu.”
perustaa välimuistin nimipalvelimen
välimuistin nimipalvelin ei ole arvovaltainen lähde millekään verkkotunnukselle., Se yksinkertaisesti välimuistiin tulokset kaikki nimi resolver pyyntöjä verkosta, että se palvelee nopeuttaa vastauksia tuleviin pyyntöihin saman kauko isäntä.
huomaa: the named.conf-tiedosto on hyvin tarkka syntaksista ja erityisesti välimerkeistä. Puolipisteitä käytetään rajaamaan sisääntulon pääty ja säkeistön pääty sekä viivan pääty. Muista lisätä ne oikein näytteissä esitetyllä tavalla.
alkuasetukset caching name server tekee pari muutoksia oletuksena /etc/named.conf-tiedosto on tarpeen, joten Muokkaa tiedostoa suosikkieditorisi avulla., Lisää ensin paikallisen testijuontajan IP-osoite ”listen-on port 53” – riville alla olevan luettelon 2 mukaisesti. Tämä mahdollistaa nimeltä kuunnella ulkoinen IP-Osoite, isäntä, jotta muut tietokoneet voivat käyttää sitä name server samoin.
oletusarvoisesti BIND viittaa Internetin juurinimipalvelimiin, joilla etsitään arvovaltaisia nimipalvelimia verkkotunnukselle. On mahdollista määrittää muita palvelimia, joita kutsutaan ”Huolitsijoiksi”, joihin paikallinen BIND-tapaus lähettää pyyntöjä juuripalvelimien sijaan. Tämä lisää DNS-kaappauksen mahdollisuutta.,
Lisää alla oleva ”huolitsijat” – rivi. Tämä kertoo välimuistiin DNS-palvelimen mistä saada IP-osoitteet, kun niitä ei ole jo välimuistissa paikallisesti. IP-Osoitteet luetellaan alla on Googlen julkinen DNS-palvelimet Voit käyttää oman paikallisen ISP tai OpenDNS tai jokin muu julkinen nimipalvelin kuin kuormatraktori. Se ei ole tarpeen määritellä mitään kuormatraktorit ja, siinä tapauksessa, SITOA käyttää Internetin juuripalvelimet on määritelty tiedostossa /var/named/nimetty.ca paikantaa arvovaltainen nimipalvelimet verkkotunnuksille jos ei kuormatraktorit ovat määritelty., Mutta tätä harjoitusta varten, määrittele huolitsijat kuten Minulla on listauksessa 2.
kommentoi IPV6-linjaa, koska emme käytä IPV6: ta laboratorioympäristössä. Huomaa, että ”/ / ” kaksi eteenpäin viillot merkitsevät kommentteja nimetty.conf-tiedosto.
listaus 2: The/etc / named.conf-tiedosto tarjoaa yksinkertaisen kokoonpanon, joka tarvitaan välimuistin nimipalvelimen perustamiseen. Rivit, jotka on lisättävä tai muutettava, on lihavoitu.
Lisää verkko-osoite, 192.168.0.0 / 24, salli-kyselylinjaan., Tämä rivi määrittää verkon (t), josta DNS-kyselyt hyväksytään tämän DNS-palvelimen.
aloita nimipalvelu
Aloita nyt nimetty palvelu ja määritä nimetty palvelu käynnistymään jokaisesta käynnistyksestä. Käytän systemctl komento minun Fedora 25 isäntä, mutta komento voi olla erilainen teidän isäntä, riippuen jakelu käytät. Huomaa, että BIND resolver-palvelun nimi on nimetty.,
systemctl enable named
systemctl start named
ensimmäinen testi, voit tehdä varmistaa, että caching name server toimii on käyttää kaivaa etsi DNS-tietokannan tietoja wally2.both.org. Edelleen testata caching name server, käyttää dig-komentoa IP-Osoite(es) joitakin yhteisiä Internet-sivustoja, kuten www.opensource.com CNN, Kiinteä, ja kaikki muut haluat. Tulosten pitäisi nyt näyttää isäntäsi vastaavana palvelimena.,
tässä vaiheessa sinun caching name server on oikein ratkaista isännät Internetissä ja että on, koska ne DNS-pyyntöjä julkisen isännät ovat toimittaneet Google-julkinen nimi palvelimet—katso ”kuormatraktorit” linja nimetty.conf. Olet kuitenkin edelleen riippuvainen /etc/hosts-tiedostosta sisäisille nimipalveluille. Ensisijaisen nimipalvelimen luominen voi ratkaista tämän ongelman.
Luo ensisijainen nimipalvelin
Kun luot caching name server, muuntamalla se täysimittainen ensisijainen nimipalvelin ei ole liian vaikeaa., Ensisijainen nimipalvelin on sen edustaman verkkotunnuksen arvovaltainen lähde.
sinun täytyy vaihtaa nimeä.conf uudelleen ja luoda pari uutta tiedostoa. Luot verkkotunnuksen nimeltä Example.com, joka on verkkotunnus, joka on varattu esimerkiksi tarkoituksiin tämän kaltaisissa asiakirjoissa. Sen Example.com domain ei ole IP-osoitetta Internetissä, ja hyvin harva verkkosivuilla, mutta voit käyttää nimeä loput lab-hankkeen aiheuttamatta ongelmia kenellekään. Käytät Example.com verkkotunnus sisäisenä verkkotunnus loput tämän harjoituksen.,
kaksi uutta tiedostoja, voit luoda ovat eteen-ja taaksepäin zone-tiedostot, jotka sinun paikka /var/named directory. Tämä paikka on määritelty” Hakemisto ” – direktiivissä nimetyssä.conf-asetustiedosto.
Luo eteenpäin tiedostossa
forward zone tiedosto sisältää ”A” – tietueilla, että parin nimet isännät vyöhykkeellä, eli domain, niiden IP-osoitteet. Se voi sisältää myös CNAME-tietueita, jotka ovat aliakset todellinen isäntänimiä in kirjaa, ja MX records sähköposti palvelimet.
luo basic forward zone-tiedosto,/var/named / example.com.,vyöhyke, ja lisää siihen seuraavat rivit. Zone-tiedostosi pitäisi näyttää näytteen zone-tiedostolta listauksessa 3, alla, Kun olet valmis.
; Authoritative data for example.com zone
;
$TTL 1D
@ IN SOA epc.example.com root.epc.example.com. (
2017031301 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
$ORIGIN example.com.
example.com. IN NS epc.example.com.
epc IN A 127.0.0.1
server IN A 192.168.25.1
www IN CNAME server
mail IN CNAME server
test1 IN A 192.168.25.21
t1 IN CNAME test1
test2 IN A 192.168.25.22
test3 IN A 192.168.25.23
test4 IN A 192.168.25.24
; Mail server MX record
example.com. IN MX 10 mail.example.com.
Listaus 3: eteenpäin vyöhykkeellä tiedosto Example.com domain sisältää isäntänimiä ja IP-osoitteita this domain.
ensimmäinen ei-kommentti line listauksessa 3 on Aika Elää tarkenne, joka tässä tapauksessa on yksi päivä kaikki tietueet, jotka eivät ole muuten määritelty. D tarkoittaa päivää. Soa-linjan (Viranomaislähtö) tarkentajat ovat aivan yhtä ilmeisiä., Yksityiskohdat parametrit SOA ennätys on kuvattu joitakin yksityiskohtia tässä.
NS-levyllä on oltava sen isännän FQDN (täysin pätevä verkkotunnus), jolla suoritat tätä lab-projektia. Tiedostossa on oltava myös tallenne, jossa on kelvollinen IP-osoite isännälle. Tällöin kannattaa käyttää localhost IP-osoitetta 127.0.0.1.
yllä olevat merkinnät antavat sinulle muutamia hostnameja, joilla kokeilla.
muista käyttää tämän päivän päivämäärää ja liittää sarjanumeroon laskuri, joka alkaa numerosta 01. Sarjanumero yllä on ensimmäinen muutos 4. Maaliskuuta 2017., Sarjanumeroa korotetaan aina, kun vyöhyketiedostoa muutetaan. Jos olisi toissijaisia nimipalvelimia, jotka käyttäisivät tätä ensisijaista, niitä ei päivitettäisi, ellei sarjanumeroa korotettaisi.
lisää forward zone-tiedostot nimiin.conf
ennen kuin DNS-palvelin toimii, sinun on kuitenkin luotava merkintä / etc / named.conf, joka viittaa uuteen zone-tiedostoosi. Lisää seuraavat viivat ylimmän tason vihjevyöhykkeen kohdan alapuolelle, mutta ennen” include ” – rivejä.
zone "example.com" IN {
type master;
file "example.com.zone";
};
Listing 4: Add these lines to the named.conf-tiedosto lisätä esimerkin.,com zone tiedosto resolver kokoonpano.
nyt uudelleen nimetty tehdä nämä muutokset voimaan. Testaa name server käyttämällä kaivaa ja nsloookup komentoja IP-Osoitteet hosts olet määrittänyt eteenpäin tiedostossa. Huomaa, että isännän ei tarvitse olla verkossa digi-ja nslookup-komentoja varten palauttaakseen IP-osoitteen.
Ole tietoinen siitä, että käyttämällä FQDN nämä komennot on tarpeen paitsi nslookup-komentoa niin kauan kuin verkkotunnus ja etsiä merkinnät Example.com annetaan /etc/resolv.conf-tiedosto., Tässä tapauksessa ne eivät todennäköisesti ole, joten käytä vain FQDNs: ää kaikkiin testauksiin tässä projektissa.
Käyttämällä root nimipalvelimet
Huomaa, että root nimipalvelimet ovat antaneet kuin arvovaltainen palvelimet varten Amazon.com lookup. Mutta muista, että käytät Googlen julkisen nimen palvelimia huolitsijoina. Nyt kommentoida pois huolitsijat linja nimetty.conf ja uudelleenkäynnistys nimetty. Suorita edellä komennot uudelleen vertailla tuloksia, jotka palautetaan. Tulosten pitäisi näyttää samanlaisilta kuin alla listauksessa 5.
listasi 5: the results of a lookup on www.Amazon.,com on joitakin mielenkiintoisia tietoja, kuten kertaa elää eri levy tyyppejä.
Kun tein tämän, ensimmäinen puhelu ratkaisemaan ulkoinen osoite Amazon otti 3857ms kun tiedot oli paikalla ja palasi. Myöhemmät tulokset suorittaa sama kysely oli 1ms, joka osoittaa etu caching resolver tulokset paikallisesti. Huomaa numerot 1800, 300, ja 60-vastaus-osio linjat ja 1831 viranomainen jaksossa lines—nämä ovat TTL (Kertaa Live) sekunnissa., Jos suoritat lookup useita kertoja, nämä numerot muuttuvat, näyttää määrä aikaa, että tietueet ovat jäljellä elää paikallisessa välimuisti.
reverse zone-tiedoston luominen
reverse zone verkkotunnuksellesi antaa mahdollisuuden tehdä reverse lookupeja. Monet organisaatiot eivät tee näitä sisäisesti, mutta kääntää haut voi olla hyödyllistä tehdä ongelman määrittäminen. Monet roskapostin torjuntakokoonpanot, kuten SpamAssassin, etsivät peruutusilmoituksia, joilla voidaan tarkistaa voimassa olevat sähköpostipalvelimet.
Luo reverse zone-tiedoston, /var/named/esimerkki.kom.rev ja lisää seuraava sisältö., Muista käyttää asianmukaista sarjanumeroa.
; Authoritative data for example.com reverse zone
;
$TTL 1D
@ IN SOA test1.example.com root.test1.example.com. (
2017031501 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS epc.example.com.
example.com. IN NS epc.example.com.
1 IN PTR mail.example.com.
1 IN PTR server.example.com.
21 IN PTR test1.example.com.
22 IN PTR test2.example.com.
23 IN PTR test3.example.com.
24 IN PTR test4.example.com.
Listaus 6: Käytä tätä reverse zone-tiedosto, esimerkiksi.kom.rev, nimesi server.
Voit myös nimetä reverse zone file /var/named/25.168.192.in-addr.arpa, joka seuraa vanhempi yleissopimukset. Voit itse nimetä sen mitä haluat, koska osoitat sitä nimenomaisesti nimetty.conf-tiedosto, mutta käyttämällä jompaakumpaa kahdesta yleissopimuksesta helpottaa muiden seurata työtäsi.
Lisää kääntövyöhyke nimiin.conf:
zone "25.168.192.in-addr.arpa" IN {
type master;
file "example.com.rev";
};
Listaus 7: Lisäämällä tämä säkeistö nimetty.,conf-tiedosto mahdollistaa reverse lookups.
Lisää säkeistö luetteloon 7/etc / nimetty.conf-tiedosto osoittaa uuteen kääntövyöhykkeeseen. Nyt lataa nimetty uudelleen ja testaa kääntövyöhykkeesi käyttäen komentoja luettelossa 8. Tulosten pitäisi näyttää samanlaisilta kuin alla.
Listaus 8: uudelleenkäynnistyksen Jälkeen nimetty sinun pitäisi nähdä tulokset vastaavat näihin kun teet reverse lookup IP-osoitteen reverse zone.
testaa joitakin muita käänteinen merkinnät verkko-ja myös kokeilla seuraavia sekä muut kääntää haut haluat kokeilla., – X vaihtoehto tarkoittaa Käänteinen lookup.
dig -x 192.168.25.23
dig -x 192.168.25.1
Huomaa, että kaikki isännät, jotka ovat merkinnät eteenpäin vyöhykkeellä täytyy olla merkinnät reverse zone, mutta se ei tee enemmän johdonmukaisia tuloksia, jos he tekevät.
tässä vaiheessa käytössä on TYÖNIMIPALVELIN, joka käyttää BIND-palvelua. Ulkoiset isännät eivät kuitenkaan voi vielä käyttää tätä nimipalvelinta, koska palomuuria ei pitäisi vielä konfiguroida sallimaan DNS-pyyntöjä.
Konfigurointi IPTables DNS
Voit tehdä tämän vaiheen, jos haluat, että muut isännät lähiverkossa käyttää isäntä, kuten niiden nimi-palvelin.,
testijuontajan palomuuri estää todennäköisesti pääsyn isäntään nimipalveluita varten. IPTables on määritetty sallimaan UDP (User Datagram Protocol) – paketteja saapuvan teidän nimi palvelimelle, jotta muut isännät käyttää sitä name resolution. Käytä seuraavia komentoja lisätäksesi tarvittavat merkinnät ja tallentaaksesi ne.
Lisää sääntö teidän IPTables tai firewalld palomuuri, jonka avulla saapuvat paketit porttiin 53 (toimialue) UDP ja tallenna uusi sääntöjoukoilla., Muista lisätä uusi sääntö, kun -A INPUT-m state –state LIITTYVÄ PERUSTETTU -j ACCEPT-linjalla, joten sinun täytyy laskea, kuinka monta INPUT-linjat suodatin-taulukossa voidakseen tehdä, että. Seuraavan komennon numero 7 tarkoittaa, että tämä sääntö lisätään nykyisten SYÖTTÖTIETOSÄÄNTÖJEN kohtaan numero 7.
iptables -t filter -I INPUT 7 -p udp -m conntrack --ctstate NEW -m udp --dport 53 -j ACCEPT
Voit tallentaa uuden palomuurin sääntöjä, jos haluat, ja olisit, jos tämä oli tarkoitus olla pysyvä asennus ja ei lab-hankkeen. Testaa sitten tämä joltain muilta isänniltäsi käyttäen komentoa listassa 9, alla., @ Epc-argumentti kertoo dig-komennon käyttävän määritettyä nimipalvelinta, jossa on isäntänimi epc. Sinun pitäisi korvata joko juuri luomasi DNS-palvelimen IP-osoite tai ratkaistavissa oleva palvelinnimi verkossasi, joka viittaa uuteen nimipalvelimeen. Tietenkin voit aina lisätä, että hostname sen IP-osoitteen /etc/hosts-tiedostoon host käytät kauko-testi.
listaus 9: testaamalla nimeä resolver, jonka olet luonut eri isännästä samassa verkossa.,
Siivous
siivous, sinun tulee suorittaa seuraavat tehtävät käyttäen soveltuvia työkaluja ja jakelua. Saatat vain haluta pitää tämän nimipalvelimen verkossa, jos sinulla ei ole jo.
- palauta alkuperäinen/etc / hosts-tiedosto.
- Stop nimetty resolver isäntä käytetään tämän lab hankkeen.
- Poista nimetty palvelu käytöstä.
- Poista zone-tiedostot.
- palauta alkuperäinen nimetty.conf-tiedosto.
- Palauta alkuperäinen resolv.conf-tiedosto.,
Lopullinen ajatuksia
toiminnan nimi palvelujen tuntui hyvin hämäriä minulle ennen kuin olen itse luonut name server minun verkkoon SITOA. Se on melko yksinkertainen ja voi parantaa DNS lookup suorituskykyä. Oman nimipalvelimen käyttäminen voi myös estää monet huonosti ylläpidettyjen ISP-nimipalvelimien aiheuttamista suhteellisen pienistä mutta ärsyttävistä nimipalvelukatkoista.
Huomaa, että, vaikka pikku EeePC on käynnissä 100% SUORITTIMEN käyttö Seti@Home, se reagoi erittäin nopeasti resolver pyyntöjä., Sinun pitäisi pystyä kokeilemaan tätä projektia minkä tahansa Linux-isännän kanssa, joka on käytettävissä pienin vaikutuksin. Toivon, että monet teistä yrittävät perustaa oman nimipalvelimen ja kokeilla sitä. Nimipalvelinasennuksen yksityiskohdat riippuvat isännän ja verkon yksityiskohdista.
Vastaa