Pöördtsooni delegeerimine alamvõrkudele, mis on BIND-is väiksemad kui /24. Kuidas see töötab

Ühel päeval seisin silmitsi ülesandega anda ühele oma kliendile õigus redigeerida talle määratud alamvõrgu /28 PTR-kirjeid. Mul ei ole automaatikat BIND-i sätete redigeerimiseks väljastpoolt. Seetõttu otsustasin valida teistsuguse tee – delegeerida kliendile osa /24 alamvõrgu PTR-tsoonist.

Näib - mis saaks olla lihtsam? Lihtsalt registreerime alamvõrgu vastavalt vajadusele ja suuname selle soovitud NS-i, nagu tehakse alamdomeeni puhul. Kuid mitte. See pole nii lihtne (kuigi tegelikult on see üldiselt primitiivne, kuid intuitsioon ei aita), see on põhjus, miks ma seda artiklit kirjutan.

Lugeda saavad kõik, kes tahavad ise välja mõelda RFC
Kes soovib valmislahendust, tere tulemast kassi.

Et mitte viivitada neid, kellele copy-paste meetod meeldib, postitan esmalt praktilise ja seejärel teoreetilise osa.

1. Harjuta. Delegeeriv tsoon /28

Oletame, et meil on alamvõrk 7.8.9.0/24. Peame alamvõrgu delegeerima 7.8.9.240/28 dns-i kliendile 7.8.7.8 (ns1.client.domain).

Teenusepakkuja DNS-is peate leidma faili, mis kirjeldab selle alamvõrgu pöördtsooni. Las olla 9.8.7.aadres.arpa.
Kommenteerime kirjeid 240-255, kui neid on. Ja faili lõppu kirjutame järgmise:

255-240  IN  NS      7.8.7.8
$GENERATE 240-255 $ CNAME $.255-240

ärge unustage jadatsooni suurendada ja tehke

rndc reload

See lõpetab pakkuja osa. Liigume edasi kliendi dns-i juurde.

Esiteks loome faili /etc/bind/master/255-240.9.8.7.in-addr.arpa järgmine sisu:

$ORIGIN 255-240.9.8.7.in-addr.arpa.
$TTL 1W
@                       1D IN SOA       ns1.client.domain. root.client.domain. (
                        2008152607      ; serial
                        3H              ; refresh
                        15M             ; retry
                        1W              ; expiry
                        1D )            ; minimum
@                       IN NS        ns1.client.domain.
@                       IN NS        ns2.client.domain.
241                     IN PTR          test.client.domain.
242                     IN PTR          test2.client.domain.
245                     IN PTR          test5.client.domain.

Ja sisse nimega.conf lisage meie uue faili kirjeldus:

zone "255-240.9.8.7.in-addr.arpa." IN {
        type master;
        file "master/255-240.9.8.7.in-addr.arpa";
};

B taaskäivitage sidumisprotsess.

/etc/init.d/named restart

Kõik. Nüüd saate kontrollida.

#>  host 7.8.9.245 
245.9.8.7.in-addr.arpa is an alias for 245.255-240.9.8.7.in-addr.arpa.
245.255-240.9.8.7.in-addr.arpa domain name pointer test5.client.domain.

Pange tähele, et antud pole mitte ainult PTR-kirje, vaid ka CNAME. Nii peabki olema. Kui kahtlete, miks, siis tere tulemast järgmisesse peatükki.

2. Teooria. Kuidas see töötab.

Musta kasti on raske konfigureerida ja siluda. See on palju lihtsam, kui mõistad, mis sees toimub.

Kui delegeerime domeenis alamdomeeni domeen, siis kirjutame midagi sellist:

client.domain.	NS	ns1.client.domain.
ns1.client.domain.	A	7.8.7.8

Ütleme kõigile, kes küsivad, et me ei vastuta selle valdkonna eest ja ütleme, kes vastutab. Ja kõik taotlused klient.domeen suunata ümber 7.8.7.8. Kontrollimisel näeme järgmist pilti (jätame välja selle, mis kliendil seal on. Vahet pole):

# host test.client.domain
test.client.domain has address 7.8.9.241

