nmcli కన్సోల్ యుటిలిటీని ఉపయోగించి Linuxలో నెట్‌వర్క్ కనెక్షన్‌లను నిర్వహించడం

nmcli యుటిలిటీని ఉపయోగించి Linux కమాండ్ లైన్‌లో NetworkManager నెట్‌వర్క్ మేనేజ్‌మెంట్ సాధనం యొక్క పూర్తి ప్రయోజనాన్ని పొందండి.

nmcli కన్సోల్ యుటిలిటీని ఉపయోగించి Linuxలో నెట్‌వర్క్ కనెక్షన్‌లను నిర్వహించడం

వినియోగ nmcli నెట్‌వర్క్‌మేనేజర్ ఫంక్షన్‌లను యాక్సెస్ చేయడానికి నేరుగా APIకి కాల్ చేస్తుంది.

ఇది 2010లో కనిపించింది మరియు చాలా మందికి నెట్‌వర్క్ ఇంటర్‌ఫేస్‌లు మరియు కనెక్షన్‌లను కాన్ఫిగర్ చేయడానికి ప్రత్యామ్నాయ మార్గంగా మారింది. కొంతమంది ఇప్పటికీ ఉపయోగిస్తున్నప్పటికీ ifconfig. nmcli అనేది టెర్మినల్ విండోస్ మరియు స్క్రిప్ట్‌లలో ఉపయోగం కోసం రూపొందించబడిన కమాండ్ లైన్ ఇంటర్‌ఫేస్ (CLI) సాధనం కాబట్టి, GUI లేకుండా పనిచేసే సిస్టమ్ అడ్మినిస్ట్రేటర్‌లకు ఇది అనువైనది.

ncmli కమాండ్ సింటాక్స్

సాధారణంగా, వాక్యనిర్మాణం ఇలా కనిపిస్తుంది:

$ nmcli <options> <section> <action>

  • ఎంపికలు nmcli ఆపరేషన్ యొక్క సూక్ష్మబేధాలను నిర్ణయించే పారామితులు,
  • విభాగం (విభాగం) - యుటిలిటీ యొక్క ఏ లక్షణాలను ఉపయోగించాలో నిర్ణయిస్తుంది,
  • చర్య - వాస్తవానికి ఏమి చేయాలో పేర్కొనడానికి మిమ్మల్ని అనుమతిస్తుంది.

మొత్తం 8 విభాగాలు ఉన్నాయి, వీటిలో ప్రతి ఒక్కటి నిర్దిష్ట ఆదేశాలతో (చర్యలు) అనుబంధించబడి ఉంటాయి:

  • సహాయం ncmcli కమాండ్‌లు మరియు వాటి వినియోగం గురించి సహాయం అందిస్తుంది.
  • జనరల్ NetworkManager స్థితి మరియు గ్లోబల్ కాన్ఫిగరేషన్‌ను అందిస్తుంది.
  • నెట్వర్కింగ్ నెట్‌వర్క్ కనెక్షన్ స్థితిని ప్రశ్నించడానికి మరియు కనెక్షన్‌లను ఎనేబుల్/డిజేబుల్ చేయడానికి ఆదేశాలను కలిగి ఉంటుంది.
  • రేడియో WiFi నెట్‌వర్క్ కనెక్షన్ స్థితిని ప్రశ్నించడానికి మరియు కనెక్షన్‌లను ఎనేబుల్/డిజేబుల్ చేయడానికి ఆదేశాలను కలిగి ఉంటుంది.
  • మానిటర్ NetworkManager కార్యాచరణను పర్యవేక్షించడం మరియు నెట్‌వర్క్ కనెక్షన్‌ల స్థితిలో మార్పులను గమనించడం కోసం ఆదేశాలను కలిగి ఉంటుంది.
  • కనెక్షన్ నెట్‌వర్క్ ఇంటర్‌ఫేస్‌లను నిర్వహించడం, కొత్త కనెక్షన్‌లను జోడించడం మరియు ఇప్పటికే ఉన్న వాటిని తొలగించడం కోసం ఆదేశాలను కలిగి ఉంటుంది.
  • పరికరం ప్రధానంగా పరికర సంబంధిత పారామితులను (ఇంటర్‌ఫేస్ పేరు వంటివి) మార్చడానికి లేదా ఇప్పటికే ఉన్న కనెక్షన్‌ని ఉపయోగించి పరికరాలను కనెక్ట్ చేయడానికి ఉపయోగిస్తారు.
  • సీక్రెట్ రహస్య సందేశాలను వినే నెట్‌వర్క్ మేనేజర్ "సీక్రెట్ ఏజెంట్"గా nmcliని నమోదు చేస్తుంది. ఈ విభాగం చాలా అరుదుగా ఉపయోగించబడుతుంది, ఎందుకంటే నెట్‌వర్క్‌లకు కనెక్ట్ చేసేటప్పుడు nmcli డిఫాల్ట్‌గా ఈ విధంగా పనిచేస్తుంది.

