ایک دن مجھے اپنے کلائنٹس میں سے ایک کو اس کے تفویض کردہ /28 سب نیٹ کے پی ٹی آر ریکارڈز میں ترمیم کرنے کا حق دینے کے کام کا سامنا کرنا پڑا۔ میرے پاس باہر سے BIND ترتیبات میں ترمیم کرنے کے لیے آٹومیشن نہیں ہے۔ لہذا، میں نے ایک مختلف راستہ اختیار کرنے کا فیصلہ کیا - کلائنٹ کو /24 سب نیٹ کے پی ٹی آر زون کا ایک ٹکڑا سونپنے کے لیے۔
ایسا لگتا ہے - کیا آسان ہو سکتا ہے؟ ہم صرف ضرورت کے مطابق سب نیٹ کو رجسٹر کرتے ہیں اور اسے مطلوبہ NS پر بھیج دیتے ہیں، جیسا کہ ذیلی ڈومین کے ساتھ کیا جاتا ہے۔ لیکن نہیں. یہ اتنا آسان نہیں ہے (اگرچہ حقیقت میں یہ عام طور پر قدیم ہے، لیکن وجدان مدد نہیں کرے گا)، اسی لیے میں یہ مضمون لکھ رہا ہوں۔
کوئی بھی جو خود اس کا پتہ لگانا چاہتا ہے وہ پڑھ سکتا ہے۔
کون تیار حل چاہتا ہے، بلی میں خوش آمدید۔
کاپی پیسٹ کا طریقہ پسند کرنے والوں کو تاخیر نہ کرنے کے لیے پہلے پریکٹیکل حصہ اور پھر نظریاتی حصہ پوسٹ کروں گا۔
1. مشق کرنا۔ ڈیلیگیٹنگ زون /28
ہم کہتے ہیں کہ ہمارے پاس سب نیٹ ہے۔ 7.8.9.0/24. ہمیں ذیلی نیٹ کو تفویض کرنے کی ضرورت ہے۔ 7.8.9.240/28 ڈی این ایس کلائنٹ کو 7.8.7.8 (ns1.client.domain).
فراہم کنندہ کے DNS پر آپ کو ایک فائل تلاش کرنے کی ضرورت ہے جو اس سب نیٹ کے ریورس زون کو بیان کرتی ہو۔ رہنے دو 9.8.7.in-ddr.arpa.
اگر کوئی ہے تو ہم 240 سے 255 تک کے اندراجات پر تبصرہ کرتے ہیں۔ اور فائل کے آخر میں ہم درج ذیل لکھتے ہیں:
255-240 IN NS 7.8.7.8
$GENERATE 240-255 $ CNAME $.255-240
سیریل زون کو بڑھانا اور کرنا نہ بھولیں۔
rndc reload
یہ فراہم کنندہ کا حصہ مکمل کرتا ہے۔ آئیے کلائنٹ ڈی این ایس کی طرف چلتے ہیں۔
پہلے، آئیے ایک فائل بناتے ہیں۔ /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.
اور اندر نامی ہماری نئی فائل کی تفصیل شامل کریں:
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
اور... معجزہ نہیں ہوا۔ ہمیں ری ڈائریکشن کی کوئی درخواست موصول نہیں ہو رہی ہے۔ بات یہ ہے کہ پابند کو یہ بھی نہیں معلوم کہ ریورس زون فائل میں یہ اندراجات آئی پی ایڈریس ہیں، اور اس سے بھی بڑھ کر رینج انٹری کو نہیں سمجھتا۔ اس کے لیے، یہ صرف ایک قسم کی علامتی ذیلی ڈومین ہے۔ وہ. باندھنے کے لیے کوئی فرق نہیں ہوگا "255-240"اور"ہمارے سپر کلائنٹ" اور درخواست کے لیے جہاں جانے کی ضرورت ہے، درخواست میں ایڈریس اس طرح نظر آنا چاہیے: 241.255-240.9.8.7.in-addr.arpa. یا اس طرح اگر ہم ایک کریکٹر ذیلی ڈومین استعمال کرتے ہیں: 241.oursuperclient.9.8.7.in-addr.arpa. یہ معمول سے مختلف ہے: 241.9.8.7.in-ddr.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-ddr.arpa فراہم کنندہ کے DNS سرور پر تبدیل ہو جائے گا۔ 241.255-240.9.8.7.in-addr.arpa اور ڈی این ایس کلائنٹ کے پاس جاتا ہے۔
کلائنٹ سائیڈ کو ایسی درخواستوں کو سنبھالنے کی ضرورت ہوگی۔ اس کے مطابق، ہم ایک زون بناتے ہیں 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 کو صحیح طریقے سے ترتیب دینا نہ بھولیں۔ کیونکہ اپنے لیے پی ٹی آر زون لینے اور باہر سے کسی کو جواب نہ دینا کوئی معنی نہیں رکھتا =)۔
ماخذ: www.habr.com