දිනක් මගේ සේවාදායකයෙකුට ඔහුට පවරා ඇති /28 උපජාලයේ PTR වාර්තා සංස්කරණය කිරීමේ අයිතිය ලබා දීමේ කාර්යයට මා මුහුණ දුන්නා. මට පිටතින් BIND සිටුවම් සංස්කරණය කිරීම සඳහා ස්වයංක්රීයකරණයක් නොමැත. එබැවින්, මම වෙනත් මාර්ගයක් ගැනීමට තීරණය කළෙමි - /24 උපජාලයේ PTR කලාපයේ කොටසක් සේවාදායකයා වෙත පැවරීමට.
එය පෙනේ - වඩා සරල විය හැක්කේ කුමක් ද? අපි සරලවම අවශ්ය පරිදි උපජාලය ලියාපදිංචි කර එය උප ඩොමේනයකින් කරන පරිදි අවශ්ය NS වෙත යොමු කරමු. නමුත් නැහැ. එය එතරම් සරල නැත (යථාර්ථයේ එය සාමාන්යයෙන් ප්රාථමික වුවද, නමුත් බුද්ධිය උදව් නොකරනු ඇත), මම මෙම ලිපිය ලියන්නේ එබැවිනි.
එය තමන් විසින්ම තේරුම් ගැනීමට කැමති ඕනෑම කෙනෙකුට කියවිය හැකිය
සූදානම් විසඳුමක් අවශ්ය කවුද, cat වෙත සාදරයෙන් පිළිගනිමු.
copy-paste ක්රමයට කැමති අය ප්රමාද නොකිරීමට, මම මුලින්ම ප්රායෝගික කොටස, පසුව න්යායාත්මක කොටස පළ කරමි.
1. පුහුණු වන්න. පැවරීමේ කලාපය /28
අපි හිතමු අපිට subnet එකක් තියෙනවා කියලා 7.8.9.0/24. අපි උපජාලය පැවරිය යුතුයි 7.8.9.240/28 dns සේවාදායකයා වෙත 7.8.7.8 (ns1.client.domain).
සපයන්නාගේ DNS හි ඔබට මෙම උපජාලයේ ප්රතිලෝම කලාපය විස්තර කරන ගොනුවක් සොයාගත යුතුය. එය එසේ වන්න අරින්න 9.8.7.in.addr.arpa.
240 සිට 255 දක්වා ඇතුළත් කිරීම් තිබේ නම් අපි ඒවා ගැන අදහස් දක්වන්නෙමු. ගොනුව අවසානයේ අපි පහත සඳහන් දේ ලියන්නෙමු:
255-240 IN NS 7.8.7.8
$GENERATE 240-255 $ CNAME $.255-240
අනුක්රමික කලාපය වැඩි කිරීමට අමතක නොකරන්න
rndc reload
මෙය සපයන්නාගේ කොටස සම්පූර්ණ කරයි. අපි සේවාදායකයා dns වෙත යමු.
මුලින්ම අපි file එකක් හදමු /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.
සහ ඇතුළත name.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
අහන හැමෝටම අපි කියනවා මේ ප්රදේශයට අපි වගකියන්නේ නැහැ වගකියන්නේ කවුද කියලා. සහ සියලු ඉල්ලීම් client.domain 7.8.7.8 වෙත හරවා යැවීම. පරීක්ෂා කිරීමේදී, අපි පහත පින්තූරය දකිමු (සේවාදායකයාට එහි ඇති දේ අපි ඉවත් කරමු. එය වැදගත් නොවේ):
# host test.client.domain
test.client.domain has address 7.8.9.241
එම. එවැනි A වාර්තාවක් ඇති බවත් එහි ip 7.8.9.241 බවත් අපට දන්වා ඇත. අනවශ්ය තොරතුරු නොමැත.
උපජාලයකින් එකම දේ කරන්නේ කෙසේද?
නිසා අපගේ DNS සේවාදායකය RIPE හි ලියාපදිංචි වී ඇත, එවිට අපගේ ජාලයෙන් PTR IP ලිපිනයක් ඉල්ලා සිටින විට, පළමු ඉල්ලීම තවමත් අප වෙත වනු ඇත. ලොජික් එක වසම් වලට සමානයි. නමුත් කලාප ගොනුවකට උපජාලයක් ඇතුල් කරන්නේ කෙසේද?
අපි එය මේ ආකාරයට ඇතුළත් කිරීමට උත්සාහ කරමු:
255-240 IN NS 7.8.7.8
හා... ආශ්චර්යය සිදු වූයේ නැත. අපට කිසිදු ඉල්ලීමක් යළි-යොමුවීමක් නොලැබේ. කාරණය නම්, ප්රතිලෝම කලාප ගොනුවේ මෙම ඇතුළත් කිරීම් IP ලිපින බව bind නොදැන සිටීම සහ ඊටත් වඩා පරාසය ඇතුළත් කිරීම තේරුම් නොගැනීමයි. ඔහු සඳහා, මෙය යම් ආකාරයක සංකේතාත්මක උප වසමක් පමණි. එම. මක්නිසාද යත් අතර වෙනසක් නැත "255-240"සහ"අපගේ සුපිරි සේවාදායකයා". සහ එය යා යුතු තැනට යාමට ඉල්ලීම සඳහා, ඉල්ලීමෙහි ඇති ලිපිනය මෙසේ විය යුතුය: 241.255-240.9.8.7.in-addr.arpa. නැතහොත් අපි අක්ෂර උප ඩොමේනයක් භාවිතා කරන්නේ නම් මේ වගේ: 241.oursuperclient.9.8.7.in-addr.arpa. මෙය සුපුරුදු පරිදි වෙනස් වේ: 241.9.8.7.in.addr.arpa.
එවැනි ඉල්ලීමක් අතින් සිදු කිරීම අපහසු වනු ඇත. එය ක්රියාත්මක වුවද, එය සැබෑ ජීවිතයේ යෙදිය යුතු ආකාරය තවමත් අපැහැදිලි ය. සියල්ලට පසු, ඉල්ලීම මත 7.8.9.241 සැපයුම්කරුගේ DNS තවමත් අපට පිළිතුරු දෙයි, සේවාලාභියාගේ නොවේ.
ඒවගේම මෙතනදි තමයි ඔවුන් ක්රියා කරන්නේ CNAME.
සැපයුම්කරුගේ පැත්තෙන්, ඔබ විසින් උපජාලයේ සියලුම IP ලිපින සඳහා අන්වර්ථයක් සෑදිය යුතු අතර එමඟින් ඉල්ලීම සේවාදායකයා DNS වෙත යොමු කරනු ඇත.
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.addr.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