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ë
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-240nuk harrojmë të rrisim serialin e zonës dhe bëjmë
rndc reloadKjo ë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 restartI 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.8Ne 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.241Pra, 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.8Dhe⊠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-240Tani 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
