Dirprwyo parth gwrthdroi i is-rwydweithiau llai na /24 yn BIND. Sut mae'n gweithio

Un diwrnod roeddwn yn wynebu'r dasg o roi'r hawl i un o'm cleientiaid olygu cofnodion PTR o'r is-rwydwaith /28 a neilltuwyd iddo. Nid oes gennyf awtomeiddio ar gyfer golygu gosodiadau BIND o'r tu allan. Felly, penderfynais gymryd llwybr gwahanol - i ddirprwyo i'r cleient darn o barth PTR yr is-rwydwaith /24.

Mae'n ymddangos - beth allai fod yn symlach? Yn syml, rydym yn cofrestru'r is-rwydwaith yn ôl yr angen a'i gyfeirio at yr NS dymunol, fel sy'n cael ei wneud gydag is-barth. Ond na. Nid yw mor syml â hynny (er ei fod ar y cyfan yn gyntefig mewn gwirionedd, ond ni fydd greddf yn helpu), dyna pam rydw i'n ysgrifennu'r erthygl hon.

Gall unrhyw un sydd am ddarganfod y peth drostynt eu hunain ddarllen RFC
Pwy sydd eisiau ateb parod, croeso i gath.

Er mwyn peidio ag oedi'r rhai sy'n hoffi'r dull copi-past, byddaf yn postio'r rhan ymarferol yn gyntaf, ac yna'r rhan ddamcaniaethol.

1. Ymarfer. Ardal ddirprwyo /28

Gadewch i ni ddweud bod gennym is-rwydwaith 7.8.9.0/24. Mae angen i ni ddirprwyo'r is-rwydwaith 7.8.9.240/28 i dns cleient 7.8.7.8 (ns1.client.domain).

Ar DNS y darparwr mae angen i chi ddod o hyd i ffeil sy'n disgrifio parth cefn yr is-rwydwaith hwn. Gadewch iddo fod 9.8.7.yn-addr.harp.
Gwnawn sylwadau ar gofrestriadau o 240 i 255, os oes rhai. Ac ar ddiwedd y ffeil rydym yn ysgrifennu'r canlynol:

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

peidiwch ag anghofio cynyddu'r parth cyfresol a gwneud

rndc reload

Mae hyn yn cwblhau rhan y darparwr. Gadewch i ni symud ymlaen at y dns cleient.

Yn gyntaf, gadewch i ni greu ffeil /etc/bind/master/255-240.9.8.7.in-addr.arpa y cynnwys canlynol:

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

Ac i mewn enw.conf ychwanegu disgrifiad o'n ffeil newydd:

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

B ailgychwyn y broses rhwymo.

/etc/init.d/named restart

I gyd. Nawr gallwch chi wirio.

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

Sylwch nid yn unig y cofnod PTR a roddir, ond hefyd y CNAME. Dyna fel y dylai fod. Os ydych chi'n pendroni pam, yna croeso i'r bennod nesaf.

2. Damcaniaeth. Sut mae'n gweithio.

Mae'n anodd ffurfweddu a dadfygio blwch du. Mae'n llawer haws os ydych chi'n deall beth sy'n digwydd y tu mewn.

Pan fyddwn yn dirprwyo is-barth mewn parth parth, yna rydyn ni'n ysgrifennu rhywbeth fel hyn:

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

Rydyn ni'n dweud wrth bawb sy'n gofyn nad ydyn ni'n gyfrifol am y wefan hon ac yn dweud pwy sy'n gyfrifol. A phob cais am cleient.domain ailgyfeirio i 7.8.7.8. Wrth wirio, gwelwn y llun canlynol (byddwn yn hepgor yr hyn sydd gan y cleient yno. Does dim ots):

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

Y rhai. dywedwyd wrthym fod cofnod A o'r fath a'i ip yw 7.8.9.241. Dim gwybodaeth ddiangen.

Sut y gellir gwneud yr un peth ag is-rwydwaith?