సాధారణ ఉదాహరణలు

మీరు ప్రారంభించడానికి ముందు, NetworkManager నడుస్తున్నట్లు నిర్ధారించుకోండి మరియు nmcli దానితో కమ్యూనికేట్ చేయగలదు:

$ nmcli general
STATE      CONNECTIVITY  WIFI-HW  WIFI     WWAN-HW  WWAN    
connected  full          enabled  enabled  enabled  enabled

అన్ని నెట్‌వర్క్ కనెక్షన్ ప్రొఫైల్‌లను వీక్షించడం ద్వారా పని తరచుగా ప్రారంభమవుతుంది:

$ nmcli connection show
NAME                UUID                                  TYPE      DEVICE
Wired connection 1  ac3241e4-b424-35d6-aaa7-07498561688d  ethernet  enp0s3
Wired connection 2  2279d917-fa02-390c-8603-3083ec5a1d3e  ethernet  enp0s8
Wired connection 3  52d89737-de92-35ec-b082-8cf2e5ac36e6  ethernet  enp0s9

ఈ ఆదేశం ఉపయోగిస్తుంది ప్రభావం కనెక్షన్ విభాగం కోసం చూపించు.

పరీక్ష యంత్రం ఉబుంటు 20.04ను అమలు చేస్తోంది. ఈ సందర్భంలో, మేము మూడు వైర్డు కనెక్షన్‌లను కనుగొన్నాము: enp0s3, enp0s8 మరియు enp0s9.

కనెక్షన్లను నిర్వహించండి

nmcli లో, కనెక్షన్ అనే పదం ద్వారా మనం కనెక్షన్ గురించిన మొత్తం సమాచారాన్ని కలిగి ఉన్న ఎంటిటీ అని అర్థం చేసుకోవడం చాలా ముఖ్యం. మరో మాటలో చెప్పాలంటే, ఇది నెట్‌వర్క్ కాన్ఫిగరేషన్. కనెక్షన్ లింక్ లేయర్ మరియు IP చిరునామా సమాచారంతో సహా అన్ని కనెక్షన్-సంబంధిత సమాచారాన్ని కలుపుతుంది. ఇవి OSI నెట్‌వర్కింగ్ మోడల్‌లో లేయర్ 2 మరియు లేయర్ 3.

మీరు Linuxలో నెట్‌వర్క్‌ను సెటప్ చేసినప్పుడు, మీరు సాధారణంగా నెట్‌వర్క్ పరికరాలతో అనుసంధానించబడే కనెక్షన్‌లను సెటప్ చేస్తారు, అవి కంప్యూటర్‌లో ఇన్‌స్టాల్ చేయబడిన నెట్‌వర్క్ ఇంటర్‌ఫేస్‌లు. పరికరం కనెక్షన్‌ని ఉపయోగిస్తున్నప్పుడు, అది సక్రియంగా లేదా ఎలివేట్‌గా పరిగణించబడుతుంది. కనెక్షన్ ఉపయోగంలో లేకుంటే, అది నిష్క్రియంగా లేదా రీసెట్ చేయబడుతుంది.

నెట్‌వర్క్ కనెక్షన్‌లను జోడిస్తోంది

ncmli యుటిలిటీ కనెక్షన్‌లను త్వరగా జోడించడానికి మరియు వెంటనే కాన్ఫిగర్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. ఉదాహరణకు, వైర్డు కనెక్షన్ 2 (enp0s8తో) జోడించడానికి, మీరు కింది ఆదేశాన్ని సూపర్‌యూజర్‌గా అమలు చేయాలి:

$ sudo nmcli connection add type ethernet ifname enp0s8
Connection 'ethernet-enp0s8' (09d26960-25a0-440f-8b20-c684d7adc2f5) successfully added.

టైప్ ఆప్షన్‌లో ఇది ఈథర్‌నెట్ కనెక్షన్ అని మేము సూచిస్తాము మరియు ifname (ఇంటర్‌ఫేస్ పేరు) ఎంపికలో మనం ఉపయోగించాలనుకుంటున్న నెట్‌వర్క్ ఇంటర్‌ఫేస్‌ను సూచిస్తాము.

