1 DNS Server [Network] 15th April 2010, 12:26 pm
xtrm
VIP Member
DNS ဆိုတာ ကျနော်တို့လို Internet အသုံးပြုသူတွေ နေ့စဉ်နဲ့အမျှ ထိတွေ့နေတယ့် Service တစ်ခုပါ။ Web browser မှာ myanmaritresource.info လို့ရိုက်ပြီး enter ခေါက်လိုက်ကတည်းက ကျနော်တို့ DNS ကိုအသုံးပြုနေပါပြီ။
DNS လို့ခေါ်တယ့် Domain Name Service ဟာ Domain name လို့ခေါ်တယ့် နာမည်တွေကနေ IP address လို့ခေါ်တယ့် နံပါတ်တွေအဖြစ်ကို ပြန်ပြောင်းပေးတယ့် အလုပ်ကိုလုပ်ပါတယ်။ Google.com လို့ရိုက်ရမယ့်အစား 64.233.181.104 လို့သာ ရိုက်ရမယ်ဆိုရင် ကျနော်တို့အတွတ် Website ဆယ်ခု အခုနှစ်ဆယ်ထက် ပိုပြီး မှတ်မိဖို့မလွယ်ပါဘူး။ ဒါဆို DNS က ဘယ်အချိန်မှာ အလုပ်လုပ်လည်း ?
Browser မှာ google.com ကို ဖွင့်လိုက်ချိန်မှာ Client ကနေ DNS standard query ကို DNS server ကိုဖို့ပါတယ်။ DNS server ကနေမှ ဒီ domain name က ဘယ် IP ဆိုတာကို resolve လုပ်ပြီး DNS Standard Query respond ပြန်ပါတယ်။ အဲတော့မှ Browser က သက်ဆိုင်ရာ IP address ကိုလှမ်းပြီး HTTP Get process စပါတယ်။ အဲတော့မှ Website က စပြီး load လုပ်တာပါ။ ဆိုလိုတာကတော့ Website တစ်ခုကိုဖွင့်ကြည့်ရင် တကယ် Website ကိုဖွင့်ကြည့်တယ့် process တိုင်းရဲ့ ရှေ့မှာ DNS resolving process ရှိပါတယ်။
DNS server ဘက်မှာကတော့ ဘယ် Domain name က ဘယ် IP ဆိုတာကို mapping table လိုမျိုး တွဲပြီးမှတ်ထားပါတယ်။ A record , MX record အစရှိသဖြင့် သူ့ကိုယ်တိုင်ဆီမှာ configure လုပ်ထားလို့ဖြစ်စေ၊ တခြား DNS server ကနေ လှမ်းမေးပြီး cache အဖြစ်ထားပြီးဖြစ်စေ မှတ်ထားပါတယ်။ သူသိတယ့်၊ မှတ်ထားတယ့် ထဲမှာ မရှိရင် DNS forwarder ကအလုပ်လုပ်ပြီး upper tier DNS server ကိုလှမ်းမေးပါတယ်။ တစ်ဆင့်ချင်း နောက်ဆုံး DNS root server အထိမှာမှ မရှိရင်တော့ ဒီ domain name ကမရှိဘူးလို့ သတ်မှတ်ပြီး respond လုပ်ပါတယ်။
( DNS query ကအဝေးကြီးကို သွားပြီး resolve လုပ်နေရရင် website တက်လာတာ ပိုကြာနိုင်ပါတယ်။ အသုံးပြုတယ့် User များလေလေ ပိုသိသာလေပါ။ အဲဒါကြောင့် user ထောင်ကျော်ရှိတယ့် office တိုင်းမှာ DNS server တွေမရှိမဖြစ် ရှိတက်ပါတယ်။ မြန်မာ internet cafe တွေမှာလည်း မသိမသာပဲဖြစ်ဖြစ် ပိုမြန်လာရင်တောင် မဆိုးဘူးဆိုပြီး Squid နဲ့ တွဲပြီး DNS server ပါထောင်ပြီး သုံးကြပါတယ်။ )
Linux Server တစ်ခုမှာ DNS cache server ဘယ်လိုလုပ်တယ်၊ DNS server ဘယ်လို setup လုပ်တယ်ဆိုတာနဲ့ Configuration တွေရဲ့ အသေးစိတ်ကို ( Copy / paste guide မဟုတ်အောင် ) ဆက်ရေးချင်ပါသေးတယ်။ အခုထိ ရေးထားတာမှာ ကျနော်ရှင်းအောင် မရေးနိုင်လို့ နားမလည်တာရှိရင် ပြန်မေးပါ။ တတ်နိုင်သလောက် (စိတ်ရှည်ရှည်ထားပြီး ) ဖြေပါမယ်။ ဒီ thread မှာ Squid အကြောင်းရေးတာမဟုတ်လို့ Squid အကြောင်းအသေးစိတ် မေးတာ့ သည်းခံပါ။
DNS လို့ခေါ်တယ့် Domain Name Service ဟာ Domain name လို့ခေါ်တယ့် နာမည်တွေကနေ IP address လို့ခေါ်တယ့် နံပါတ်တွေအဖြစ်ကို ပြန်ပြောင်းပေးတယ့် အလုပ်ကိုလုပ်ပါတယ်။ Google.com လို့ရိုက်ရမယ့်အစား 64.233.181.104 လို့သာ ရိုက်ရမယ်ဆိုရင် ကျနော်တို့အတွတ် Website ဆယ်ခု အခုနှစ်ဆယ်ထက် ပိုပြီး မှတ်မိဖို့မလွယ်ပါဘူး။ ဒါဆို DNS က ဘယ်အချိန်မှာ အလုပ်လုပ်လည်း ?
Browser မှာ google.com ကို ဖွင့်လိုက်ချိန်မှာ Client ကနေ DNS standard query ကို DNS server ကိုဖို့ပါတယ်။ DNS server ကနေမှ ဒီ domain name က ဘယ် IP ဆိုတာကို resolve လုပ်ပြီး DNS Standard Query respond ပြန်ပါတယ်။ အဲတော့မှ Browser က သက်ဆိုင်ရာ IP address ကိုလှမ်းပြီး HTTP Get process စပါတယ်။ အဲတော့မှ Website က စပြီး load လုပ်တာပါ။ ဆိုလိုတာကတော့ Website တစ်ခုကိုဖွင့်ကြည့်ရင် တကယ် Website ကိုဖွင့်ကြည့်တယ့် process တိုင်းရဲ့ ရှေ့မှာ DNS resolving process ရှိပါတယ်။
DNS server ဘက်မှာကတော့ ဘယ် Domain name က ဘယ် IP ဆိုတာကို mapping table လိုမျိုး တွဲပြီးမှတ်ထားပါတယ်။ A record , MX record အစရှိသဖြင့် သူ့ကိုယ်တိုင်ဆီမှာ configure လုပ်ထားလို့ဖြစ်စေ၊ တခြား DNS server ကနေ လှမ်းမေးပြီး cache အဖြစ်ထားပြီးဖြစ်စေ မှတ်ထားပါတယ်။ သူသိတယ့်၊ မှတ်ထားတယ့် ထဲမှာ မရှိရင် DNS forwarder ကအလုပ်လုပ်ပြီး upper tier DNS server ကိုလှမ်းမေးပါတယ်။ တစ်ဆင့်ချင်း နောက်ဆုံး DNS root server အထိမှာမှ မရှိရင်တော့ ဒီ domain name ကမရှိဘူးလို့ သတ်မှတ်ပြီး respond လုပ်ပါတယ်။
( DNS query ကအဝေးကြီးကို သွားပြီး resolve လုပ်နေရရင် website တက်လာတာ ပိုကြာနိုင်ပါတယ်။ အသုံးပြုတယ့် User များလေလေ ပိုသိသာလေပါ။ အဲဒါကြောင့် user ထောင်ကျော်ရှိတယ့် office တိုင်းမှာ DNS server တွေမရှိမဖြစ် ရှိတက်ပါတယ်။ မြန်မာ internet cafe တွေမှာလည်း မသိမသာပဲဖြစ်ဖြစ် ပိုမြန်လာရင်တောင် မဆိုးဘူးဆိုပြီး Squid နဲ့ တွဲပြီး DNS server ပါထောင်ပြီး သုံးကြပါတယ်။ )
Linux Server တစ်ခုမှာ DNS cache server ဘယ်လိုလုပ်တယ်၊ DNS server ဘယ်လို setup လုပ်တယ်ဆိုတာနဲ့ Configuration တွေရဲ့ အသေးစိတ်ကို ( Copy / paste guide မဟုတ်အောင် ) ဆက်ရေးချင်ပါသေးတယ်။ အခုထိ ရေးထားတာမှာ ကျနော်ရှင်းအောင် မရေးနိုင်လို့ နားမလည်တာရှိရင် ပြန်မေးပါ။ တတ်နိုင်သလောက် (စိတ်ရှည်ရှည်ထားပြီး ) ဖြေပါမယ်။ ဒီ thread မှာ Squid အကြောင်းရေးတာမဟုတ်လို့ Squid အကြောင်းအသေးစိတ် မေးတာ့ သည်းခံပါ။