Бір күні менің клиенттерімнің біріне оған тағайындалған /28 ішкі желінің PTR жазбаларын өңдеу құқығын беру міндеті тұрды. Менде BIND параметрлерін сырттан өңдеуге арналған автоматтандыру жоқ. Сондықтан, мен басқа бағытты таңдауды шештім - клиентке /24 ішкі желінің PTR аймағының бір бөлігін тапсыру.
Көрінетін сияқты - не қарапайым болуы мүмкін? Біз жай ғана ішкі желіні қажетіне қарай тіркейміз және оны қосалқы доменмен орындалғандай қалаған NS-ге бағыттаймыз. Бірақ жоқ. Бұл соншалықты қарапайым емес (бірақ шын мәнінде бұл қарапайым, бірақ интуиция көмектеспейді), сондықтан мен бұл мақаланы жазып отырмын.
Оны өзі анықтағысы келген адам оқи алады
Кім дайын шешімді қалайды, мысыққа қош келдіңіз.
Көшіру-қою әдісін ұнататындарды кешіктірмеу үшін алдымен практикалық бөлімді, сосын теориялық бөлімді жариялаймын.
1. Жаттығу. Өкілдік аймағы /28
Бізде ішкі желі бар делік 7.8.9.0/24. Біз ішкі желіге өкілдік беруіміз керек 7.8.9.240/28 dns клиентіне 7.8.7.8 (ns1.client.domain).
Провайдердің DNS жүйесінде осы ішкі желінің кері аймағын сипаттайтын файлды табу керек. Бола берсін 9.8.7.in.add.arpa.
Біз 240-тан 255-ке дейінгі жазбаларға түсініктеме береміз, егер бар болса. Ал файлдың соңында келесіні жазамыз:
255-240 IN NS 7.8.7.8
$GENERATE 240-255 $ CNAME $.255-240
сериялық аймақты көбейтуді ұмытпаңыз және жасаңыз
rndc reload
Бұл провайдер бөлігін аяқтайды. Клиент DNS-ке көшейік.
Алдымен файлды жасайық /etc/bind/master/255-240.9.8.7.in-addr.arpa келесі мазмұн:
$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.
Және .conf жаңа файлымыздың сипаттамасын қосыңыз:
zone "255-240.9.8.7.in-addr.arpa." IN {
type master;
file "master/255-240.9.8.7.in-addr.arpa";
};
B байланыстыру процесін қайта бастаңыз.
/etc/init.d/named restart
Барлық. Енді сіз тексере аласыз.
#> 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.
PTR жазбасы ғана емес, сонымен қатар CNAME де берілгенін ескеріңіз. Осылай болуы қажет. Неге деп ойласаңыз, келесі тарауға қош келдіңіз.
2. Теория. Бұл қалай жұмыс істейді.
Қара жәшікті конфигурациялау және жөндеу қиын. Ішінде не болып жатқанын түсінсеңіз, бұл әлдеқайда оңай.
Домендегі қосалқы доменді өкілдік еткенде домен, содан кейін біз келесідей нәрсені жазамыз:
client.domain. NS ns1.client.domain.
ns1.client.domain. A 7.8.7.8
Сұрағандардың барлығына біз бұл сайтқа жауапты емеспіз деп айтамыз және кім жауапты екенін айтамыз. Және барлық сұраулар клиент.домен 7.8.7.8-ге қайта бағыттау. Тексеру кезінде біз келесі суретті көреміз (клиентте не бар екенін көрсетпейміз. Бұл маңызды емес):
# host test.client.domain
test.client.domain has address 7.8.9.241
Анау. бізге мұндай А жазбасы бар екенін және оның IP 7.8.9.241 екенін хабарлады. Қажетсіз ақпарат жоқ.
Ішкі желімен бірдей нәрсені қалай жасауға болады?
Өйткені біздің DNS серверіміз RIPE-де тіркелген, содан кейін біздің желіден PTR IP мекенжайын сұраған кезде, бірінші сұрау әлі де бізде болады. Логика домендермен бірдей. Бірақ ішкі желіні аймақтық файлға қалай енгізуге болады?
Оны келесідей енгізуге тырысайық:
255-240 IN NS 7.8.7.8
Ал... ғажайып болған жоқ. Біз сұрауды қайта бағыттауды қабылдап жатқан жоқпыз. Мәселе мынада, байланыстыру кері аймақ файлындағы бұл жазбалар IP мекенжайлары екенін білмейді және диапазон жазбасын түсінбейді. Ол үшін бұл символдық субдоменнің бір түрі ғана. Анау. байланыстыру үшін » арасында ешқандай айырмашылық болмайды255-240«Ал»біздің суперклиент«. Сұрау қажет жерге бару үшін сұраудағы мекенжай келесідей болуы керек: 241.255-240.9.8.7.in-addr.arpa. Немесе таңбаның қосалқы доменін пайдаланатын болсақ: 241.oursuperclient.9.8.7.in-addr.arpa. Бұл әдеттегіден ерекшеленеді: 241.9.8.7.in.add.arpa.
Мұндай сұранысты қолмен жасау қиын болады. Тіпті ол жұмыс істесе де, оны нақты өмірде қалай қолдану керектігі әлі белгісіз. Өйткені, сұраныс бойынша 7.8.9.241 Провайдердің DNS-і әлі де клиенттікіне емес, бізге жауап береді.
Міне, олар ойынға түседі CNAME.
Провайдер тарапынан сұрауды клиенттік DNS-ке жіберетін пішімде ішкі желінің барлық IP мекенжайлары үшін бүркеншік ат жасау керек.
255-240 IN NS ns1.client.domain.
241 IN CNAME 241.255-240
242 IN CNAME 242.255-240
и т.д.
Бұл еңбекқорларға арналған =).
Ал жалқаулар үшін төмендегі дизайн қолайлы:
255-240 IN NS ns1.client.domain.
$GENERATE 240-255 $ CNAME $.255-240
Енді мына жерден ақпаратты сұраңыз 7.8.9.241 -дан 241.9.8.7.in.add.arpa провайдердің DNS серверіндегі түрлендіріледі 241.255-240.9.8.7.in-addr.arpa және dns клиентіне өтеді.
Клиент тарап осындай сұрауларды өңдеуі керек. Тиісінше, біз аймақты жасаймыз 255-240.9.8.7.in-addr.arpa. Онда біз, негізінен, бүкіл /24 ішкі желінің кез келген IP үшін кері жазбаларды орналастыра аламыз, бірақ олар бізден провайдер бізге жіберетіндер туралы ғана сұрайды, сондықтан біз ойнай алмаймыз =).
Түсіндіру үшін мен клиент тарапынан кері аймақ файлының мазмұнына тағы да мысал келтіремін:
$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.
Себебі біз провайдер тарапынан CNAME қолданамыз және IP мекенжайы бойынша деректерді сұрауға жауап ретінде біз бір емес, екі жазба аламыз.
#> 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.
Және ACL дұрыс конфигурациялауды ұмытпаңыз. Өйткені PTR аймағын өзіңізге алып, сырттан ешкімге жауап бермеу мағынасы жоқ =).
Ақпарат көзі: www.habr.com