ఆదేశాన్ని అమలు చేసిన తర్వాత ఇది జరుగుతుంది:

$ nmcli connection show
NAME                UUID                                  TYPE      DEVICE
Wired connection 1  ac3241e4-b424-35d6-aaa7-07498561688d  ethernet  enp0s3
Wired connection 2  2279d917-fa02-390c-8603-3083ec5a1d3e  ethernet  enp0s8
Wired connection 3  52d89737-de92-35ec-b082-8cf2e5ac36e6  ethernet  enp0s9
ethernet-enp0s8     09d26960-25a0-440f-8b20-c684d7adc2f5  ethernet  --  

కొత్త కనెక్షన్ సృష్టించబడింది, ethernet-enp0s8. దీనికి UUID కేటాయించబడింది మరియు కనెక్షన్ రకం ఈథర్నెట్. అప్ కమాండ్ ఉపయోగించి దాన్ని పెంచుదాం:

$ nmcli connection up ethernet-enp0s8
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)

సక్రియ కనెక్షన్‌ల జాబితాను మళ్లీ తనిఖీ చేద్దాం:

$ nmcli connection show --active
NAME                UUID                                  TYPE      DEVICE
Wired connection 1  ac3241e4-b424-35d6-aaa7-07498561688d  ethernet  enp0s3
ethernet-enp0s8     09d26960-25a0-440f-8b20-c684d7adc2f5  ethernet  enp0s8
Wired connection 3  52d89737-de92-35ec-b082-8cf2e5ac36e6  ethernet  enp0s9

కొత్త కనెక్షన్ ఈథర్నెట్-enp0s8 జోడించబడింది, ఇది సక్రియంగా ఉంది మరియు enp0s8 నెట్‌వర్క్ ఇంటర్‌ఫేస్‌ను ఉపయోగిస్తుంది.

కనెక్షన్లను ఏర్పాటు చేస్తోంది

ncmli యుటిలిటీ ఇప్పటికే ఉన్న కనెక్షన్ల పారామితులను సులభంగా మార్చడానికి మిమ్మల్ని అనుమతిస్తుంది. ఉదాహరణకు, మీరు మీ డైనమిక్ (DHCP) IP చిరునామాను స్టాటిక్ IP చిరునామాకు మార్చాలి.

మనం IP చిరునామాను 192.168.4.26కి సెట్ చేయాలి అనుకుందాం. దీన్ని చేయడానికి, మేము రెండు ఆదేశాలను ఉపయోగిస్తాము. మొదటిది నేరుగా IP చిరునామాను సెట్ చేస్తుంది మరియు రెండవది IP చిరునామా సెట్టింగ్ పద్ధతిని మాన్యువల్‌కు మారుస్తుంది:

$ nmcli connection modify ethernet-enp0s8 ipv4.address 192.168.4.26/24
$ nmcli connection modify ethernet-enp0s8 ipv4.method manual

సబ్‌నెట్ మాస్క్‌ని కూడా సెట్ చేయడం మర్చిపోవద్దు. మా టెస్ట్ కనెక్షన్ కోసం ఇది 255.255.255.0 లేదా క్లాస్‌లెస్ రూటింగ్ (CIDR) కోసం /24తో ఉంటుంది.

మార్పులు అమలులోకి రావడానికి, మీరు కనెక్షన్‌ని నిష్క్రియం చేసి, ఆపై మళ్లీ సక్రియం చేయాలి:

$ nmcli connection down ethernet-enp0s8
Connection 'ethernet-enp0s8' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
$ nmcli connection up ethernet-enp0s8
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveC

దీనికి విరుద్ధంగా, మీరు DHCPని ఇన్‌స్టాల్ చేయాల్సి ఉంటే, మాన్యువల్‌కు బదులుగా ఆటోని ఉపయోగించండి:

$ nmcli connection modify ethernet-enp0s8 ipv4.method auto

పరికరాలతో పని చేస్తోంది

దీని కోసం మేము పరికర విభాగాన్ని ఉపయోగిస్తాము.

పరికరం స్థితిని తనిఖీ చేస్తోంది

$ nmcli device status
DEVICE  TYPE      STATE      CONNECTION        
enp0s3  ethernet  connected  Wired connection 1
enp0s8  ethernet  connected  ethernet-enp0s8    
enp0s9  ethernet  connected  Wired connection 3
lo      loopback  unmanaged  --  