Need. meile teatati, et selline A rekord on olemas ja selle ip on 7.8.9.241. Ei mingit tarbetut teavet.

Kuidas saab sama asja teha alamvõrguga?

Sest meie DNS-server on registreeritud RIPE-s, siis meie võrgust PTR IP-aadressi küsimisel tuleb esimene päring ikkagi meile. Loogika on sama, mis domeenide puhul. Aga kuidas sisestada alamvõrk tsoonifaili?

Proovime seda sisestada järgmiselt:

255-240  IN  NS      7.8.7.8

Ja... imet ei juhtunud. Me ei saa ühtegi ümbersuunamistaotlust. Asi on selles, et bind isegi ei tea, et need pöördtsooni faili kirjed on IP-aadressid ja veelgi enam ei saa aru vahemiku kirjest. Tema jaoks on see vaid mingi sümboolne alamdomeen. Need. sidumise jaoks pole vahet "255-240"Ja"meie superklient". Ja selleks, et taotlus jõuaks sinna, kuhu see peab minema, peaks päringus olev aadress välja nägema järgmine: 241.255-240.9.8.7.in-addr.arpa. Või nii, kui kasutame tähemärgi alamdomeeni: 241.meie superklient.9.8.7.in-addr.arpa. See erineb tavapärasest: 241.9.8.7.aadres.arpa.

Sellise taotluse käsitsi esitamine on keeruline. Ja isegi kui see töötab, on endiselt ebaselge, kuidas seda päriselus rakendada. Lõppude lõpuks, nõudmisel 7.8.9.241 Meile vastab endiselt teenusepakkuja DNS, mitte kliendi oma.

Ja siin tulevad nad mängu CNAME.

Pakkuja poolel peate tegema alamvõrgu kõikidele IP-aadressidele pseudonüümi vormingus, mis edastab päringu kliendi DNS-ile.

255-240  IN  NS      ns1.client.domain.
241     IN  CNAME   241.255-240
242     IN  CNAME   242.255-240
и т.д.

See on töökatele =).

Ja laiskadele sobib paremini allolev kujundus:

255-240  IN  NS      ns1.client.domain.
$GENERATE 240-255 $ CNAME $.255-240

Nüüd küsige teavet aadressil 7.8.9.241 kohta 241.9.8.7.aadres.arpa teenusepakkuja DNS-serveris teisendatakse 241.255-240.9.8.7.in-addr.arpa ja läheb dns-i kliendi juurde.

Kliendipool peab selliseid taotlusi käsitlema. Vastavalt sellele loome tsooni 255-240.9.8.7.in-addr.arpa. Sellesse saame põhimõtteliselt paigutada pöördkirjed kogu /24 alamvõrgu mis tahes IP jaoks, kuid nad küsivad meilt ainult nende kohta, mille pakkuja meile edastab, nii et me ei saa =).
Illustreerimiseks toon veel kord näite kliendipoolse pöördtsooni faili sisust:

$ORIGIN 255-240.9.8.7.in-addr.arpa.
$TTL 1W
@                       1D IN SOA       ns1.client.domain. root.client.domain. (
                        2008152607      ; serial
                        3H              ; refresh
                        15M             ; retry
                        1W              ; expiry
                        1D )            ; minimum
@                       IN NS        ns1.client.domain.
@                       IN NS        ns2.client.domain.
241                     IN PTR          test.client.domain.
242                     IN PTR          test2.client.domain.
245                     IN PTR          test5.client.domain.

Põhjus on selles, et me kasutame teenusepakkuja poolel CNAME-i ja vastuseks IP-aadressi andmete päringule saame kaks kirjet, mitte ühte.

#>  host 7.8.9.245 
245.9.8.7.in-addr.arpa is an alias for 245.255-240.9.8.7.in-addr.arpa.
245.255-240.9.8.7.in-addr.arpa domain name pointer test5.client.domain.

Ja ärge unustage ACL-i õigesti konfigureerida. Sest pole mõtet endale PTR-tsooni võtta ja mitte kellelegi väljastpoolt vastata =).

Allikas: www.habr.com

Lisa kommentaar