Sunday, December 31, 2017

Latest Kernel Installation on CentOS-7


      ပံုမွန္အားျဖင့္ CentOS7 မွာလက္ရိွစာေရးေနခ်ိန္အထိ Linux kernel version ေတြဟာ 3.x.x. နဲ႔ပဲလာျပီးေတာ့ေနာက္ဆံုး update ကိုတရား၀င္အားျဖင့္ support ေပးတာမ်ိဳးမေတြ႕ရပါဘူး။ မလိုအပ္တာေႀကာင့္လည္းျဖစ္ ႏိုင္ပါတယ္။အဲ့ေတာ့ကာ latest kernel ကို install လုပ္ခ်င္ရင္ေတာ့ ကိုယ့္ဟာကိုယ္ပဲ ELRepo ကိုကေန install လုပ္ရပါေတာ့မယ္။ ELRepo ဆိုတာသည္ RPM repository for Enterprise Linux Packages ျဖစ္ျပီးေတာ့ hardware issue ေတြျဖစ္တဲ့ video and graphic ၊ audio ၊ network နဲ႔ file system drivers packages ေတြဖက္ကိုအဓိ ထား develop လုပ္ပါတယ္။အဲ့ေတာ့ ပံုမွန္မဟုတ္တဲ့ third-party software ေတြ driver ေတြတခ်င္ရင္ elrepo ကိုသံုးရမွာပါ။        



        အေပၚကပံုေလးမွာ centos7.3 နဲ႔ nagios core ကိုတင္ထားတယ္။linux kernels ေတြကေတာ့ default ျဖစ္တဲ့ 3.x.xx version ေတြျဖစ္ပါတယ္။အဲ့မွာမွာ latest kernel ကိုစမ္းတင္ႀကည့္ပါမယ္။ Installation အဆင့္ ေတြကိုေတာ့သံုးဆင့္ေလာက္ပဲခြဲလုိက္ပါမယ္။
1)    Import the public key
2)  Install ELRepo for CentOS 7
3)  Installing New Kernel version
      Kernel အသစ္အတြက္ public-key ကို import မလုပ္မီမွာ လက္ရွိ အသံုးျပဳေနတဲ့ OS version နဲ႔ linux kernel verstion ကိုအရင္ check လုပ္ပါမယ္။

root@infra ~#cat /proc/version    (or)  root@infra ~#uname –mrs


        အေပၚပံုကလက္ရွိ login ၀င္ထားတဲ့ kernel ရဲ့ version ျဖစ္ပါတယ္။OS release version အတြကကိုေတာ့ ေအာက္ပါအတိုင္းႀကည့္ပါမယ္။OS release version ကေတာ့ 7.4 ပါ။သို႔ေသာ္စတင္ install လပ္စဥ္က 7.3 နဲ႔ပဲ installation လုပ္ထားတာပါ။


ျပီးရင္ေတာ့ wget သံုးျပီး public elrepo key ကို download ဆြဲပါမယ္။

root@infra ~]#wget https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
root@infra ~]#gpg --quiet --with-fingerprint RPM-GPG-KEY-elrepo.org


ေထြေထြထူးထူး error မရွိဘူးဆိုရင္ေတာ့ download လုပ္ထားတဲ့ public-key ကို import လုပ္လုိ႔ရပါျပီ။

root@infra ~]#sudo rpm --import RPM-GPG-KEY-elrepo.org


      key-import ျပီးသြားရင္ elrepo file ကို download လုပ္ပါမယ္။latest version ကိုသံုးပါမယ္။အဲ့အတြက္ elrepo official site မွာ သက္ဆိုင္ရာ OS version မ်ားအလိုက္ latest repo ေတြရွိပါတယ္။ CentOS7အတြက္ elrepo-release-7.0-3.el7.elrepo.noarch.rpm ျဖစ္ပါတယ္။ သို႔ေသာ္ဒါက အေသမွတ္စရာမလိုပါ။ latest ျဖစ္တာကိုသံုးရံုပါ။

root@infra ~#wget http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm


root@infra ~#yum install elrepo-release-7.0-3.el7.elrepo.noarch.rpm


               New kernel installation အတြက္လုိအပ္တဲ repo file ကို installation လုပ္လို႔ျပီးပါျပီ။ ဒီေနရာမွာ တခုနားည္ထားရမွာက အခု repo file ဟာ new kernel အတြက္လုိအပ္တာေတြအျပင္ အျခာ ေသာ third-party software မ်ားအတြက္ပါ သက္ဆိုင္ရာ repo data ေတြပါ၀င္ေနပါတယ္။ အခုကြ်န္ေတာ္တို႔က kernel ကိုပဲ installation လုပ္ခ်င္တာပါ။ အျခား software ေတြကို installation မလုပ္ခ်င္ပါဘူး။ အဲ့ဒါေလးကို ေတာ့မွတ္သားထားစခ်င္ပါတယ္။ အရင္ဆံုး available ျဖစ္တဲ့ kernel ေတြကို list လုပ္ႀကည့္ပါမယ္။ 