పరికర సమాచారాన్ని అభ్యర్థిస్తోంది

దీన్ని చేయడానికి, పరికర విభాగం నుండి ప్రదర్శన చర్యను ఉపయోగించండి (మీరు తప్పనిసరిగా పరికరం పేరును పేర్కొనాలి). యుటిలిటీ చాలా సమాచారాన్ని ప్రదర్శిస్తుంది, తరచుగా అనేక పేజీలలో.
మన కొత్త కనెక్షన్ ఉపయోగించే enp0s8 ఇంటర్‌ఫేస్‌ని చూద్దాం. ఇది మనం ముందుగా సెట్ చేసిన IP చిరునామాను ఖచ్చితంగా ఉపయోగిస్తుందని నిర్ధారించుకోండి:

$ nmcli device show enp0s8
GENERAL.DEVICE:                         enp0s8
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         08:00:27:81:16:20
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)
GENERAL.CONNECTION:                     ethernet-enp0s8
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/6
WIRED-PROPERTIES.CARRIER:               on
IP4.ADDRESS[1]:                         192.168.4.26/24
IP4.GATEWAY:                            --
IP4.ROUTE[1]:                           dst = 192.168.4.0/24, nh = 0.0.0.0, mt = 103
IP6.ADDRESS[1]:                         fe80::6d70:90de:cb83:4491/64
IP6.GATEWAY:                            --
IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 103
IP6.ROUTE[2]:                           dst = ff00::/8, nh = ::, mt = 256, table=255

చాలా సమాచారం ఉంది. ప్రధాన విషయాన్ని హైలైట్ చేద్దాం:

  • నెట్‌వర్క్ ఇంటర్‌ఫేస్ పేరు: enp0s8.
  • కనెక్షన్ రకం: వైర్డు ఈథర్నెట్ కనెక్షన్.
  • మేము పరికరం యొక్క MAC చిరునామాను చూస్తాము.
  • గరిష్ట ప్రసార యూనిట్ (MTU) పేర్కొనబడింది — ఫ్రాగ్మెంటేషన్ లేకుండా ప్రోటోకాల్ ద్వారా ప్రసారం చేయగల ఒక ప్యాకెట్ ఉపయోగకరమైన డేటా బ్లాక్ యొక్క గరిష్ట పరిమాణం.
  • పరికరం ప్రస్తుతం కనెక్ట్ చేయబడింది.
  • కనెక్షన్ పేరుఏ పరికరాన్ని ఉపయోగిస్తున్నారు: ethernet-enp0s8.
  • పరికరం ఉపయోగిస్తుంది IP చిరునామా, మేము ఇంతకు ముందు ఇన్‌స్టాల్ చేసినది: 192.168.4.26/24.

ఇతర సమాచారం డిఫాల్ట్ రూటింగ్ మరియు కనెక్షన్ గేట్‌వే పారామితులకు సంబంధించినది. అవి నిర్దిష్ట నెట్‌వర్క్‌పై ఆధారపడి ఉంటాయి.

ఇంటరాక్టివ్ nmcli ఎడిటర్

nmcli కూడా ఒక సాధారణ ఇంటరాక్టివ్ ఎడిటర్‌ని కలిగి ఉంది, ఇది పని చేయడానికి కొంతమందికి మరింత సౌకర్యంగా ఉండవచ్చు. ఉదాహరణకు ఈథర్నెట్-enp0s8 కనెక్షన్‌లో దీన్ని అమలు చేయడానికి, ఉపయోగించండి ప్రభావం మార్చు:

$ nmcli connection edit ethernet-enp0s8

ఇది ఒక చిన్న సహాయాన్ని కూడా కలిగి ఉంది, అయితే, ఇది కన్సోల్ వెర్షన్ కంటే చిన్నదిగా ఉంటుంది:

===| nmcli interactive connection editor |===
Editing existing '802-3-ethernet' connection: 'ethernet-enp0s8'
Type 'help' or '?' for available commands.
Type 'print' to show all the connection properties.
Type 'describe [<setting>.<prop>]' for detailed property description.
You may edit the following settings: connection, 802-3-ethernet (ethernet), 802-1x, dcb, sriov, ethtool, match, ipv4, ipv6, tc, proxy
nmcli>

మీరు ప్రింట్ ఆదేశాన్ని టైప్ చేసి, Enter నొక్కితే, nmcli అన్ని కనెక్షన్ లక్షణాలను ప్రదర్శిస్తుంది:

