Network ကို configuration လုပ်တော့မယ်ဆိုရင် network interfaces တွေရဲ့ configuration files တွေကိုပြုပြင်ခြင်းနဲ့လည်းလုပ်လို့ရပါတယ်။ interface configuration file ဆိုတာကတော့ network devices တွေရဲ့ software interfaces တွေကို control လုပ်တဲ့ files တွေကိုပြောတာပါ။ဒီ file တွေကိုများသောအားဖြင့် /etc/sysconfig/network-scripts/ifcfg-<name> ဆိုတဲ့နေရာမှာထားပါတယ်။ <name> ဆိုတာကတော့ device တွေရဲ့ interface name ကိုပြောတာပါ။အောက်ကဇယားက variables တွေကတော့ interface တွေကို static (or) dynamic configuration လုပ်တဲ့အချိန်မှာသုံးတဲ့variables တွေပါ။

Configuration Options

ပုံထဲမှာဆိုရင် ip address, prefix, gateway တွေ၊ DNS အတွက် numbers တွေကို assign လုပ်ပေးထားတာကိုမြင်ရမှာပါ။ configuration file ကို ပြုပြင်ပြီးရင်တော့ nmcli con reload ဆိုတဲ့ command နဲ့ NetworkManager က configuration file ကို read လုပ်အောင်လုပ်ပေးရပါမယ်။အဲ့လိုလုပ်ပြီးတဲ့အခါမှာ interfaces တွေကိုလည်း restart လုပ်ဖို့လိုအပ်ပါသေးတယ်။

[root@demo ~]# nmcli con reload
[root@demo ~]# nmcli con down "System eth0"
[root@demo ~]# nmcli con up "System eth0"

အဲ့ဒါဆိုရင် ကျနော်တို့ exercise လေးလုပ်ကြည့်ကြရအောင်။ ၁. root user အနေနဲ့ login ဝင်ပါ။ပြီးရင် serverX နဲ့ desktopX ရဲ့ /etc/sysconfig/network-scripts/ifcfg-eth0 ကို IPv4 address 10.0.x.x နဲ့ ip ပေးပါမယ်။

[root@serverX ~]# echo "IPADDR1=10.0.x.1" >> /etc/sysconfig/network-scripts/ifcfg-eth0
[root@desktopX ~]# echo "IPADDR1=10.0.x.1" >> /etc/sysconfig/network-scripts/ifcfg-eth0

၂. Network prefix ထည့်ပါမယ်။

root@serverX ~]# echo "PREFIX1=24" >> /etc/sysconfig/network-scripts/ifcfg-eth0
root@desktopX ~]# echo "PREFIX1=24" >> /etc/sysconfig/network-scripts/ifcfg-eth0

၃. အပေါ်မှာပြောခဲ့သလိုပဲ config file ကိုပြင်ပြီးပြီဆိုရင်လုပ်ရမဲ့ step တွေအတိုင်းလုပ်ပါမယ်။

[root@serverX ~]# nmcli con reload
[root@serverX ~]# nmcli con down "System eth0"
[root@serverX ~]# nmcli con up "System eth0"
[root@desktopX ~]# nmcli con reload
[root@desktopX ~]# nmcli con down "System eth0"
[root@desktopX ~]# nmcli con up "System eth0"

၄. On serverX, ကျနော်တို့ configuration လုပ်ခဲ့တဲ့ network address ကို check လုပ်ကြည့်ပါမယ်။

[root@serverX ~]# ip addr

၅. On serverX, ping ကြည့်မယ်။

[root@serverX ~]# ping 10.0.x.2

၆. On desktopX, ip ကြည့်မယ်။

[root@serverX ~]# ip addr

၇. On desktopX, ping ကြည့်မယ်။

[root@serverX ~]# ping 10.0.x.1

##Configuring Host Names and Name Resolution hostname command ကိုရိုက်ကြည့်မယ်ဆိုရင် system ရဲ့ hostname ကိုမြင်ရမှာပါ။

[root@demo ~]# hostname
demo.example.com

hostname ကိုသိချင်ရင် /etc/hostname file ကိုဖတ်ကြည့်ရင်လည်းသိနိုင်ပါတယ်။ hostnamectl command ကိုအသုံးပြုပြီးတော့လည်း system ရဲ့ hostname ကို modify လုပ်နိုင်သလို hostname status ကိုလည်းကြည့်လို့ရပါတယ်။

[root@demo ~]# hostnamectl set-hostname demo.example.com
[root@demo ~]# hostnamectl status
   Static hostname: demo.example.com
         Icon name: computer-laptop
           Chassis: laptop
        Machine ID: d20119f5de9f47beb5aa1123b6332047
           Boot ID: c4fd288724b3449a8cd8a0b3c0da7d53
  Operating System: Ubuntu 18.04 LTS
            Kernel: Linux 4.15.0-23-generic
      Architecture: x86-64