root@infra ~#yum list available --disablerepo='*' --enablerepo=elrepo-kernel

ဒီေနရာမွာ --disablerepo='*' ဆိုတာက repo data အားလံုးကို disable လုပ္လိုက္ပါျပီ။သို႔ေသာ္ေနာက္မွာ   --enablerepo=elrepo-kernel ပါတဲ့အတြက္ kernel နဲ႔ပါတ္သတ္တာေတြကိုေတာ့ list လုပ္ပါလို႔ဆိုလိုတာပါ။ ေအာက္ကပံုအတိုင္း command output ထြက္လာပါမယ္။available ျဖစ္တဲ့ kernel type ေတြအကုန္လံုး list လုပ္ထားေပးပါလိမ့္မယ္။


ဒီေနရာမွာ kernel-lt.x86_64 နဲ႔ kernel-ml.x86_64  ဆိုျပီးႏွစ္မ်ိဳးအဓိကေတြ႕ရပါမယ္။အခုက list လုပ္ထားတာပဲရွိေသးျပီး installation မလုပ္ရေသးပါဘူး။ႏွစ္မ်ိဳးထဲကတစ္မ်ိဳးကို install လုပ္ရမွာပါ။ကြ်န္ေတာ္ကေတာ့ long team support ျဖစ္တဲ့ kernel-lt.x86_64 ကို install လုပ္ပါမယ္။command ကေတာ့ျဖစ္ ေအာက္ပါအတိုင္းျဖစ္ပါတယ္။

root@infra ~#yum --disablerepo='*' --enablerepo=elrepo-kernel install kernel-lt


Mini stable ကို install လုပ္ခ်င္ရင္ေတာ့ေအာက္ပါ command အတိုင္းသြားပါမယ္။ေနာက္ဆံုးစာလံုးပဲ ကြာပါမယ္။က်န္တာကအတူတူပါပဲ။

root@infra ~#yum --disablerepo='*' --enablerepo=elrepo-kernel install kernel-ml

အဲ့ဒီေနာက္ reboot လုပ္ျပီးျပန္တက္လာရင္ kernel အသစ္နဲ႔ log-in လုပ္လို႔ရပါျပီ။ဒီေနရာမွာ kernel အသစ္ နဲ႔ default တက္မွာမဟုတ္ပါဘူး။ေအာက္ကပံုက manual ေရြးထားတာပါ။default တက္ခ်င္ရင္ေတာ့ grub ကို kernel 4.4 အေနနဲ႔ default ျဖစ္ေအာင္ config လုပ္ေပးရပါမယ္။


 အဲေတာ့ grub file က /etc/defaulf/ ေအာက္မွာရွိပါတယ္။ေအာက္ကပံုကိုႀကည့္ပါ။အဲ့မွာ vi နဲ႔ျဖစ္ျဖစ္ nano နဲ႔ပဲျဖစ္ျဖစ္ GRUB_DEFAULT=SAVED ဆိုတာကို GRUB_DEFAULT=0 ေျပာင္းေပးလုိက္ပါ။ေအာက္ကပံု ကေတာ့ေျပာင္း ျပီးသားပံုျဖစ္ပါတယ္။

ျပီးရင္ေအာက္ပါ command အတိုင္း update လုပ္ပါမယ္။ျပီးရင္ reboot လုပ္ပါမယ္။

root@localhost~#grub2-mkconfig -o /boot/grub2/grub.cfg


              ေနာက္တစ္ႀကိမ္ reboot ျပန္တက္ရင္ေတာ့ kernel 4.4 က default ျဖစ္ေနပါျပီ။အခုဒီ kernel upgrading လုပ္တဲ့ process ကို zabbix install လုပ္ထားတဲ့ vbox ေပၚမွာေကာ nagios install လုပ္ထားတဲ့ vbox ေပၚမွာ ပါစမ္းျပီးျဖစ္ပါတယ္။ သူ႔ရဲ့ core application system ကိုမသို႔မွထိခိုက္ျခင္းမရွိပါဘူး  ေကာင္းေကာင္းမြန္မြန္ အလုပ္လုပ္ပါတယ္။ သို႔ေသာ္ CentOS community အေနနဲ႔ latest kernel နဲ႔ပတ္သတ္ျပီး official recommend ေပးျခင္းမ်ိဳး support ေပးျခင္းမ်ိဳးမရွိပါဘူး။ ဒါေႀကာင့္ operational environment မွာဆိုရင္ upgrade လုပ္ဖို႔မလိုအပ္ရင္ေတာ့ မလုပ္တာပိုေကာင္းပါတယ္။ တကယ္လို႔ ကိုယ့္ desire ေႀကာင့္လုပ္ခ်င္တယ္ ဆိုရင္ေတာ့ critical data ေတြ backup အရင္လုပ္ျပီးမွ စမ္းႀကည့္ေစခ်င္ပါတယ္။ တခုခုခြ်တ္ေခ်ာ္လို႔ OS boot ျပန္မတက္ရင္save ျဖစ္ေအာင္ပါ။

ေလးစားစြာျဖင့္
Win Tun Hlaing

Friday, November 3, 2017

3G Modem Set-up in Mikrotik

Mikrotik Router Board ေတြမွာ 3G moden ေတြနဲ႔ internet အသံုးျပဳမယ္ဆုိရင္ အရင္ဆံုးသူနဲ႔ compatible ျဖစ္တဲ့ 3G moden ကိုရွာေဖြ၀ယ္ယူရမွာျဖစ္ပါတယ္။ျပီးေတာ့တန္းျပီး USB ေပါက္မွာထိုးရံုနဲ႔ Internet ထြက္မွာမဟုတ္ပါဘူး။ setting အခ်ိဳ႕ကိုေတာ့ configure လုပ္ေပးရမွာပါ။အရင္ဆံုး moden ကိုထိုးလုိက္ျပီ ဆိုတာနဲ႔ compatible ျဖစ္တဲ့ moden ဆိုရင္ PPP-Client interface ဟာ auto ေပၚလာရမွာပါ။ မေပၚလာဘူးဆိုရင္ေတာ့ compitable မျဖစ္လို႔ပါ။


ျပီးရင္system>resource>USB ကိုႀကည့္ပါ။ ဒါဆိုရင္USB moden ရဲ့ vendorနဲ႔ speed ကိုျမင္ရမွာျဖစ္ပါတယ္။


ျပီးရင္ေတာ့ Internet ထြက္ဖို႔အတြက္ PPP-Client-Interface တစ္နည္းအားျဖင့္ PPP outgoing interface ကို setup စျပီးလုပ္ပါမယ္။ PPP-Client-Interface ကိုႏွစ္ေနရာမွာျမင္ႏိုင္ပါတယ္။တစ္ခုက interfaces list ေအာက္မွာ ေနာက္တစ္ခု ppp list ရဲ့ေအာက္မွာပါ။ အဲ့ႏွစ္ခုလံုးကအတူတူပါပဲ။ က်ြန္ေတာ္ကေတာ့ ပိုရွင္း သြားေအာင္ PPP list ေအာက္က ေန setup လုပ္ပါမယ္။ PPP interface setting မွာ General ၊ PPP ၊ Status ၊ Traffic ဆိုျပီးေတာ့ sub-setting ေလးခုပါပါတယ္။ အရင္ဆံုး General Tab ေအာက္မွာ Name ၊ Type ၊ Port ၊ APN ၊PIN ဆိုတဲ့ attribute ေတြကိုထည့္ေပးရမွာပါ။


Name ကေတာ့ႀကိဳက္တာေပးလုိ႔ရတယ္။ကြ်န္ေတာ္ကေတာ့ပံုထဲကအတိုင္း 3G-Internet ဆိုျပီးထားလုိက္တယ္။Type ကေတာ့ PPP Client ပဲသြားေျပာင္းလို႔မရပါဘူး။ Port မွာေတာ့ usb1 အဲ့ဒါက moden ရဲ့ physical interface ျဖစ္ျပီး သူသည္လည္း default ကိုပဲေရႊးေပးရမွာပါ။ အဲ့ေနရာမွာတစ္ခုရွိတယ္။ Port မွာ usb1 သို႔ usb2 ေပၚမေနပဲ unknown ျပေနတာမ်ိဳးဆို compitable မျဖစ္လို႔ပါ။ အဲ့ေတာ့ကြ်န္ေတာ္ တို႔က mikrotik နဲ႔တြဲသံုးခ်င္ရင္ သူနဲ႔compitable ျဖစ္တာကိုပဲရွာ ၀ယ္ရမယ့္သေဘာပါ။ compitable ျဖစ္တဲ့ list ကိုလည္း mikrotik website မွာေဖာ္ျပ ထားပါတယ္။ေနာက္ APN မွာေတာ့ Ooredoo သံုးထားလုိ႔ Internet ဆိုျပီးထည့္ပါမယ္။MPT ဆိုရင္ေတာ့ mptnet ဆိုျပီးထည့္ရမွာပါ။PIN မွာေတာ့ ဘာမွထည့္စရာ မလိုပါဘူး။ဒါက သက္ဆိုင္ရာ Operator ေတြနဲ႔လည္းဆိုင္ပါ တယ္။ျပီးရင္ေတာ့ PPP setting ကိုသြားပါမယ္။ PPP Setting ေအာက္မွာ User ၊ Password ၊ Remote Address ၊ Keepalive Timeout ေတြ setting ေတြရွိျပီး Username နဲ႔ Password မွာ ဒီတိုင္း Blank ထားပါမယ္။ ဘာလို႔ဆိုကြ်န္ေတာ္တို႔ mpt ျဖစ္ျဖစ္ Ooredoo ျဖစ္ျဖစ္ mobile phone ေတြမွာ setting ခ်ိန္ရင္ username နဲ႔ password ေပးစရာမလိုပါဘူး။ အဲ့ဒါေႀကာင့္မို႔ပါ။ သို႔ေသာ္အခ်ိဳ႕ႏိုင္ငံေတြက operator ေတြမွာေတာ့ username နဲ႔ password သတ္မွတ္ထားရွိတာမ်ိဳးရွိပါတယ္။ အဲ့ဒါမ်ိဳးဆိုရင္ေတာ့ထည့္ ေပးရပါမယ္။ Keepalive Timeout ကိုေတာ့ default အတိုင္း 30 ပဲထားပါမယ္။နာက္ျပီးေအာက္ဖက္မွာ Dial on DemandUse Peer DNSAdd Default Route ဆိုျပီး check box နဲ႔ setting သံုးခုရွိပါတယ္။ Dial on Demand ကိုအမွန္ျခစ္ျဖဳတ္ရပါမယ္။ မလိုလုိ႔ပါ။ Use Peer DNS နဲ႔ Add Default Route ကိုေတာ့ အမွန္ျခစ္ေပးရပါမယ္။ ျပီးရင္ေတာ့ Apply>Ok ေပးလုိက္ပါ။ ဒီအခ်ိန္ထိ interface က disable ျဖစ္ေနတုန္းပါ။


ျပီးရင္ PPP-Client Interface ကို Enable လုပ္ပါမယ္။


အဲ့ေနာက္မွာေတာ့ PPP-Client interface ဟာ connected ျဖစ္ေနပါျပီ။တစ္နည္းအားျဖင့္ Internet ရေနပါျပီ။သို႔ေသာ္ ကြ်န္ေတာ္တို႔ NAT setting ေလးျပင္ဖို႔က်န္ေနပါေသးတယ္။


ပံုမွန္အားျဖင့္ NAT မွာ out-going interface ကို Ethernet ပဲ default ထားတာပါ။cable internet ေပါ့။သို႔ေသာ္ ကြ်န္ေတာ္တို႔က 3G ကေန internet ထြက္မွာပါ။ဒါေႀကာင့္ default setting ျဖစ္တဲ႔ cable internet ေနရာမွာ 3G interface ကိုေျပာင္းေပးရပါမယ္။ အဲ့အတြက္ IP>Firewall>NAT ကိုသြားပါမယ္။NAT ကေန General မွာ Chain:srcnat နဲ႔ Out.Interface မွာ PPP-Client-Interface ကိုေရြးေပးလိုက္ပါ။ဒါဆို Internet ထြက္သြားပါျပီ။


အားလံုးျပီးလို႔ေသခ်ာသြားေအာင္ Connection Test လုပ္ထားပံုေလးကိုႀကည့္ပါ။Internet Speed ကေတာ့ သက္ဆိုင္ရာ Operator နဲ႔ Location ေပၚမွာမူတည္ပါတယ္။ေနာက္ျပီးသံုးတဲ့ Moden အမ်ိဳးစားနဲ႔လည္းဆိုင္ ပါတယ္။


Additional Reference အေနနဲ႔ေလ့လာခ်င္ရင္ေတာ့ 3G modem support for Mikrotik အတြက္ ဒီေနရာ ရယ္ ၊ 3G modem setup for mikrotik အတြက္ ဒီေနရာ က youtube channel မွာ ေလ့လာႏိုင္ပါတယ္။

ေလးစားစြာျဖင့္
Win Tun Hlaing