Apgrieztās zonas deleģēŔana apakÅ”tÄ«kliem, kas ir mazāki par /24 BIND. Kā tas strādā

Kādu dienu es saskāros ar uzdevumu dot vienam no saviem klientiem tiesÄ«bas rediģēt viņam pieŔķirtā apakÅ”tÄ«kla /28 PTR ierakstus. Man nav automatizācijas BIND iestatÄ«jumu rediģēŔanai no ārpuses. Tāpēc es nolēmu izvēlēties citu ceļu - deleģēt klientam daļu no /24 apakÅ”tÄ«kla PTR zonas.

Å Ä·iet - kas var bÅ«t vienkārŔāks? Mēs vienkārÅ”i reÄ£istrējam apakÅ”tÄ«klu pēc vajadzÄ«bas un novirzām to uz vēlamo NS, kā tas tiek darÄ«ts ar apakÅ”domēnu. Bet nē. Tas nav tik vienkārÅ”i (lai gan patiesÄ«bā tas ir primitÄ«vi, bet intuÄ«cija nepalÄ«dzēs), tāpēc es rakstu Å”o rakstu.

LasÄ«t var ikviens, kurÅ” vēlas to izdomāt pats RFC
Kas vēlas gatavu risinājumu, laipni lūdzam cat.

Lai neaizkavētu tos, kuriem patÄ«k copy-paste metode, vispirms ievietoÅ”u praktisko, bet pēc tam teorētisko daļu.

1. Prakse. DeleģēŔanas zona /28

Pieņemsim, ka mums ir apakÅ”tÄ«kls 7.8.9.0/24. Mums ir jādeleģē apakÅ”tÄ«kls 7.8.9.240/28 DNS klientam 7.8.7.8 (ns1.client.domain).

Pakalpojumu sniedzēja DNS ir jāatrod fails, kas apraksta Ŕī apakÅ”tÄ«kla reverso zonu. Lai notiek 9.8.7.in-addr.harp.
Komentējam ierakstus no 240 lÄ«dz 255, ja tādi ir. Un faila beigās mēs rakstām sekojoÅ”o:

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

neaizmirstiet palielināt seriālo zonu un darīt

rndc reload

Tas pabeidz pakalpojumu sniedzēja daļu. Pāriesim pie klienta dns.

Pirmkārt, izveidosim failu /etc/bind/master/255-240.9.8.7.in-addr.arpa Ŕādu saturu:

$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.

Un iekŔā nosaukts.conf pievienojiet mūsu jaunā faila aprakstu:

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

B restartējiet saistÄ«Å”anas procesu.

/etc/init.d/named restart

Visi. Tagad jūs varat pārbaudīt.

#>  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.

Lūdzu, ņemiet vērā, ka tiek norādīts ne tikai PTR ieraksts, bet arī CNAME. Tā tam ir jābūt. Ja jums rodas jautājums, kāpēc, tad laipni lūdzam nākamajā nodaļā.

2. Teorija. Kā tas strādā.

Ir grÅ«ti konfigurēt un atkļūdot melno kasti. Tas ir daudz vieglāk, ja saproti, kas notiek iekŔā.

Kad mēs deleģējam apakÅ”domēnu domēnā domēns, tad mēs rakstām apmēram Ŕādi:

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

Katram, kurÅ” jautā, sakām, ka par Å”o jomu neatbildam un sakām, kurÅ” ir atbildÄ«gs. Un visi pieprasÄ«jumi par klients.domēns novirzÄ«t uz 7.8.7.8. Pārbaudot, mēs redzam Ŕādu attēlu (izlaidÄ«sim, kas klientam tur ir. Tam nav nozÄ«mes):

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

Tie. mūs informēja, ka ir tāds A ieraksts un tā ip ir 7.8.9.241. Nav nevajadzīgas informācijas.

Kā to paŔu var izdarīt ar apakŔtīklu?

Jo mÅ«su DNS serveris ir reÄ£istrēts RIPE, tad, pieprasot PTR IP adresi no mÅ«su tÄ«kla, pirmais pieprasÄ«jums joprojām bÅ«s mums. LoÄ£ika ir tāda pati kā ar domēniem. Bet kā zonas failā ievadÄ«t apakÅ”tÄ«klu?

Mēģināsim to ievadÄ«t Ŕādi:

255-240  IN  NS      7.8.7.8

Un... brÄ«nums nenotika. Mēs nesaņemam nevienu pāradresācijas pieprasÄ«jumu. Lieta tāda, ka bind pat nezina, ka Å”ie ieraksti reversās zonas failā ir IP adreses, un vēl jo vairāk nesaprot diapazona ierakstu. Viņam tas ir tikai sava veida simbolisks apakÅ”domēns. Tie. saistÄ«Å”anai nebÅ«s atŔķirÄ«bas starp "255-240"Un"mÅ«su superklients". Un, lai pieprasÄ«jums nonāktu tur, kur tam jānonāk, adresei pieprasÄ«jumā ir jāizskatās Ŕādi: 241.255-240.9.8.7.in-addr.arpa. Vai arÄ« Ŕādi, ja mēs izmantojam rakstzÄ«mju apakÅ”domēnu: 241.oursuperclient.9.8.7.in-addr.arpa. Tas atŔķiras no parastā: 241.9.8.7.in-addr.harp.

Šādu pieprasījumu būs grūti izdarīt manuāli. Un pat ja tas darbojas, joprojām nav skaidrs, kā to pielietot reālajā dzīvē. Galu galā pēc pieprasījuma 7.8.9.241 Pakalpojumu sniedzēja DNS joprojām atbild mums, nevis klienta.

Un Å”eit viņi nonāk spēlē CNAME.

No pakalpojumu sniedzēja puses visām apakÅ”tÄ«kla IP adresēm ir jāizveido aizstājvārds tādā formātā, kas pārsÅ«tÄ«s pieprasÄ«jumu klienta DNS.

255-240  IN  NS      ns1.client.domain.
241     IN  CNAME   241.255-240
242     IN  CNAME   242.255-240
Šø т.Š“.

Tas ir paredzēts strādīgajiem =).

Un slinkiem zemāk esoÅ”ais dizains ir piemērotāks:

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

Tagad pieprasiet informāciju pa e-pastu 7.8.9.241 no 241.9.8.7.in-addr.harp pakalpojumu sniedzēja DNS serverī tiks pārveidots uz 241.255-240.9.8.7.in-addr.arpa un dodas uz dns klientu.

Klienta pusei bÅ«s jāapstrādā Ŕādi pieprasÄ«jumi. AttiecÄ«gi mēs izveidojam zonu 255-240.9.8.7.in-addr.arpa. Tajā mēs principā varam ievietot apgrieztos ierakstus jebkurai IP platei no visa /24 apakÅ”tÄ«kla, taču viņi mums jautās tikai par tiem, ko pakalpojumu sniedzējs mums pārsÅ«ta, tāpēc mēs nevarēsim apspēlēt =).
Lai ilustrētu, es vēlreiz sniegÅ”u reversās zonas faila satura piemēru no klienta puses:

$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.

Tas ir tāpēc, ka pakalpojumu sniedzēja pusē izmantojam CNAME, un, atbildot uz datu pieprasījumu pēc IP adreses, mēs saņemam divus ierakstus, nevis vienu.

#>  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.

Un neaizmirstiet pareizi konfigurēt ACL. Jo nav jēgas ņemt sev PTR zonu un nevienam no malas neatbildēt =).

Avots: www.habr.com

Pievieno komentāru