nmcli کنسول یوٹیلیٹی کا استعمال کرتے ہوئے لینکس میں نیٹ ورک کنکشن کا انتظام کرنا

nmcli یوٹیلیٹی کا استعمال کرتے ہوئے لینکس کمانڈ لائن پر NetworkManager نیٹ ورک مینجمنٹ ٹول کا پورا فائدہ اٹھائیں۔

nmcli کنسول یوٹیلیٹی کا استعمال کرتے ہوئے لینکس میں نیٹ ورک کنکشن کا انتظام کرنا

افادیت۔ nmcli نیٹ ورک مینجر کے افعال تک رسائی کے لیے براہ راست API کو کال کرتا ہے۔

یہ 2010 میں شائع ہوا اور بہت سے لوگوں کے لیے نیٹ ورک انٹرفیس اور کنکشن کو ترتیب دینے کا ایک متبادل طریقہ بن گیا ہے۔ اگرچہ کچھ لوگ اب بھی استعمال کرتے ہیں۔ ifconfig. چونکہ nmcli ایک کمانڈ لائن انٹرفیس (CLI) ٹول ہے جسے ٹرمینل ونڈوز اور اسکرپٹس میں استعمال کرنے کے لیے ڈیزائن کیا گیا ہے، یہ GUI کے بغیر کام کرنے والے سسٹم ایڈمنسٹریٹرز کے لیے مثالی ہے۔

ncmli کمانڈ نحو

عام طور پر، نحو اس طرح لگتا ہے:

$ nmcli <options> <section> <action>

  • اختیارات ایسے پیرامیٹرز ہیں جو nmcli آپریشن کی باریکیوں کا تعین کرتے ہیں،
  • سیکشن (سیکشن) - اس بات کا تعین کرتا ہے کہ افادیت کی کون سی خصوصیات استعمال کی جائیں،
  • ایکشن - آپ کو یہ بتانے کی اجازت دیتا ہے کہ اصل میں کیا کرنے کی ضرورت ہے۔

مجموعی طور پر 8 حصے ہیں، جن میں سے ہر ایک حکم کے ایک مخصوص سیٹ (اعمال) سے وابستہ ہے:

  • مدد ncmcli کمانڈز اور ان کے استعمال کے بارے میں مدد فراہم کرتا ہے۔
  • جنرل نیٹ ورک مینجر کی حیثیت اور عالمی ترتیب واپس کرتا ہے۔
  • نیٹ ورکنگ نیٹ ورک کنکشن کی حیثیت سے استفسار کرنے اور کنکشنز کو فعال/غیر فعال کرنے کے کمانڈز شامل ہیں۔
  • ریڈیو وائی ​​فائی نیٹ ورک کنکشن کی حیثیت سے استفسار کرنے اور کنکشنز کو فعال/غیر فعال کرنے کے کمانڈز شامل ہیں۔
  • کی نگرانی نیٹ ورک مینجر کی سرگرمی کی نگرانی اور نیٹ ورک کنکشن کی حالت میں تبدیلیوں کا مشاہدہ کرنے کے کمانڈز شامل ہیں۔
  • کنکشن نیٹ ورک انٹرفیس کو منظم کرنے، نئے کنکشن شامل کرنے اور موجودہ کو حذف کرنے کے لیے کمانڈز شامل ہیں۔
  • ڈیوائس بنیادی طور پر آلہ سے متعلقہ پیرامیٹرز (جیسے انٹرفیس کا نام) کو تبدیل کرنے یا موجودہ کنکشن کا استعمال کرتے ہوئے آلات کو جوڑنے کے لیے استعمال کیا جاتا ہے۔
  • خفیہ nmcli کو ایک NetworkManager "خفیہ ایجنٹ" کے طور پر رجسٹر کرتا ہے جو خفیہ پیغامات سنتا ہے۔ یہ سیکشن شاذ و نادر ہی استعمال ہوتا ہے، کیونکہ نیٹ ورکس سے جڑتے وقت nmcli ڈیفالٹ کے طور پر اس طرح کام کرتا ہے۔

سادہ مثالیں۔

شروع کرنے سے پہلے، یقینی بنائیں کہ نیٹ ورک مینجر چل رہا ہے اور 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

یہ کمانڈ استعمال کرتا ہے۔ کارروائی کنکشن سیکشن کے لیے دکھائیں۔

ٹیسٹ مشین Ubuntu 20.04 چلا رہی ہے۔ اس صورت میں، ہمیں تین وائرڈ کنکشن ملے: enp0s3، enp0s8، اور enp0s9۔

رابطوں کا انتظام کریں۔