[root@demo ~]# cat /etc/hostname
demo.example.com

Configuring Name Resolution

stub resolver က name to ip, ip to name ကို convert လုပ်ပေးပါတယ်။ အရင်ဆုံး /etc/hosts file ကို check လုပ်ကြည့်ပါ။

etc hosts

getent hosts hostname command ကိုသုံးပြီးတော့ /etc/hosts file နဲ့ host name resoultion ကို test လုပ်ကြည့်လို့ရပါတယ်။ တကယ်လို့ဘာမှမတွေ့ရဘူးဆိုရင်တော့ stub resolver ကနေတစ်ဆင့် DNS server ဆီကနေရှာပေးပါလိမ့်မယ်။ ဒီအလုပ်ကို /etc/resolv.conf ဆိုတဲ့ config file က လုပ်ပေးပါတယ်။

  • nameserver: DNS server ရဲ့ ip address ကို query အနေနဲ့ရေးထားတာပါ။ဒီနေရာမှာဆိုရင် အနည်းဆုံး 3 ခုလောက်ပေးထားဖို့လိုအပ်ပါတယ်။ဒါမှတစ်ခု down သွားရင်တစ်ခြားတစ်ခုကို backup အနေနဲ့အသုံးပြုလို့ရမှာပါ။

  • search: hostname ကို ရှာဖို့အတွက် search list ပါ။ search list မှာပါတဲ့ domain name တွေက local domain name တွေဖြစ်ပါတယ်။ ဒီ search option ကိုသုံးမယ်ဆိုရင် search list ထဲမှာပါတဲ့ domain တွေကသာ local domain name တွေမဟုတ်ဘူးဆိုရင် network traffic တွေအမျျားကြီးကိုဖြစ်ပေါ်စေမှာပါ။

etc resolv

NetworkManager က connection configuration file ထဲမှာပါတဲ့ DNS setting တွေကို အသုံးပြုပြီးတော့ /etc/resolv.conf file ကို update လုပ်ပါတယ်။ connections တွေကို modify လုပ်ဖို့ nmcli command ကိုပဲအသုံးပြုပါတယ်။

commands

nmcli con mod ID ipv4.dns IP command က ရှိပြီးသား DNS settings တွေကို အသစ်ပေးထားတဲ့ ip lists နဲ့ replace လုပ်ပါတယ်။ ipv4.dns ရှေ့က +/- symbols တွေကို entry ကိုတွေကို add(or)remove လုပ်ဖို့သုံးပါတယ်။

commands

DNS server ရဲ့ connectivity ကို စမ်းဖို့ host HOSTNAME command ကိုအသုံးပြုနိုင်ပါတယ်။

[root@demo ~]# nmcli con mod ID +ipv4.dns IP

ကျနော်တို့ exercise လးလုပ်လိုက်ရင်ပိုပြီးတော့နားလည်သွားမှာပါ။ ၁. System ရဲ့ current hostname ကိုကြည့်ပါမယ်။

[student@serverX ~]$ hostname
serverX.example.com

၂. System hostname ရဲ့ status ကိုကြည့်ပါမယ်။

commands

၃. အပေါ်က hostname အတိုင်းမိမိစက်ကို configure လုပ်ပါမယ်။

[student@serverX ~]$ sudo hostnamectl set-hostname serverX.example.com

၄. configure လုပ်ထားတာမှန်၊ မမှန်တစ်ချက်ကြည့်မယ်။

[student@serverX ~]$ cat /etc/hostname

၅. hostname ရဲ့ status ကိုကြည့်မယ်။

commands

၆. hostname ကို ယာယီ change ကြည့်မယ်။

[student@serverX ~]$ sudo hostname testname

၇. Current hostname ကိုတစ်ချက်ပြန်ကြည့်ကြည့်မယ်။

[student@serverX ~]$ hostname
testname

၈. ယာယီပေးတာဖြစ်တဲ့အတွက် /etc/hostname file ကပြောင်းမှာမဟုတ်ပါဘူး။

[student@serverX ~]$ cat /etc/hostname
serverX.example.com

၉. System ကို reboot ချပါ။

[student@serverX ~]$ reboot

၁၀. reboot ချပြီးပြန်တက်လာရင် hostname ကိုတစ်ချက်ပြန်ကြည့်ကြည့်ပါ။

[student@serverX ~]$ hostname
serverX.example.com

serverX ပဲပြန်ဖြစ်နေပါတယ်။ permanent ပြောင်းချင်ရင်တော့ hostnamectl command နဲ့ပြောင်းရမှာဖြစ်ပါတယ်။