DHCP Server Setup on CentOS 6.6

DHCP ဆိုတာ Dynamic Host Configuration Protocol ရဲ့အတိုကောက်ပါ။
DHCP server ဟာ ၎င်းကို လာရောက်ချိတ်ဆက်တဲ့ ကွန်ပျူတာတွေကို ip address တွေ၊ DNS server name & address တွေကို အလိုအလျောက် assign လုပ်ပေးနိုင်ပါတယ်။ကွန်ပျူတာ အရေအတွက်နည်းရင် IP address ကို manually လိုက်ပေးရတာ ကိစ္စမရှိပေမယ့် ကွန်ပျူတာ အရေအတွက်များလာရင် မလွယ်တော့ပါဘူး။မိမိရဲ့ Local Area Network မှာ DHCP server ထိုင်ထားမယ်ဆိုရင် ကွန်ပျူတာတွေကို network ချိတ်ဆက်မိဖို့အတွက် ip address ကို manually လိုက်ပေးစရာမလိုတော့ပါဘူး။ ဒါကြောင့် DHCP server ကို အသုံးပြုတာဖြစ်ပါတယ်။

DHCP server ထိုင်ရန် download ရယူထားတဲ့ packages များရှိတဲ့ dhcp directory အောက်ကို cd ဖြင့် ဝင်ပြီး ls ဖြင့် ကြည့်လိုက်ပါ။ Packages လေးခု ရှိနေပါလိမ့်မယ်။ Packages တွေဆိုရင် အနီရောင်နဲ့ပြ ပါတယ်။ ပုံ – ၄ တွင် ကြည့်ပါ။

cd dhcp/ && ls

၎င်း packages များဟာ dhcp server အဖြစ် install ပြုလုပ်ဖို့ packages များပဲ ဖြစ်ပါတယ်။ ကျွန်တော်တို့က dhcp server ဖြစ်ဖို့ ဒီ packages တွေကို install ပြုလုပ်ပေးရမှာ ဖြစ်ပါတယ်။ ဒါပေမယ့် ဒီ packages လေးခုမှာ (၂) ခုက CentOS minimal ကို install လုပ်ထဲက default အနေနဲ့ပါလာပါတယ်။ ဘာကြောင့်ပါလာတာလဲဆိုတော့ အခြား dhcp server တစ်လုံးကို client အနေနဲ့သွားချိတ်လို့ရအောင်ဖြစ်ပါတယ်။ dhclient နဲ့ dhcp-common ဆိုတဲ့ packages နှစ်ခုဟာ install ပြုလုပ်ပြီးသား ဖြစ်နေပါလိမ့်မယ်။ ဒါကြောင့်လဲ VirtualBox က ချပေးတဲ့ ip address ကို ရနေတာ ဖြစ်ပါတယ်။ဒါပေမယ့် အခု download ချလိုက်တဲ့ packages တွေက ပိုပြီးတော့ up-to-date ဖြစ်နေပါတယ်။ dhclient နဲ့ dhcp-common packages တွေပါပြီးသားဆိုတာ အောက်ပါ command နဲ့ ကြည့်လို့ ရပါတယ်။

rpm –qa | grep dhc

ပုံ – ၅ တွင် ကြည့်ပါ။

