Delegimi i zonës kthyer të nënrrjetës më pak se /24 në BIND. Si funksionon kjo

Njëherë më doli përpara detyra për t'i dhënë njërit nga klientët të drejtën për të redaktuar regjistrimet PTR të nënrrjetës së dhënë /28. Unë nuk kam automatizim për të redaktuar cilësimet BIND nga jashtë. Prandaj, vendosa të shkoj në një rrugë tjetër - të delegoj një pjesë të zonës PTR të nënrrjetës /24 te klienti.

Duket se çfarë mund të jetë më e thjeshtë? Thjesht e regjistrojmë nënrrjetën ashtu siç duhet dhe e drejtojmë te NS e nevojshme siç bëhet me nën-domenin. Por jo. Nuk është kaq e thjeshtë (edhe pse në fakt është krejtësisht primitiv, por intuita nuk ndihmon), prandaj po e shkruaj këtë artikull.

Kushdo që do të kuptojë vetë, mund të lexojë RFC
Kush dëshiron një zgjidhje të gatshme, është i mirëpritur nën këtë artikull.

Për të mos vonuar ata që e duan metodën e kopjimit dhe ngjitjes, fillimisht do të vendos praktiken dhe pas saj teorinë.

1. Praktika. Delegojmë zonën /28

Supozoni se kemi nënrrjetën 7.8.9.0/24. Na nevojitet të delegojmë nënrrjetën 7.8.9.240/28 tek klienti DNS 7.8.7.8 (ns1.client.domain).

Në DNS të ofruesit duhet të gjejmë skedarin që përshkruan zonën e kundërt të kësaj nënrrjete. Le të jetë 9.8.7.in-addr.arpa.
Regjistrimet nga 240 në 255 i komentojmë, nëse ekzistojnë. Dhe në fund të skedarit shkruajmë si më poshtë:

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

nuk harrojmë të rrisim serialin e zonës dhe bëjmë

rndc reload

Kjo është pjesa e ofruesit e kryer. Kalojmë në DNS-në e klientit.

Për fillim, krijojmë skedarin /etc/bind/master/255-240.9.8.7.in-addr.arpa users.module.ts

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

Dhe në named.conf shtojmë përshkrimin e skedarit tonë të ri:

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

Dhe ri-startojmë procesin bind.

/etc/init.d/named restart

I gjithë. Tani mund të kontrollojmë.

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

Kujdes, se regjistrohet jo vetëm regjistrimi PTR, por edhe CNAME. Kështu duhet të jetë. Nëse je i interesuar pse, je i mirëpritur në kapitullin e ardhshëm.

2. Teoria. Si funksionon kjo.

ËshtĂ« e vĂ«shtirĂ« tĂ« konfiguroni dhe tĂ« diagnostikoni njĂ« kuti tĂ« zezĂ«. ShumĂ« mĂ« e lehtĂ« Ă«shtĂ« nĂ«se kupton se çfarĂ« ndodh brenda.

Kur ne delegojmë një nën-domen në një domen domain, shkruajmë diçka si kjo:

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

Ne themi të gjithëve që pyesin se nuk jemi përgjegjës për këtë seksion dhe gjithashtu themi kush është përgjegjës. Dhe të gjitha kërkesat për client.domain redirigjohen në 7.8.7.8. Kur kontrollojmë, shohim këtë pamje (le të kalojmë se çfarë ka klienti. nuk ka rëndësi):

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

Pra, na informuan që ekziston një regjistër A dhe ip 7.8.9.241. Asnjë informacion të tepërt.

Si mund të bëhet e njëjta gjë me nënshexhën?

Duke qenë se serveri ynë DNS është regjistruar në RIPE, kur bëhet kërkesa PTR e adresës IP nga rrjeti ynë, prapë kërkesa e parë do të jetë tek ne. Logjika është e njëjtë si me domeinet. Por si të shkruajmë nënshexhën në skedarin e zonës?

Po përpiqemi ta shkruajmë kështu:

255-240  IN  NS      7.8.7.8

Dhe
 ndodhi çudia. Nuk marrim asnjĂ« ridrejtim tĂ« kĂ«rkesĂ«s. E gjithĂ« kjo Ă«shtĂ« sepse bind nuk e di qĂ« kĂ«to regjistra nĂ« skedarin e zonĂ«s prapa janĂ« adresa IP dhe as qĂ« kupton regjistrin e intervalit. PĂ«r tĂ«, kjo Ă«shtĂ« thjesht njĂ« nĂ«n-domen simbolik. Pra, pĂ«r bind nuk do tĂ« ketĂ« ndonjĂ« ndryshim midis "255-240» dhe "oursuperclient". Dhe qĂ« kĂ«rkesa tĂ« shkojĂ« aty ku duhet, adresa nĂ« kĂ«rkesĂ« duhet tĂ« duket kĂ«shtu: 241.255-240.9.8.7.in-addr.arpa. Ose kĂ«shtu, nĂ«se pĂ«rdorim njĂ« nĂ«n-domen simbolik: 241.oursuperclient.9.8.7.in-addr.arpa. Kjo ndryshon nga e zakonshmja: 241.9.8.7.in-addr.arpa.

Të bësh një kërkesë të tillë me duar do të jetë problematike. Dhe nëse do të arrijmë, përsëri nuk është e qartë se si ta aplikojmë në jetën reale. Sepse në kërkesë 7.8.9.241 na përgjigjet akoma DNS-i i provajderit, jo ai i klientit.

Por këtu hyn në lojë CNAME.

Në anën e provajderit duhet të bëjmë për të gjitha adresat IP të nënshexhës një aliash në formatin që do të redirect kërkesat në DNS-in e klientit.

255-240  IN  NS      ns1.client.domain.
241     IN  CNAME   241.255-240
242     IN  CNAME   242.255-240
etj.

Kjo është për ata të punëtorët =).

Ndërsa për ata të lenient, më mirë përputhet konstrukti më poshtë:

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

Tani kërkesa për informacion në adresën 7.8.9.241 nga 241.9.8.7.in-addr.arpa në serverin DNS të provajderit do të transformohet në 241.255-240.9.8.7.in-addr.arpa dhe do të shkojë në DNS-in e klientit.

Nga ana e klientit, do të duhet të përpunojmë këto kërkesa. Përkatësisht krijojmë një zonë 255-240.9.8.7.in-addr.arpa. Në të, në parim, mund të vendosim regjistra prapë për çdo IP të të gjithë nënshexhësit /24, por do të pyeten vetëm për ato që provajderi na redirekton, kështu që nuk do të kemi shumë mundësi për eksperimente =).
Për ilustarim, përsëri do të sjell një shembull të përmbajtjes së skedarit të zonës prapa nga ana e klientit:

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

Kjo ndodh sepse ne si ofrues shërbimi përdorim CNAME, prandaj marrim në përgjigje për kërkesat për të dhëna mbi adresën IP dy regjistra, e jo një.

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

Dhe mos harroni të konfiguroni saktë ACL. Sepse është e palogjikshme të merrni zonën PTR për vete dhe të mos përgjigjeni askujt nga jashtë =).

Burimi: habr.com

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster