Badilisha ugawaji wa kaumu ya eneo kwa nyati ndogo chini ya /24 katika BIND. Inavyofanya kazi

Siku moja nilikabiliwa na kazi ya kumpa mmoja wa wateja wangu haki ya kuhariri rekodi za PTR za /28 subnet aliyopewa. Sina otomatiki ya kuhariri mipangilio ya BIND kutoka nje. Kwa hiyo, niliamua kuchukua njia tofauti - kukabidhi kwa mteja kipande cha eneo la PTR la subnet /24.

Inaweza kuonekana - ni nini kinachoweza kuwa rahisi zaidi? Tunasajili tu subnet inavyohitajika na kuielekeza kwa NS inayotaka, kama inavyofanywa na kikoa kidogo. Lakini hapana. Sio rahisi sana (ingawa kwa kweli ni ya zamani, lakini intuition haitasaidia), ndiyo sababu ninaandika nakala hii.

Yeyote anayetaka kujisomea mwenyewe anaweza kusoma RFC
Nani anataka suluhisho tayari-kufanywa, kuwakaribisha kwa paka.

Ili si kuchelewesha wale wanaopenda njia ya kunakili-kubandika, nitachapisha sehemu ya vitendo kwanza, na kisha sehemu ya kinadharia.

1. Fanya mazoezi. Eneo la kukabidhi kazi /28

Wacha tuseme tuna subnet 7.8.9.0/24. Tunahitaji kukabidhi subnet 7.8.9.240/28 kwa mteja wa dns 7.8.7.8 (kikoa.cha.mteja.ns1).

Kwenye DNS ya mtoa huduma unahitaji kupata faili inayoelezea ukanda wa nyuma wa subnet hii. Liwe liwalo 9.8.7 katika-addr.arpa.
Tunatoa maoni juu ya maingizo kutoka 240 hadi 255, ikiwa kuna yoyote. Na mwisho wa faili tunaandika yafuatayo:

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

usisahau kuongeza eneo la serial na kufanya

rndc reload

Hii inakamilisha sehemu ya mtoaji. Wacha tuendelee kwenye dns ya mteja.

Kwanza, hebu tuunde faili /etc/bind/master/255-240.9.8.7.in-addr.arpa maudhui yafuatayo:

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

Na ndani jina lake ongeza maelezo ya faili yetu mpya:

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

B kuanzisha upya mchakato wa kumfunga.

/etc/init.d/named restart

Wote. Sasa unaweza kuangalia.

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

Tafadhali kumbuka kuwa sio tu rekodi ya PTR imetolewa, lakini pia CNAME. Hivyo ndivyo inavyopaswa kuwa. Ikiwa unashangaa kwa nini, basi karibu kwenye sura inayofuata.

2. Nadharia. Inavyofanya kazi.

Ni vigumu kusanidi na kurekebisha kisanduku cheusi. Ni rahisi zaidi ikiwa unaelewa kinachoendelea ndani.

Tunapokabidhi kikoa kidogo katika kikoa uwanja, kisha tunaandika kitu kama hiki:

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

Tunamwambia kila mtu anayeuliza kuwa hatuwajibiki kwa eneo hili na tuambie ni nani anayehusika. Na maombi yote kikoa.mteja elekeza kwa 7.8.7.8. Wakati wa kuangalia, tunaona picha ifuatayo (tutaacha kile mteja anacho hapo. Haijalishi):

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

Wale. tulifahamishwa kuwa kuna rekodi ya aina hiyo na ip yake ni 7.8.9.241. Hakuna taarifa zisizo za lazima.

Jambo hilo hilo linawezaje kufanywa na subnet?

Kwa sababu seva yetu ya DNS imesajiliwa katika RIPE, basi wakati wa kuomba anwani ya IP ya PTR kutoka kwa mtandao wetu, ombi la kwanza bado litakuwa kwetu. Mantiki ni sawa na vikoa. Lakini unawezaje kuingiza subnet kwenye faili ya eneo?

Wacha tujaribu kuiingiza kama hii:

255-240  IN  NS      7.8.7.8

Na ... muujiza haukutokea. Hatupokei ombi lolote la kuelekezwa kwingine. Jambo ni kwamba bind haijui hata kuwa maingizo haya kwenye faili ya eneo la nyuma ni anwani za IP, na hata zaidi haelewi ingizo la anuwai. Kwake, hii ni aina fulani ya kikoa kidogo cha mfano. Wale. kwa kufunga hakutakuwa na tofauti kati ya "255-240"Na"mteja wetu mkuu". Na kwa ombi la kwenda inapohitaji kwenda, anwani katika ombi inapaswa kuonekana kama hii: 241.255-240.9.8.7.in-addr.arpa. Au kama hii ikiwa tutatumia kikoa cha mhusika: 241.mteja wetu mkuu.9.8.7.katika-addr.arpa. Hii ni tofauti na kawaida: 241.9.8.7 katika-addr.arpa.

Itakuwa vigumu kufanya ombi kama hilo kwa mikono. Na hata ikiwa inafanya kazi, bado haijulikani jinsi ya kuitumia katika maisha halisi. Baada ya yote, kwa ombi 7.8.9.241 DNS ya mtoa huduma bado inajibu kwetu, si ya mteja.

Na hapa ndipo wanapoingia CNAME.

Kwa upande wa mtoa huduma, unahitaji kutengeneza lakabu kwa anwani zote za IP za subnet katika umbizo ambalo litapeleka ombi kwa DNS ya mteja.

255-240  IN  NS      ns1.client.domain.
241     IN  CNAME   241.255-240
242     IN  CNAME   242.255-240
ΠΈ Ρ‚.Π΄.

Hii ni kwa wanaofanya kazi kwa bidii =).

Na kwa wavivu, muundo hapa chini unafaa zaidi:

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

Sasa omba habari kwa 7.8.9.241 ya 241.9.8.7 katika-addr.arpa kwenye seva ya DNS ya mtoa huduma itabadilishwa kuwa 241.255-240.9.8.7.in-addr.arpa na huenda kwa mteja wa dns.

Upande wa mteja utahitaji kushughulikia maombi kama haya. Ipasavyo, tunaunda eneo 255-240.9.8.7.in-addr.arpa. Ndani yake, tunaweza, kimsingi, kuweka maingizo ya kinyume kwa ip yoyote ya /24 subnet nzima, lakini watatuuliza tu kuhusu yale ambayo mtoa huduma hutupatia, ili tusiweze kucheza karibu =).
Kwa mfano, nitatoa tena mfano wa yaliyomo kwenye faili ya ukanda wa nyuma kutoka kwa upande wa mteja:

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

Ni kwa sababu tunatumia CNAME kwa upande wa mtoa huduma, na kwa kujibu ombi la data kwa anwani ya IP tunapokea rekodi mbili, si moja.

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

Na usisahau kusanidi ACL kwa usahihi. Kwa sababu haina maana kuchukua eneo la PTR mwenyewe na usijibu mtu yeyote kutoka nje =).

Chanzo: mapenzi.com

Kuongeza maoni