یہ سمجھنا ضروری ہے کہ nmcli میں، کنکشن کی اصطلاح سے ہمارا مطلب ایک ایسی ہستی ہے جس میں کنکشن کے بارے میں تمام معلومات موجود ہوں۔ دوسرے الفاظ میں، یہ نیٹ ورک کنفیگریشن ہے۔ کنکشن کنکشن سے متعلق تمام معلومات کو سمیٹتا ہے، بشمول لنک پرت اور IP ایڈریسنگ کی معلومات۔ یہ OSI نیٹ ورکنگ ماڈل میں پرت 2 اور پرت 3 ہیں۔

جب آپ لینکس میں نیٹ ورک قائم کرتے ہیں، تو آپ عام طور پر ایسے کنکشن قائم کر رہے ہوتے ہیں جو نیٹ ورک ڈیوائسز سے منسلک ہوتے ہیں، جس کے نتیجے میں کمپیوٹر پر نیٹ ورک انٹرفیس نصب ہوتے ہیں۔ جب کوئی آلہ کنکشن استعمال کر رہا ہوتا ہے، تو اسے فعال یا بلند سمجھا جاتا ہے۔ اگر کوئی کنکشن استعمال میں نہیں ہے، تو یہ غیر فعال ہے یا پھر سیٹ ہے۔

نیٹ ورک کنکشن شامل کرنا

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

ایک نیا کنکشن ethernet-enp0s8 شامل کیا گیا ہے، یہ فعال ہے اور enp0s8 نیٹ ورک انٹرفیس استعمال کرتا ہے۔

کنکشن قائم کرنا

ncmli یوٹیلیٹی آپ کو موجودہ کنکشن کے پیرامیٹرز کو آسانی سے تبدیل کرنے کی اجازت دیتی ہے۔ مثال کے طور پر، آپ کو اپنے ڈائنامک (DHCP) IP ایڈریس کو ایک مستحکم IP ایڈریس میں تبدیل کرنے کی ضرورت ہے۔

ہم کہتے ہیں کہ ہمیں IP ایڈریس کو 192.168.4.26 پر سیٹ کرنے کی ضرورت ہے۔ ایسا کرنے کے لیے ہم دو کمانڈز استعمال کرتے ہیں۔ پہلا آئی پی ایڈریس کو براہ راست سیٹ کرے گا، اور دوسرا آئی پی ایڈریس سیٹنگ کے طریقہ کار کو مینوئل میں بدل دے گا:

$ 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.
  • کنکشن کی قسم: وائرڈ ایتھرنیٹ کنکشن۔
  • ہم ڈیوائس کا میک ایڈریس دیکھتے ہیں۔
  • زیادہ سے زیادہ ٹرانسمیشن یونٹ (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>

اگر آپ پرنٹ کمانڈ ٹائپ کریں اور انٹر دبائیں تو 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 ایڈریس کو صاف کرنا چاہتے ہیں تو کلک کریں۔ درج. بصورت دیگر، نمبر ٹائپ کریں اور انٹر دبائیں۔ اگر آپ کو لگتا ہے کہ آپ کو مستقبل میں اس کی ضرورت ہو گی تو آپ اسے بچا سکتے ہیں۔ لیکن ایک محفوظ شدہ جامد IP ایڈریس کے ساتھ بھی، DHCP استعمال کیا جائے گا اگر طریقہ آٹو پر سیٹ کیا جاتا ہے۔

اپنی تبدیلیوں کو محفوظ کرنے کے لیے save کمانڈ استعمال کریں:

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

nmcli انٹرایکٹو ایڈیٹر سے باہر نکلنے کے لیے quit ٹائپ کریں۔ اگر آپ چھوڑنے کے بارے میں اپنا خیال بدلتے ہیں تو بیک کمانڈ استعمال کریں۔

اور یہ سب کچھ نہیں ہے۔

nmcli انٹرایکٹو ایڈیٹر کھولیں اور دیکھیں کہ وہاں کتنی سیٹنگیں ہیں اور ہر سیٹنگ میں کتنی خصوصیات ہیں۔ انٹرایکٹو ایڈیٹر ایک بہترین ٹول ہے، لیکن اگر آپ ون لائنرز یا اسکرپٹ میں nmcli استعمال کرنا چاہتے ہیں، تو آپ کو باقاعدہ کمانڈ لائن ورژن کی ضرورت ہوگی۔

اب جب کہ آپ کے پاس بنیادی باتیں ہیں، چیک آؤٹ کریں۔ آدمی صفحہ nmcli یہ دیکھنے کے لئے کہ یہ آپ کی کس طرح مدد کرسکتا ہے۔

ایڈورٹائزنگ کے حقوق پر

ایپک سرورز ہے - ونڈوز پر ورچوئل سرورز یا طاقتور AMD EPYC فیملی پروسیسرز اور بہت تیز Intel NVMe ڈرائیوز کے ساتھ لینکس۔ آرڈر کرنے کے لئے جلدی کرو!

nmcli کنسول یوٹیلیٹی کا استعمال کرتے ہوئے لینکس میں نیٹ ورک کنکشن کا انتظام کرنا

ماخذ: www.habr.com

نیا تبصرہ شامل کریں