Delegasi zona mbalikke menyang subnet kurang saka /24 ing BIND. Cara kerjane

Sawijining dina aku ngadhepi tugas menehi hak kanggo salah siji klienku kanggo ngowahi rekaman PTR saka /28 subnet sing ditugasake marang dheweke. Aku ora duwe otomatisasi kanggo nyunting setelan BIND saka njaba. Mulane, aku mutusake kanggo njupuk rute sing beda - kanggo utusan menyang klien sepotong zona PTR saka subnet /24.

Iku bakal katon - apa bisa luwih prasaja? Kita mung ndhaptar subnet kaya sing dibutuhake lan langsung menyang NS sing dikarepake, kaya sing ditindakake karo subdomain. Nanging ora. Iku ora sing prasaja (sanajan ing kasunyatan iku umume primitif, nanging intuisi ora mbantu), pramila aku nulis artikel iki.

Sapa wae sing pengin ngerti dhewe bisa maca RFC
Sing pengin solusi siap, welcome to cat.

Supaya ora telat sing seneng metode copy-paste, bab praktis bakal dakkirim dhisik, banjur bagean teori.

1. Laku. zona delegasi / 28

Ayo kita duwe subnet 7.8.9.0/24. Kita kudu utusan subnet 7.8.9.240/28 kanggo klien dns 7.8.7.8 (ns1.client.domain).

Ing DNS panyedhiya sampeyan kudu nemokake file sing nggambarake zona mbalikke subnet iki. Ayo dadi 9.8.7.in-addr.harp.
Kita menehi komentar babagan entri saka 240 nganti 255, yen ana. Lan ing pungkasan file kita nulis ing ngisor iki:

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

ora lali kanggo nambah zona serial lan apa

rndc reload

Iki ngrampungake bagean panyedhiya. Ayo pindhah menyang dns klien.

Pisanan, ayo nggawe file /etc/bind/master/255-240.9.8.7.in-addr.arpa isi ing ngisor iki:

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

Lan ing jenenge.conf tambahake deskripsi file anyar kita:

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

B miwiti maneh proses ikatan.

/etc/init.d/named restart

Kabeh. Saiki sampeyan bisa mriksa.

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

Elinga yen ora mung rekaman PTR sing diwenehake, nanging uga CNAME. Mekaten kedahipun. Yen sampeyan kepingin weruh apa sebabe, banjur sugeng rawuh ing bab sabanjure.

2. Teori. Cara kerjane.

Iku angel kanggo ngatur lan debug kothak ireng. Luwih gampang yen sampeyan ngerti apa sing kedadeyan ing njero.

Nalika kita utusan subdomain ing domain domain, banjur kita nulis kaya iki:

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

Kita marang saben wong sing takon sing kita ora tanggung jawab kanggo situs iki lan ngomong sing tanggung jawab. Lan kabeh panjalukan kanggo klien.domain pangalihan menyang 7.8.7.8. Nalika mriksa, kita ndeleng gambar ing ngisor iki (kita bakal ngilangi apa sing ana klien ing kana. Ora masalah):

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

Sing. kita dilaporake yen ana rekaman A lan ip 7.8.9.241. Ora ana informasi sing ora perlu.

Kepiye carane bisa ditindakake kanthi subnet?

Amarga server DNS kita kadhaptar ing RIPE, banjur nalika njaluk alamat IP PTR saka jaringan kita, panjalukan pisanan isih kanggo kita. Logika padha karo domain. Nanging kepiye carane sampeyan ngetik subnet menyang file zona?

Ayo coba ngetik kaya iki:

255-240  IN  NS      7.8.7.8

Lan ... Ajaib ora kelakon. Kita ora nampa pangalihan panyuwunan. Masalahe, ikatan ora ngerti manawa entri kasebut ing file zona mbalikke minangka alamat IP, lan luwih-luwih ora ngerti entri kisaran. Kanggo dheweke, iki mung sawetara subdomain simbolis. Sing. kanggo ikatan ora bakal ana bedane antarane "255-240"Lan"superklien kita". Lan kanggo panjaluk menyang papan sing kudu dituju, alamat ing panyuwunan kudu katon kaya iki: 241.255-240.9.8.7.in-addr.arpa. Utawa kaya iki yen kita nggunakake subdomain karakter: 241.oursuperclient.9.8.7.in-addr.arpa. Iki beda karo biasane: 241.9.8.7.in-addr.harp.

Bakal angel nggawe panjaluk kasebut kanthi manual. Lan sanajan kerjane, isih ora jelas carane ngetrapake ing urip nyata. Sawise kabeh, ing panjalukan 7.8.9.241 DNS panyedhiya isih mangsuli kita, dudu klien.

Lan iki ngendi padha teka menyang muter CNAME.

Ing sisih panyedhiya, sampeyan kudu nggawe alias kanggo kabeh alamat IP subnet ing format sing bakal nerusake panjalukan menyang DNS klien.

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

Iki kanggo sing rajin =).

Lan kanggo kesed, desain ing ngisor iki luwih cocok:

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

Saiki njaluk informasi ing 7.8.9.241 saka 241.9.8.7.in-addr.harp ing server DNS panyedhiya bakal diowahi kanggo 241.255-240.9.8.7.in-addr.arpa lan menyang klien dns.

Sisih klien kudu nangani panjaluk kasebut. Mulane, kita nggawe zona 255-240.9.8.7.in-addr.arpa. Ing kono, kita bisa, ing asas, nempatake entri mbalikke kanggo sembarang ip saka kabeh /24 subnet, nanging padha mung bakal takon kita bab sing panyedhiya forwards kanggo kita, supaya kita ora bakal bisa muter watara =).
Kanggo ilustrasi, aku bakal menehi conto maneh isi file zona mbalikke saka sisih klien:

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

Iku amarga kita nggunakake CNAME ing sisih panyedhiya, lan kanggo nanggepi panjalukan kanggo data dening alamat IP kita nampa loro cathetan, ora siji.

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

Lan aja lali ngatur ACL kanthi bener. Amarga ora ana gunane kanggo njupuk zona PTR kanggo awake dhewe lan ora nanggapi sapa wae saka njaba =).

Source: www.habr.com

Add a comment