Giunsa ang Pag-configure ug Pagdumala sa mga Koneksyon sa Network Gamit ang nmcli Tool


Isip usa ka administrador sa Linux aduna kay lain-laing mga himan nga gamiton aron ma-configure ang imong mga koneksyon sa network, sama sa: nmtui, imong NetworkManager nga adunay GNOME graphical user interface ug siyempre nmcli (network manager command line tool).

Nakita nako ang daghang mga administrador nga naggamit sa nmtui alang sa kayano. Bisan pa, ang paggamit sa nmcli makatipig sa imong oras, naghatag kanimo pagsalig, magamit kini sa mga script ug kini ang una nga himan nga gamiton aron masulbad ang imong network sa server sa Linux ug ibalik dayon ang pagpaandar niini.

Sa pagkakita sa daghang mga komentaryo nga nangayo ug tabang bahin sa nmcli, nakahukom ko nga isulat kini nga artikulo. Siyempre kinahanglan nimo kanunay nga basahon pag-ayo ang mga panid sa tawo (kini ang No1 nga tabang alang kanimo). Ang akong katuyoan mao ang pagluwas sa imong oras ug pagpakita kanimo pipila ka mga pahiwatig.

Ang syntax sa nmcli mao ang:

# nmcli [OPTIONS] OBJECT {COMMAND | help}

Diin ang OBJECT maoy usa sa: general, networking, radio, connection, device, agent.

Ang usa ka maayong punto sa pagsugod mao ang pagsusi sa among mga aparato:

# nmcli dev status

DEVICE      TYPE      STATE         CONNECTION 
docker0     bridge    connected     docker0    
virbr0      bridge    connected     virbr0     
enp0s3      ethernet  connected     enp0s3     
virbr0-nic  ethernet  disconnected  --         
lo          loopback  unmanaged     --         

Ingon sa atong makita sa unang kolum mao ang usa ka listahan sa atong mga network device. Kami adunay usa ka network card nga adunay ngalan enp0s3. Sa imong makina makita nimo ang ubang mga ngalan.

Ang pagngalan nagdepende sa klase sa network card (kon onboard, pci card, etc). Sa kataposang kolum atong makita ang atong mga configuration files nga gigamit sa atong mga device aron makakonektar sa network.

Sayon ra sabton nga ang atong mga gamit sa ilang kaugalingon walay mahimo. Kinahanglan nila nga maghimo kami usa ka file sa pag-configure aron sultihan sila kung giunsa pagkab-ot ang koneksyon sa network. Gitawag usab namo kini nga mga payl nga \mga profile sa koneksyon. Makita namo kini sa /etc/sysconfig/network-scripts directory.

# cd /etc/sysconfig/network-scripts/
# ls
ifcfg-enp0s3  ifdown-isdn      ifup          ifup-plip      ifup-tunnel
ifcfg-lo      ifdown-post      ifup-aliases  ifup-plusb     ifup-wireless
ifdown        ifdown-ppp       ifup-bnep     ifup-post      init.ipv6-global
ifdown-bnep   ifdown-routes    ifup-eth      ifup-ppp       network-functions
ifdown-eth    ifdown-sit       ifup-ib       ifup-routes    network-functions-ipv6
ifdown-ib     ifdown-Team      ifup-ippp     ifup-sit
ifdown-ippp   ifdown-TeamPort  ifup-ipv6     ifup-Team
ifdown-ipv6   ifdown-tunnel    ifup-isdn     ifup-TeamPort

Ingon sa imong makita dinhi ang mga file nga adunay ngalan nga nagsugod sa ifcfg- (konfigurasyon sa interface) mga profile sa koneksyon. Kung maghimo kami usa ka bag-ong koneksyon o usbon ang usa nga adunay nmcli o nmtui, ang mga resulta gitipigan dinhi ingon mga profile sa koneksyon.

Akong ipakita kanimo ang duha niini gikan sa akong makina, ang usa adunay configuration sa dhcp ug ang usa adunay static nga ip.

# cat ifcfg-static1
# cat ifcfg-Myoffice1

Nakaamgo kami nga ang ubang mga kabtangan adunay lainlaing mga kantidad ug ang uban wala maglungtad kung dili kini kinahanglan. Atong tan-awon dayon ang labing importante kanila.

  1. TYPE, naa mi ethernet type dinhi. Mahimong adunay wifi, team, bond ug uban pa.
  2. DEVICE, ang ngalan sa network device nga nalangkit niini nga profile.
  3. BOOTPROTO, kung kini adunay bili nga \dhcp nan ang among koneksyon nga profile nagkuha ug dinamikong IP gikan sa dhcp server, kung kini adunay bili nga \wala nan wala'y gikinahanglan nga dinamikong IP ug lagmit nga nag-assign sa usa ka static nga IP.
  4. IPADDR, mao ang static IP nga among gi-assign sa among profile.
  5. PREFIX, ang subnet mask. Ang kantidad nga 24 nagpasabut nga 255.255.255.0. Mas masabtan nimo ang subnet mask kung imong isulat ang binary format niini. Pananglitan ang mga bili sa 16, 24, 26 nagpasabot nga ang unang 16, 24 o 26 bits matag usa mao ang 1 ug ang uban 0, nga nagpatin-aw kon unsa ang adres sa network ug unsa ang range sa ip nga mahimong itudlo.
  6. GATEWAY, ang gateway IP.
  7. DNS1, DNS2, duha ka dns server nga gusto namong gamiton.
  8. ONBOOT, kon kini adunay bili nga \oo nagpasabot kini, nga sa pag-boot ang among computer mobasa niini nga profile ug mosulay sa pag-assign niini sa iyang device.

Karon, magpadayon kita ug susihon ang atong mga koneksyon:

# nmcli con show

Ang katapusan nga kolum sa mga himan makatabang kanamo nga masabtan kung unsang koneksyon ang \UP ug nagdagan ug kung unsa ang wala. Sa imahe sa taas makita nimo ang duha nga mga koneksyon nga aktibo: Myoffice1 ug enp0s8.

Sugyot: Kung gusto nimo makita lamang ang mga aktibong koneksyon, i-type ang:

# nmcli con show -a

Sugyot: Mahimo nimong gamiton ang auto-complete hitting Tab kung mogamit ka sa nmcli, apan mas maayo nga gamiton ang gamay nga format sa command. Busa, ang mosunod nga mga sugo managsama:

# nmcli connection show
# nmcli con show
# nmcli c s

Kung akong susihon ang mga ip address sa akong mga aparato:

# ip a

Akong nakita nga ang akong device enp0s3 mikuha sa 192.168.1.6 IP gikan sa dhcp server, tungod kay ang connection profile Myoffice1 nga anaa sa taas adunay dhcp configuration. Kung akong dad-on \up” ang akong profile sa koneksyon nga adunay ngalan static1 unya ang akong device mokuha sa static IP 192.168.1.40 ingon nga kini gihubit sa profile sa koneksyon.

# nmcli con down Myoffice1 ; nmcli con up static1
# nmcli con show

Atong tan-awon pag-usab ang IP address:

# ip a

Mahimo namon ang among una nga profile sa koneksyon. Ang minimum nga mga kabtangan nga kinahanglan natong ipasabut mao ang tipo, ifname ug con-name:

  1. type – para sa tipo sa koneksyon.
  2. ifname – para sa ngalan sa device nga gi-assign sa among koneksyon.
  3. con-name – para sa ngalan sa koneksyon.

Maghimo ta og bag-ong koneksyon sa ethernet nga adunay ngalan Myhome1, nga gi-assign sa device enp0s3:

# nmcli con add type ethernet con-name Myhome1 ifname enp0s3

Susiha ang configuration niini:

# cat ifcfg-Myhome1

Sama sa imong makita kini adunay BOOTPROTO=dhcp, tungod kay wala kami naghatag bisan unsang static nga ip address.

Sugyot: Mahimo natong usbon ang bisan unsang koneksyon sa \nmcli con mod\ nga sugo. Bisan pa kung imong usbon ang koneksyon sa dhcp ug usbon kini sa static ayaw kalimti nga usbon ang \ipv4.method gikan sa \auto ngadto sa \ manwal”. Kay kon dili makadawat ka ug duha ka IP address: usa gikan sa dhcp server ug ang static.

Magbuhat ta ug bag-ong profile sa koneksyon sa Ethernet nga adunay ngalan static2, nga i-assign sa device enp0s3, nga adunay static IP 192.168.1.50, subnet mask 255.255.255.0=24 ug gateway 192.168 .1.1.

# nmcli con add type ethernet con-name static2 ifname enp0s3 ip4 192.168.1.50/24 gw4 192.168.1.1

Susiha ang configuration niini:

# cat ifcfg-static2

Atong usbon ang katapusang profile sa koneksyon ug idugang ang duha ka dns server.

# nmcli con mod static2 ipv4.dns “8.8.8.8 8.8.4.4”

Sugyot: Adunay usa ka butang dinhi nga kinahanglan nimong hatagan ug pagtagad: ang mga kabtangan alang sa IP address ug gateway adunay lain-laing mga ngalan kung imong idugang ug kung imong usbon ang usa ka koneksyon. Kung magdugang ka og mga koneksyon imong gamiton ang \ip4” ug \gw4”, samtang kung imo kining usbon imong gamiton ang \ipv4” ug \gwv4.

Karon atong dad-on kini nga profile sa koneksyon:

# nmcli con down static1 ; nmcli con up static2

Sa imong makita, ang device enp0s3 aduna nay IP address 192.168.1.50.

# ip a

Sugyot: Adunay daghang mga kabtangan nga mahimo nimong usbon. Kung dili nimo kini mahinumduman pinaagi sa kasingkasing makatabang ka sa imong kaugalingon pinaagi sa pag-type \nmcli con show ug pagkahuman ang ngalan sa koneksyon:

# nmcli con show static2

Mahimo nimong usbon kining tanan nga mga kabtangan nga gisulat sa gamay nga letra.

Pananglitan: kung imong ipaubos ang usa ka profile sa koneksyon, ang NetworkManager mangita alang sa lain nga profile sa koneksyon ug awtomatiko kini nga ipataas. (Gibiyaan ko kini ingon nga ehersisyo aron masusi kini). Kung dili nimo gusto nga ang imong profile sa koneksyon mag-autoconnect:

# nmcli con mod static2 connection.autoconnect no

Ang katapusan nga ehersisyo mapuslanon kaayo: naghimo ka usa ka profile sa koneksyon apan gusto nimo kini gamiton sa mga piho nga tiggamit. Maayo ang pagklasipikar sa imong mga tiggamit!

Gitugotan lang namo ang user nga si stella nga mogamit niini nga profile:

# nmcli con mod static2 connection.permissions stella

Sugyot: Kung gusto nimong hatagan og permiso ang labaw sa usa ka user, kinahanglan nimong i-type ang user:user1,user2 nga walay blangko nga espasyo tali kanila:

# nmcli con mod static2 connection.permissions user:stella,john

Kung nag-login ka isip laing user dili nimo madala \up kining profile sa koneksyon:

# nmcli con show
# nmcli con up static2
# ls /etc/sysconfig/network-scripts

Usa ka mensahe sa sayup nag-ingon nga ang koneksyon nga 'static2' wala maglungtad, bisan kung nakita namon nga kini naglungtad. Kana tungod kay ang kasamtangang tiggamit walay permiso sa pagdala niini nga koneksyon.

Panapos: ayaw pagpanuko sa paggamit sa nmcli. Kini sayon ug makatabang.