BIND میں /24 سے کم سب نیٹس کو ریورس زون ڈیلی گیشن۔ یہ کیسے کام کرتا ہے

ایک دن مجھے اپنے کلائنٹس میں سے ایک کو اس کے تفویض کردہ /28 سب نیٹ کے پی ٹی آر ریکارڈز میں ترمیم کرنے کا حق دینے کے کام کا سامنا کرنا پڑا۔ میرے پاس باہر سے BIND ترتیبات میں ترمیم کرنے کے لیے آٹومیشن نہیں ہے۔ لہذا، میں نے ایک مختلف راستہ اختیار کرنے کا فیصلہ کیا - کلائنٹ کو /24 سب نیٹ کے پی ٹی آر زون کا ایک ٹکڑا سونپنے کے لیے۔

ایسا لگتا ہے - کیا آسان ہو سکتا ہے؟ ہم صرف ضرورت کے مطابق سب نیٹ کو رجسٹر کرتے ہیں اور اسے مطلوبہ NS پر بھیج دیتے ہیں، جیسا کہ ذیلی ڈومین کے ساتھ کیا جاتا ہے۔ لیکن نہیں. یہ اتنا آسان نہیں ہے (اگرچہ حقیقت میں یہ عام طور پر قدیم ہے، لیکن وجدان مدد نہیں کرے گا)، اسی لیے میں یہ مضمون لکھ رہا ہوں۔

کوئی بھی جو خود اس کا پتہ لگانا چاہتا ہے وہ پڑھ سکتا ہے۔ RFC
کون تیار حل چاہتا ہے، بلی میں خوش آمدید۔

کاپی پیسٹ کا طریقہ پسند کرنے والوں کو تاخیر نہ کرنے کے لیے پہلے پریکٹیکل حصہ اور پھر نظریاتی حصہ پوسٹ کروں گا۔

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

نیا تبصرہ شامل کریں