===============================================================================
                 Connection profile details (ethernet-enp0s8)
===============================================================================
connection.id:                          ethernet-enp0s8
connection.uuid:                        09d26960-25a0-440f-8b20-c684d7adc2f5
connection.stable-id:                   --
connection.type:                        802-3-ethernet
connection.interface-name:              enp0s8
connection.autoconnect:                 yes
connection.autoconnect-priority:        0
connection.autoconnect-retries:         -1 (default)
connection.multi-connect:               0 (default)
connection.auth-retries:                -1
connection.timestamp:                   1593967212
connection.read-only:                   no
connection.permissions:                 --
connection.zone:                        --
connection.master:                      --
connection.slave-type:                  --
connection.autoconnect-slaves:          -1 (default)
connection.secondaries:                 --

ఉదాహరణకు, కనెక్షన్‌ని DHCPకి సెట్ చేయడానికి, goto ipv4 అని టైప్ చేసి క్లిక్ చేయండి ఎంటర్:

nmcli> goto ipv4
You may edit the following properties: method, dns, dns-search, 
dns-options, dns-priority, addresses, gateway, routes, route-metric, 
route-table, routing-rules, ignore-auto-routes, ignore-auto-dns, 
dhcp-client-id, dhcp-iaid, dhcp-timeout, dhcp-send-hostname, 
dhcp-hostname, dhcp-fqdn, dhcp-hostname-flags, never-default, may-fail, 
dad-timeout
nmcli ipv4>

తర్వాత సెట్ మెథడ్ ఆటో అని వ్రాసి క్లిక్ చేయండి ఎంటర్:

nmcli ipv4> set method auto
Do you also want to clear 'ipv4.addresses'? [yes]:

మీరు స్టాటిక్ IP చిరునామాను క్లియర్ చేయాలనుకుంటే, క్లిక్ చేయండి ఎంటర్. లేకపోతే, no అని టైప్ చేసి ఎంటర్ నొక్కండి. భవిష్యత్తులో మీకు ఇది అవసరం అని మీరు అనుకుంటే మీరు దాన్ని సేవ్ చేయవచ్చు. కానీ సేవ్ చేయబడిన స్టాటిక్ IP చిరునామాతో కూడా, పద్ధతి స్వయంచాలకంగా సెట్ చేయబడితే DHCP ఉపయోగించబడుతుంది.

మీ మార్పులను సేవ్ చేయడానికి సేవ్ ఆదేశాన్ని ఉపయోగించండి:

nmcli ipv4> save
Connection 'ethernet-enp0s8' (09d26960-25a0-440f-8b20-c684d7adc2f5) successfully updated.
nmcli ipv4>

nmcli ఇంటరాక్టివ్ ఎడిటర్ నుండి నిష్క్రమించడానికి నిష్క్రమించు అని టైప్ చేయండి. మీరు నిష్క్రమించడం గురించి మీ మనసు మార్చుకుంటే, వెనుక ఆదేశాన్ని ఉపయోగించండి.

అంతే కాదు

nmcli ఇంటరాక్టివ్ ఎడిటర్‌ని తెరిచి, ఎన్ని సెట్టింగ్‌లు ఉన్నాయి మరియు ప్రతి సెట్టింగ్‌లో ఎన్ని లక్షణాలు ఉన్నాయో చూడండి. ఇంటరాక్టివ్ ఎడిటర్ ఒక గొప్ప సాధనం, కానీ మీరు ఒక-లైనర్లు లేదా స్క్రిప్ట్‌లలో nmcliని ఉపయోగించాలనుకుంటే, మీకు సాధారణ కమాండ్-లైన్ వెర్షన్ అవసరం.

ఇప్పుడు మీరు ప్రాథమికాలను కలిగి ఉన్నారు, తనిఖీ చేయండి మనిషి పేజీ nmcli మీకు ఇంకా ఎలా సహాయపడుతుందో చూడడానికి.

ప్రకటనల హక్కులపై

ఎపిక్ సర్వర్లు అది - Windowsలో వర్చువల్ సర్వర్లు లేదా శక్తివంతమైన AMD EPYC ఫ్యామిలీ ప్రాసెసర్‌లు మరియు చాలా వేగవంతమైన Intel NVMe డ్రైవ్‌లతో Linux. ఆర్డర్ చేయడానికి త్వరపడండి!

nmcli కన్సోల్ యుటిలిటీని ఉపయోగించి Linuxలో నెట్‌వర్క్ కనెక్షన్‌లను నిర్వహించడం

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి