nmcli یوٹیلیٹی کا استعمال کرتے ہوئے لینکس کمانڈ لائن پر NetworkManager نیٹ ورک مینجمنٹ ٹول کا پورا فائدہ اٹھائیں۔
افادیت۔
یہ 2010 میں شائع ہوا اور بہت سے لوگوں کے لیے نیٹ ورک انٹرفیس اور کنکشن کو ترتیب دینے کا ایک متبادل طریقہ بن گیا ہے۔ اگرچہ کچھ لوگ اب بھی استعمال کرتے ہیں۔
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 استعمال کرنا چاہتے ہیں، تو آپ کو باقاعدہ کمانڈ لائن ورژن کی ضرورت ہوگی۔
اب جب کہ آپ کے پاس بنیادی باتیں ہیں، چیک آؤٹ کریں۔
ایڈورٹائزنگ کے حقوق پر
ایپک سرورز ہے -
ماخذ: www.habr.com