Një ditë u përballa me detyrën për t'i dhënë njërit prej klientëve të mi të drejtën për të redaktuar regjistrimet PTR të nënrrjetit /28 që i ishte caktuar. Unë nuk kam automatizim për redaktimin e cilësimeve BIND nga jashtë. Prandaj, vendosa të marr një rrugë tjetër - t'i delegoj klientit një pjesë të zonës PTR të nënrrjetit /24.
Do të duket - çfarë mund të jetë më e thjeshtë? Ne thjesht e regjistrojmë nën-rrjetin siç kërkohet dhe e drejtojmë atë në NS-në e dëshiruar, siç bëhet me një nëndomain. Por jo. Nuk është aq e thjeshtë (edhe pse në realitet është përgjithësisht primitive, por intuita nuk do të ndihmojë), prandaj po shkruaj këtë artikull.
Kushdo që dëshiron ta kuptojë vetë mund të lexojë
Kush dëshiron një zgjidhje të gatshme, mirë se vini në cat.
Për të mos vonuar ata që pëlqejnë metodën copy-paste do të postoj fillimisht pjesën praktike dhe më pas pjesën teorike.
1. Praktikoni. Zona e delegimit /28
Le të themi se kemi një nënrrjet 7.8.9.0/24. Duhet të delegojmë nënrrjetin 7.8.9.240/28 te klienti dns 7.8.7.8 (ns1.klienti.domain).
Në DNS-në e ofruesit ju duhet të gjeni një skedar që përshkruan zonën e kundërt të këtij nënrrjeti. Lëre të jetë 9.8.7.in-adrr.arpa.
Ne komentojmë hyrjet nga 240 në 255, nëse ka. Dhe në fund të skedarit shkruajmë sa vijon:
255-240 IN NS 7.8.7.8
$GENERATE 240-255 $ CNAME $.255-240
mos harroni të rrisni zonën serike dhe bëni
rndc reload
Kjo plotëson pjesën e ofruesit. Le të kalojmë te klienti dns.
Së pari, le të krijojmë një skedar /etc/bind/master/255-240.9.8.7.in-addr.arpa përmbajtjen e mëposhtme:
$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ë me emrin.konf shtoni një përshkrim të 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";
};
B rinisni procesin e lidhjes.
/etc/init.d/named restart
Të gjitha. Tani mund të kontrolloni.
#> 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.
Ju lutemi vini re se jepet jo vetëm rekordi PTR, por edhe CNAME. Kështu duhet të jetë. Nëse po pyesni veten pse, atëherë mirë se vini në kapitullin tjetër.
2. Teori. Si punon.
Është e vështirë të konfigurosh dhe korrigjosh një kuti të zezë. Është shumë më e lehtë nëse kupton se çfarë po ndodh brenda.
Kur delegojmë një nëndomain në një domen sferë, atëherë shkruajmë diçka si kjo:
client.domain. NS ns1.client.domain.
ns1.client.domain. A 7.8.7.8
Ne u themi kujtdo që kërkon që ne nuk jemi përgjegjës për këtë faqe dhe themi kush është përgjegjës. Dhe të gjitha kërkesat për klienti.domain ridrejto te 7.8.7.8. Kur kontrollojmë, shohim foton e mëposhtme (do të heqim atë që klienti ka atje. Nuk ka rëndësi):
# host test.client.domain
test.client.domain has address 7.8.9.241
Ato. ne u informuam se ekziston një rekord i tillë A dhe ip i tij është 7.8.9.241. Asnjë informacion i panevojshëm.
Si mund të bëhet e njëjta gjë me një nënrrjet?
Sepse serveri ynë DNS është i regjistruar në RIPE, atëherë kur të kërkoni një adresë IP PTR nga rrjeti ynë, kërkesa e parë do të jetë ende për ne. Logjika është e njëjtë si me domenet. Por si të futni një nënrrjet në një skedar zone?
Le të përpiqemi ta fusim në këtë mënyrë:
255-240 IN NS 7.8.7.8
Dhe... mrekullia nuk ndodhi. Nuk po marrim ndonjë ridrejtim kërkese. Puna është se bind as nuk e di që këto hyrje në skedarin e zonës së kundërt janë adresa IP, dhe aq më tepër nuk e kupton hyrjen e diapazonit. Për të, ky është vetëm një lloj nënfushe simbolike. Ato. për lidhjen nuk do të ketë dallim mes "255-240"Dhe"superklienti ynë". Dhe që kërkesa të shkojë atje ku duhet të shkojë, adresa në kërkesë duhet të duket si kjo: 241.255-240.9.8.7.in-addr.arpa. Ose si kjo nëse përdorim një nëndomain karakteresh: 241.superklienti ynë.9.8.7.in-addr.arpa. Kjo është e ndryshme nga e zakonshme: 241.9.8.7.in-adrr.arpa.
Do të jetë e vështirë të bësh një kërkesë të tillë me dorë. Dhe edhe nëse funksionon, është ende e paqartë se si të zbatohet në jetën reale. Në fund të fundit, sipas kërkesës 7.8.9.241 DNS-ja e ofruesit ende na përgjigjet, jo e klientit.
Dhe këtu hyjnë në lojë CNAME.
Nga ana e ofruesit, ju duhet të bëni një pseudonim për të gjitha adresat IP të nënrrjetit në një format që do ta përcjellë kërkesën te klienti DNS.
255-240 IN NS ns1.client.domain.
241 IN CNAME 241.255-240
242 IN CNAME 242.255-240
и т.д.
Kjo është për punëtorët =).
Dhe për dembelët, dizajni më poshtë është më i përshtatshëm:
255-240 IN NS ns1.client.domain.
$GENERATE 240-255 $ CNAME $.255-240
Tani kërkoni informacion në 7.8.9.241 nga 241.9.8.7.in-adrr.arpa në serverin DNS të ofruesit do të konvertohet në 241.255-240.9.8.7.in-addr.arpa dhe shkon te klienti dns.
Pala e klientit do të duhet të trajtojë kërkesa të tilla. Prandaj, ne krijojmë një zonë 255-240.9.8.7.in-addr.arpa. Në të, ne, në parim, mund të vendosim hyrje të kundërta për çdo ip të të gjithë nënrrjetit /24, por ata do të na pyesin vetëm për ato që na përcjell ofruesi, kështu që ne nuk do të jemi në gjendje të luajmë rreth =).
Për të ilustruar, unë do të jap edhe një herë një shembull të përmbajtjes së një skedari të zonës së kundërt 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 përdorim CNAME nga ana e ofruesit dhe në përgjigje të një kërkese për të dhëna nga adresa IP ne marrim dy regjistrime, 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-në. Sepse nuk ka kuptim të marrësh një zonë PTR për vete dhe të mos i përgjigjesh askujt nga jashtë =).
Burimi: www.habr.com