بایگانی برچسب: s

DNS

کنترل درخواست های DNS توسط روتر سیسکو DNS Doctoring

کنترل درخواست های DNS توسط روتر سیسکو DNS Doctoring 

کنترل درخواست های DNS توسط روتر سیسکو DNS Doctoring

من هیچ وقت و به هیچ وجه توصیه نمیکم که مثل اینها که فکر میکنند خیلی اعجاب انگیز است که یک روتر سیسکو بتواند DNS Server هم باشد ! چون از نطر من اصلا برای این کار بهینه نشده این یک فعالیت غیر معمول است و کار تمیزی نیست ! ولی اگر شما سرچ کنید Configure Cisco Router as DNS server مقادر انبوهی سایت میبینید که طوری مطلب را تعریف کرده اند که انگار روتر قرار است با شما بشیند و سیگار بکشد و درد و دل کند ….

من به شخصه معتقدم بهترین استفاده از این فیچر میتواند در هاست های local روی خود روتر باشد ، بدین ترتیب که شما هیچ Resolver ی برای روتر تعریف نکنید و از این کامند هم محض بی ربطی استفاده کنید no ip domain lookup  !

بعد میتوانید هاست های مورد نیاز را دستی تعریف کرده و از شر لاشخورهایی که در عرض 2 روز ترافیک DNS خود را به سمت روتر شما سرازیر میکنند خلاص کنید ! من برای اثبات اینکه این فیچر در حالت Resolver بدرد نخور ترین امکانیست که طراح در یک روزی که به شدت مست بوده به ذهن نئشه اش خطور کرده و آنرا در IOS چپانده ، بر روی پلت فرم های مختلف ، این سرویس را run و ترافیک مثلا 8.8.8.8 را بر رویش سرازیر کردم و با ناباوری ، روتر 7206 VXR G2 و ISR 3945 کاملا بالای 85% لود داشتند ! پس به این نتیجه میرسیم که حتی به این مسئله فکر هم نکنید …

مسئله دیگر DNS Doctoring in Some way است ! بدین معنی که شما بتوانید در شبکه خود رفتار و پاسخ DNS Request ها را به نفع خود و یا بقیه کنترل کنید . کاری که در حال حاظر مخابرات ایران انجام میدهد !

شما تصور کنید که میخواهید ، مشترکین از هر DNS سرور Public روی اینترنت که استفاده کردند ، ترافیک DNS به سمت DNS Server مورد نظر شما روانه و پاسخ های مورد نظر شما دریافت شود ، برای مثال شما میخواهید همیشه مثلا فلان URL به آدرس فیلترینگ شما که مثلا 10.10.11.11 است ، Poiny کند ، راه حل چیست ؟

بعضی اقدام به بومی سازی یا Localize ممودن DNS سرور های مشهور مثل 8.8.8.8 4.2.2.4 192.9.9.3 , … می نمایند ، که این روش بسیار کودکانه و اشتباه است ، حال من چه پیشنهادی دارم ؟ به نظر بنده مردم را نباید محدود کرد ، بروند و ببینند که کجا را فتح میکنند ، ولی شما محدودیت میخواهید ، راهش این است :

روش کار به این صورت است که ما کا ترافیک DNS خروجی شبکه را TAG میکنیم و به سمت DNS سرور خودمان سرازیر میکنیم و در DNS Server خودمان هر بلایی که خواستیم ، سر Request ها میاوریم !

ابتدا تگ کردن ترافیک :

Aka-Core-Router(config)#ip acce e 110
Aka-Core-Router(config-ext-nacl)#per udp an an eq 53
Aka-Core-Router(config-ext-nacl)#per tcp an an eq 53
Aka-Core-Router(config-ext-nacl)#den
Aka-Core-Router(config-ext-nacl)#deny ip an
Aka-Core-Router(config-ext-nacl)#deny ip any an
Aka-Core-Router(config-ext-nacl)#deny ip any any
Aka-Core-Router(config-ext-nacl)#exit

route کردن ترافیک به DNS Server مورد نظر :

Aka-Core-Router(config)#route-map dns per 10
Aka-Core-Router(config-route-map)#match ip address 110
Aka-Core-Router(config-route-map)#set ip next-hop 217.218.127.127
Aka-Core-Router(config-route-map)#exit
Aka-Core-Router(config)#route-map dns per 20
Aka-Core-Router(config-route-map)#exit

 با اعمال کردن این Route-Map به اینترفیس خروجی اصلی یا هر اینترفیس که مورد نظر ماست ، و کانفیگ DNS Server خود ، میتوانید کل کرافیک DNS را فارغ از اینکه کاربر از چه DNS سروری استفاده میکند ، به سمت DNS Server مورد نظر سرازیر نمود.

تست :

Before :

C:\Users\Aka>nslookup – 8.8.8.8
Default Server: google-public-dns-a.google.com
Address: 8.8.8.8
> yahoo.com
Server: google-public-dns-a.google.com
Address: 8.8.8.8
Non-authoritative answer:
Name: yahoo.com
Addresses: 206.190.36.45
98.138.253.109
98.139.183.24

After :

C:\Users\Aka>nslookup – 8.8.8.8
Default Server: google-public-dns-a.google.com
Address: 8.8.8.8
> yahoo.com
Server: google-public-dns-a.google.com
Address: 8.8.8.8
Non-authoritative answer:
Name: yahoo.com
Address: 10.10.11.11

C:\Users\Aka>nslookup – 4.2.2.4
Default Server: d.resolvers.level3.net
Address: 4.2.2.4
> yahoo.com
Server: d.resolvers.level3.net
Address: 4.2.2.4
Non-authoritative answer:
Name: yahoo.com
Address: 10.10.11.11

ملاحظه میکنید که پاسخ Request های ما به آنچه دوست داشتیم تغییر کرده و این بعنی زور !!

البته شما میتوانید به جای یک DNS Server خارجی ، ازخود روتر استفاده کنید ، که البته کمی کانفیگ متفاوت میشود ، ولی با توجه به توصیه های ابتدایی پست ، من به هیچ وجه توصیه نمیکنم .

نکته دیگری هم که ممکن است دوستان وارد و مهندس به من و این نوشتار وارد کنند شاید این باشد که این کار DNS Doctoring نیست ، باید عذض کنم که بنده هم عرض کردم که DNS Doctoring in some way ولی در کل منظور از DNS Doctoring ، ترجمه درخواست های DNS حالا مثلا توسط ASA سیسکو است . البته که این هم بضاعت ماست !