Achos mae ein gweinydd DNS wedi'i gofrestru yn RIPE, yna wrth ofyn am gyfeiriad IP PTR o'n rhwydwaith, ni fydd y cais cyntaf o hyd. Mae'r rhesymeg yr un peth â pharthau. Ond sut ydych chi'n mewnbynnu is-rwydwaith i ffeil parth?

Gadewch i ni geisio ei nodi fel hyn:

255-240  IN  NS      7.8.7.8

A... ni ddigwyddodd y wyrth. Nid ydym yn derbyn unrhyw gais i ailgyfeirio. Y peth yw nad yw rhwymo hyd yn oed yn gwybod bod y cofnodion hyn yn y ffeil parth cefn yn gyfeiriadau IP, a hyd yn oed yn fwy felly nid yw'n deall y cofnod amrediad. Iddo ef, dim ond rhyw fath o is-barth symbolaidd yw hwn. Y rhai. ar gyfer rhwymo ni fydd gwahaniaeth rhwng "255-240"Ac"ein huwch gleient" . Ac er mwyn i'r cais fynd lle mae angen iddo fynd, dylai'r cyfeiriad yn y cais edrych fel hyn: 241.255-240.9.8.7.in-addr.arpa. Neu fel hyn os ydym yn defnyddio is-barth cymeriad: 241.einsuperclient.9.8.7.in-addr.arpa. Mae hyn yn wahanol i'r arfer: 241.9.8.7.yn-addr.harp.

Bydd yn anodd gwneud cais o'r fath â llaw. A hyd yn oed os yw'n gweithio, mae'n dal yn aneglur sut i'w gymhwyso mewn bywyd go iawn. Wedi'r cyfan, ar gais 7.8.9.241 Mae DNS y darparwr yn dal i ateb i ni, nid rhai'r cleient.

A dyma lle maen nhw'n dod i chwarae CNAME.

Ar ochr y darparwr, mae angen i chi wneud alias ar gyfer holl gyfeiriadau IP yr is-rwydwaith mewn fformat a fydd yn anfon y cais ymlaen at y cleient DNS.

255-240  IN  NS      ns1.client.domain.
241     IN  CNAME   241.255-240
242     IN  CNAME   242.255-240
и т.д.

Mae hyn ar gyfer y gweithgar =).

Ac ar gyfer y diog, mae'r dyluniad isod yn fwy addas:

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

Nawr gofynnwch am wybodaeth yn 7.8.9.241 o 241.9.8.7.yn-addr.harp ar weinydd DNS y darparwr yn cael ei drawsnewid i 241.255-240.9.8.7.in-addr.arpa ac yn mynd i'r cleient dns.

Bydd angen i ochr y cleient ymdrin â cheisiadau o'r fath. Yn unol â hynny, rydym yn creu parth 255-240.9.8.7.in-addr.arpa. Ynddo, gallwn, mewn egwyddor, osod cofnodion o chwith ar gyfer unrhyw ip o’r is-rwydwaith /24 cyfan, ond ni fyddant ond yn gofyn i ni am y rhai y mae’r darparwr yn eu hanfon ymlaen atom, felly ni fyddwn yn gallu chwarae o gwmpas =).
I ddarlunio, byddaf unwaith eto yn rhoi enghraifft o gynnwys ffeil parth cefn o ochr y cleient:

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

Mae hyn oherwydd ein bod yn defnyddio CNAME ar ochr y darparwr, ac mewn ymateb i gais am ddata yn ôl cyfeiriad IP rydym yn derbyn dau gofnod, nid un.

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

A pheidiwch ag anghofio ffurfweddu'r ACL yn gywir. Oherwydd nid yw'n gwneud unrhyw synnwyr i gymryd parth PTR i chi'ch hun a pheidio ag ymateb i unrhyw un o'r tu allan =).

Ffynhonnell: hab.com

Ychwanegu sylw