rpm (RedHat Package Manager) ဆိုတာ packages တွေကို install လုပ်ဖို့ command line program လေးပါ။ -qa ဆိုတာ query all လို့ အဓိပ္ပာယ်ရပြီး install လုပ်ထားတဲ့ packages ကို အကုန်ထုတ်ပြခိုင်း တာဖြစ်ပါတယ်။ အဲ့ဒါကိုမှ | grep dhc ဆိုတာက dhc ဆိုတဲ့ စကားလုံးပါတဲ့ packages ကိုပဲ ထုတ်ပြခိုင်းလိုက်တာ ဖြစ်ပါတယ်။ | ကို (pipe) လို့ခေါ်ပါတယ်။ ရှေ့ command ကြောင့် ထွက်လာတဲ့ result ကို နောက် command ထဲ ထည့်လိုက်တာပါ။ ဒါဟာ GUI မလုပ်နိုင်တဲ့ CLI ရဲ့ အားသာချက်ပါ။ grep ဆိုတာ ရှာဖွေရေး command ပါ။ သူ့နောက်မှာပါတဲ့ dhc ဆိုတဲ့ စကားလုံးကို ရှေ့က rpm –qa ကြောင့် ရလာတဲ့ result ထဲက ရှာတာပါ။ rpm –qa ချည်းပဲ ရိုက်ရင် install လုပ်ထားတဲ့ packages အကုန်လုံးကို ထုတ်ပြမှာပါ။ အကယ်၍ | grep dhc နေရာမှာ > list.txt လို့ထည့်လိုက်ရင် လက်ရှိရောက်နေတဲ့ directory အောက်မှာ list.txt ဆိုတဲ့ ဖိုင်အနေနဲ့ packages စာရင်းကို ထုတ်ပေးပါလိမ့်မယ်။အခု dhcp packages တွေကို install လုပ်ကြရအောင်။ Packages နှစ်ခုက install ပြုလုပ်ပြီးသား ဖြစ်ပါတယ်။ ဒါကြောင့် install လုပ်ဖို့ command ရိုက်ရင် မရဘဲ ရှိပြီးသားလို့ ပြောပါတယ်။နှစ်ခုကို Update လုပ်ရမှာဖြစ်ပြီး ကျန်နှစ်ခုကို install ပြုလုပ်ရမှာဖြစ်ပါတယ်။ Update command ကတော့ install မလုပ်ရသေးရင် install လုပ်သွားပြီး install လုပ်ပြီးသား ဆိုရင်တော့ update လုပ်သွားပါတယ်။အောက်ပါ command ကို ရိုက်ပြီး enter ခေါက်လိုက်ရင် install and update လုပ်သွားမှာပါ။ dhcp directory အောက်မှာ ရောက်နေလို့ ဒီလို တန်းရိုက်လို့ရတာပါ။ အခြား directory အောက်မှာ ရောက်နေရင်တော့ rpm packages တွေရှိတဲ့ directory လမ်းကြောင်းကို ထည့်ပေးရ မှာပါ။

rpm –Uvh *.rpm

U က အကြီးဖြစ်ပါတယ်။ update လို့ ပြောတာပါ။ v က verbose ပါ။ h ဆိုတာ hex signs လေး တွေနဲ့ install လုပ်နေတဲ့ percentage ကို ပြပါလို့ပြောလိုက်တာပါ။ vh ကို မထည့်လဲ ရပါတယ်။ Install လုပ်တဲ့ command က (# rpm –ivh ) ဖြစ်ပါတယ်။ ကျွန်တော်ကတော့ update command ကိုသာ အမြဲသုံးပါတယ်။ linux တွေမှာ packages တွေ တင်ပြီးဆိုရင် လိုအပ်တဲ့ packages အကုန်လုံးကို စုပြီး install ပြုလုပ်ပေးရပါတယ်။ ကျွန်တော် Linux ကိုစတင်လေ့လာ ခါစက packages တွေကို တစ်ခုချင်းစီ install လုပ်ပါတယ်။ မရပါဘူး။ ရှေ့မဆက်နိုင်ပဲ ရပ်နေဖူး ပါတယ်။ packages တွေရှိတဲ့ directory အောက်ကိုဝင်ပြီး *.rpm ဆိုရင် အကုန်လုံးကို ရွေးချယ် ပြီးသား ဖြစ်ပါတယ်။ * ဆိုတာ တူတာအားလုံးကို ကိုယ်စားပြုလိုက်တာပါ။

Install ပြုလုပ်ပြီးရင် dhcp server ဖြစ်စေဖို့ configuration ပြုလုပ်ပေးရပါ့မယ်။ ပထမဆုံး dhcp service အခြေအနေကို အောက်ပါ command ရိုက် ကြည့်လိုက်ပါ။

service dhcpd status

Linux မှာ service ကို daemon လို့ခေါ်ပါတယ်။ ဒါကြောင့် dhcp ရဲ့နောက်မှာ dhcpd ဆိုပြီး   “d” ပါနေတာဖြစ်ပါတယ်။ dhcp service လို့ ရည်ညွှန်းတာပါ။ service နှင့် status ကြားမှာ သက်ဆိုင်ရာ service name or daemon တွေကို ထည့်ရပါတယ်။ status ဆိုတာ service ရဲ့ အခြေအနေကို ကြည့်တာပါ။ အခုဆိုရင် dhcp service ဟာ stop ဖြစ်နေကြောင်းပြပါလိမ့်မယ်။

service dhcpd start

လို့ ရိုက်ပြီး enter ခေါက်လိုက်ပါ။ FAILED ဆိုပြီး ပြပါလိမ့်မယ်။ configuration မလုပ်ရသေးတဲ့ အတွက် failed ဖြစ်နေတာပါ။ ပုံ – ၆ ကို ကြည့်ပါ။

အခု failed မဖြစ်အောင် dhcpd.conf ဖိုင်လေးကို သွားပြီး configuration ပြုလုပ်ကြရအောင်။ ၎င်း dhcpd.conf ဖိုင်လေးဟာ /etc/dhcp ရဲ့အောက်မှာ ရှိပါတယ်။အောက်ပါ command ကို ရိုက်ပြီး enter ခေါက်လိုက်ပါ။

vi /etc/dhcp/dhcpd.conf

ပုံ – ၇ အတိုင်း တွေ့ရပါလိမ့်မယ်။ 

Vi နဲ့ /etc/dhcp အောက်က dhcpd.conf ဖိုင်လေးကို ဖွင့်ကြည့်လိုက်တာပါ။ အထဲမှာ ဘာမှ စာကြောင်းလေး ၃ ကြောင်းက လွဲလို့ ဘာမှ မရှိသေးပါဘူး။ရေးထားတာက DHCP Server Configuration file ဖြစ်ပါတယ်တဲ့။ နမူနာကြည့်ချင်ရင် /usr/share/doc/dhcp*/dhcpd.conf.sample ကို ကြည့်ပါလို့ ပြောထားတာပါ။ man 5 dhcpd.conf လို့ကြည့်လည်းရပါတယ်တဲ့။ အခုတော့မရပါဘူး။ CentOS minimal မှာ man command ကို သုံးလို့မရသေးပါဘူး။များသောအားဖြင့် dhcp server လုပ်နည်းတွေမှာ /usr/share/doc/dhcp*/dhcpd.conf.sample ဖိုင်လေးကို copy ကူးပြီး လိုအပ်တာလေးတွေ ပြင်ကြတာများပါတယ်။ အင်တာနက်မှာ ရှာကြည့် ရင်လဲ အဲ့သလိုပဲပြပါလိမ့်မယ်။

အခု ကျွန်တော်ကတော့ အရိုးရှင်းဆုံး လုပ်ပြပါ့မယ်။ sample ဖိုင်ကို copy ကူးမနေတော့ပါဘူး။ အောက်ပါအတိုင်း တစ်ကြောင်းပဲ ရိုက်ထည့်လိုက်ပါ။ vi နဲ့ သုံးရင် စာရိုက်ချင်ရင် “i” ကို နှိပ်ရတယ်နော်။# sign လေးတွေရဲ့အောက်ထိဆင်းပြီး ဒီလိုရိုက်ထည့်လိုက်ပါ။

subnet 10.0.0.0 netmask 255.0.0.0 {range 10.0.0.1 10.0.0.100;}

မှားလို့မရပါဘူး။ subnet (space) 10.0.0.0 (space) netmask (space) 255.0.0.0 (space) {range (space) 10.0.0.1 (space) 10.0.0.100;} ဖြစ်ပါတယ်။ semicolon လေးလဲ မမေ့ပါနဲ့။ပြီးရင် Esc နှိပ် “:x”  ရိုက်ပြီး enter ခေါက်လိုက်ရင် save သွားပါလိမ့်မယ်။

cat /etc/dhcp/dhcpd.conf

နဲ့ ကြည့်လိုက်ပါ။ ပုံ – ၈ အတိုင်းဖြစ်ပါမယ်။ မဖြစ်ရင် မရဘူးနော်။ 

ဒါဆိုရင် ကျွန်တော်တို့ CentOS ပေါ်မှာ dhcp server ကို configuration ပြုလုပ်ပြီးပါပြီ။ ဒါက အလွယ်ဆုံး လုပ်ပြတာပါ။ အမှန်တကယ်က ဒီထက်မကပါဘူး။ server နာမည်တွေ၊ DNS address တွေ ၊ ip address တွေကို အငှားချပေးမယ်အချိန်တွေ၊ သတ်သတ်မှတ်မှတ် ဒီကွန်ပျူတာဆို ဒီ ip ပဲ ပေးတာတွေ ကျန်ပါသေးတယ်။ ဒီတစ်ကြောင်းလေးထဲ မဟုတ်ပါဘူး။ အခုကတော့ လွယ်အောင်လို့ လုပ်ပြပေးတာပါ။

အခု dhcp service ကို start လုပ်ကြည့်ရအောင်။ အောက်ပါ command ကို ရိုက်ပြီး enter ခေါက်ပါ။ ပုံ – ၉ တွင်ကြည့်ပါ။

FAILED မဖြစ်တော့ဘဲ OK လို့ ပြနေပါလိမ့်မယ်။ နောက်ပိုင်း boot တတ်လာတာနဲ့ dhcp service ကို auto run နေစေဖို့ အောက်ပါ command ကို ရိုက်ပေးလိုက်ပါ။# chkconfig dhcpd onဒါဆိုရင် boot တတ်လာတာနဲ့ dhcp service ဟာ auto run နေတော့မှာ ဖြစ်ပါတယ်။ဒီ dhcp service ကို ကျွန်တော်တို့က ဘယ် Ethernet card ကနေ ချပေးမလဲဆိုတာ သတ်မှတ်ပေးရပါဦးမယ်။ ကျွန်တော်တို့မှာ eth0 နဲ့ eth1 ဆိုပြီး နှစ်ခုရှိနေပါတယ်။eth1 ကနေ ချပေးပါ့မယ်။ ဘာကြောင့်လဲဆိုတော့ ကျွန်တော်တို့ eth1 ကို VirtualBox မှာHost-only mode နဲ့ ချိတ်ပေးခဲ့လို့ပါ။ ဒါမှလဲ ရမှာဖြစ်ပါတယ်။puTTY နဲ့ ချိတ်ထားတာတော့ ပြတ်သွားမှာ ဖြစ်ပါတယ်။ ip ပြောင်းပြီး ပြန်ချိတ်ရပါလိမ့်မယ်။အောက်ပါ command ကို ရိုက်ပြီး enter ခေါက်ပါ။

vi /etc/sysconfig/dhcpd

အဲ့မှာ DHCPDARGS= နောက်မှာ “eth1” လို့ရိုက်ထည့်ပေးလိုက်ပါ။ ပုံ – ၁၀ မှာ ကြည့်ပါ။ 

ဒီလိုပြင်လိုက်ရင် dhcp service ဟာ eth1 ကနေ ip address တွေကို ချပေးနေတော့မှာ ဖြစ်ပါတယ်။

အခု ကျွန်တော်တို့ eth1 ရဲ့ ip address 192.168.0.101 ကို 10.0.0.200 လို့ပြောင်းပါ့မယ်။ ဘာကြောင့်လဲဆိုတော့ dhcp server ရဲ့ ip address နဲ့ တူအောင်လို့ပါ။ ဒါမှ dhcp service ကို eth1 ကနေ ချပေးမှာ ဖြစ်ပါတယ်။အောက်ပါ command ကို ရိုက်ပြီး enter ခေါက်ပါ။

ifconfig eth1 10.0.0.200

eth1 ရဲ့ ip address ဟာ ယာယီ 10.0.0.200 ဖြစ်သွားပါလိမ့်မယ်။ ip address ပြောင်းသွားတဲ့ puTTY နဲ့ ချိတ်ဆက်ထားမှုကလည်း ပျက်သွားပါတယ်။VirtualBox ပေါ်က CentOS မှာသွားပြီး  dhcp service ကို restart လုပ်လိုက်ပါ။

service dhcpd restart

dhcpd service ကို restart လုပ်လိုက်တာပါ။ တစ်ခုခုပြင်ပြီးတိုင်း restart လုပ်ရပါတယ်။ OK ပြ နေပါလိမ့်မယ်။ အထက်ပါအတိုင်းပြုလုပ်ပြီးရင် VM မှာတင်ထားတဲ့ CentOS ဟာ dhcp server ဖြစ်သွားပါပြီ။ ပုံ – ၁၁ တွင်ကြည့်ပါ။

Windows OS ရဲ့ VirtualBox Host-Only Network Adapter မှာ သွားပြီး Obtain an IP address automatically ကို ပြောင်းလိုက်ပါ။ ပုံ – ၁၂ တွင်ကြည့်ပါ။ 

CentOS က ချပေးတဲ့ ip address ကို windows OS မှာ ရပါလိမ့်မယ်။ cmd မှာ ipconfig လို့ ရိုက် ကြည့်လိုက်ပါ။ ပုံ – ၁၃ ကို ကြည့်ပါ။

puTTY ကို ပိတ်၊ ပြန်ဖွင့်ပြီး ip address နေရာမှာ 10.0.0.200 လို့ ရိုက်လိုက်ရင် ပြန်ချိတ်မိ ပါလိမ့်မယ်။ dialog box တစ်ခုပေါ်လာရင် OK သာ နှိပ်ပေးလိုက်ပါ။ ip address ပြောင်း သွားရင် ၎င်း dialog box ပေါ်ပါတယ်။

CentOS ပေါ်မှာ dhcp server installation ပြီးပါပြီ။

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s