এনএমসি্লি সরঞ্জাম ব্যবহার করে কীভাবে নেটওয়ার্ক সংযোগগুলি কনফিগার করতে ও পরিচালনা করতে হয়


লিনাক্স প্রশাসক হিসাবে আপনি আপনার নেটওয়ার্ক সংযোগগুলি কনফিগার করতে ব্যবহার করার জন্য বিভিন্ন সরঞ্জাম পেয়েছেন যেমন: এনএমটুই, জিনোম গ্রাফিকাল ইউজার ইন্টারফেস সহ আপনার নেটওয়ার্কম্যানেজার এবং অবশ্যই এনএমসি্লি (নেটওয়ার্ক ম্যানেজার কমান্ড লাইন সরঞ্জাম)।

আমি অনেক প্রশাসককে সরলতার জন্য এনএমটিই ব্যবহার করে দেখেছি। তবে এনএমসি্লি ব্যবহার করা আপনার সময় সাশ্রয় করে, আত্মবিশ্বাস দেয়, স্ক্রিপ্টগুলিতে এটি ব্যবহার করতে পারে এবং এটি আপনার লিনাক্স সার্ভার নেটওয়ার্কিংয়ের সমস্যা সমাধানের জন্য এটির প্রথম সরঞ্জাম এবং এর কার্যকারিতা দ্রুত ফিরিয়ে আনতে পারে।

এনএমসি্লি সম্পর্কে সহায়তা জিজ্ঞাসা করে অনেক মন্তব্য দেখে আমি এই নিবন্ধটি লেখার সিদ্ধান্ত নিয়েছি। অবশ্যই আপনার সর্বদা মনোযোগ সহকারে মানব পৃষ্ঠাগুলি পড়তে হবে (এটি আপনার জন্য নম্বর 1 সহায়তা)। আমার উদ্দেশ্য আপনার সময় সাশ্রয় করা এবং আপনাকে কিছু ইঙ্গিতগুলি দেখানো show

এনএমসি কলির বাক্য গঠনটি হ'ল:

# nmcli [OPTIONS] OBJECT {COMMAND | help}

OBJECT এর মধ্যে একটি: সাধারণ, নেটওয়ার্কিং, রেডিও, সংযোগ, ডিভাইস, এজেন্ট।

আমাদের ডিভাইসগুলি পরীক্ষা করা একটি ভাল সূচনা পয়েন্ট হবে:

# 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     --         

আমরা প্রথম কলামে দেখতে পাচ্ছি আমাদের নেটওয়ার্ক ডিভাইসের একটি তালিকা। enp0s3 নামের একটি নেটওয়ার্ক কার্ড রয়েছে have আপনার মেশিনে আপনি অন্যান্য নাম দেখতে পেতেন।

নামকরণ নেটওয়ার্ক কার্ডের ধরণের উপর নির্ভর করে (এটি যদি বোর্ড, পিসিআই কার্ড ইত্যাদি হয়)। শেষ কলামে আমরা আমাদের কনফিগারেশন ফাইলগুলি দেখতে পাই যা আমাদের ডিভাইস দ্বারা নেটওয়ার্কে সংযোগ করার জন্য ব্যবহৃত হয়।

এটি বোঝা সহজ যে আমাদের ডিভাইসগুলি নিজেরাই কিছুই করতে পারে না। নেটওয়ার্ক সংযোগ কীভাবে অর্জন করবেন তা তাদের জানাতে আমাদের একটি কনফিগারেশন ফাইল তৈরি করা দরকার need আমরা এই ফাইলগুলিকে "সংযোগের প্রোফাইল" হিসাবেও ডাকি। আমরা সেগুলি/etc/sysconfig/নেটওয়ার্ক-স্ক্রিপ্ট ডিরেক্টরিতে পাই।

# 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

আপনি দেখতে পাচ্ছেন যে এখানে ifcfg- (ইন্টারফেস কনফিগারেশন) দিয়ে নামের নামের ফাইলগুলি সংযোগ প্রোফাইল। যখন আমরা একটি নতুন সংযোগ তৈরি করি বা এনএমসি্লি বা এনএমটিই দিয়ে একটি বিদ্যমান সংশোধন করি, ফলাফলগুলি এখানে সংযোগ প্রোফাইল হিসাবে সংরক্ষণ করা হয়।

Ι ‘আমার মেশিন থেকে তাদের দুজনকে দেখাব, একটিতে ডিএইচসিপি কনফিগারেশন এবং একটি স্ট্যাটিক আইপি সহ।

# cat ifcfg-static1
# cat ifcfg-Myoffice1

আমরা বুঝতে পারি যে কিছু সম্পত্তিগুলির আলাদা আলাদা মান থাকে এবং এটির প্রয়োজনীয় না হলে কিছু অন্যের অস্তিত্ব থাকে না। আসুন তাদের মধ্যে বেশিরভাগ গুরুত্বপূর্ণর দিকে এক নজর দিন।

  1. TYPE , আমাদের এখানে ইথারনেট টাইপ রয়েছে। আমরা ওয়াইফাই, দল, বন্ড এবং অন্যান্য থাকতে পারতাম
  2. ডিভাইস , এই ডিভাইসের নাম যা এই প্রোফাইলের সাথে সম্পর্কিত
  3. বুটপ্রোটো , যদি এর মান "dhcp" থাকে তবে আমাদের সংযোগের প্রোফাইলটি dhcp সার্ভার থেকে গতিশীল আইপি নেয়, যদি এর মান "কিছুই না" থাকে তবে এটি কোনও গতিশীল আইপি নেয় না এবং সম্ভবত স্থির আইপি নির্ধারণ করে ।
  4. আইপিএডিডিআর হ'ল আমরা আমাদের প্রোফাইলে নিযুক্ত স্ট্যাটিক আইপি সাবলেট মাস্ক
  5. প্রিফিক্স । 24 এর মান 255.255.255.0। সাবনেট মাস্কের বাইনারি ফর্ম্যাটটি লিখলে আপনি আরও ভাল বুঝতে পারবেন। উদাহরণস্বরূপ 16, 24, 26 এর মানগুলির অর্থ প্রথম 16, 24 বা 26 বিট যথাক্রমে 1 এবং বাকী 0, নেটওয়ার্ক ঠিকানাটি ঠিক কী নির্ধারণ করে এবং আইপি-র পরিসীমা কী নির্ধারিত হতে পারে তা নির্ধারণ করে
  6. গ্যাটওয়ে গেটওয়ে আইপি
  7. DNS1 , DNS2 , দুটি ডিএনএস সার্ভার আমরা ব্যবহার করতে চাই
  8. ONBOOT এর যদি এর মান "হ্যাঁ" থাকে তবে এর অর্থ হ'ল আমাদের কম্পিউটার বুট করার সময় এই প্রোফাইলটি পড়বে এবং এটিকে তার ডিভাইসে নির্ধারিত করার চেষ্টা করবে

এখন, আসুন এবং আমাদের সংযোগগুলি পরীক্ষা করুন:

# nmcli con show

ডিভাইসের শেষ কলামটি আমাদের বুঝতে সাহায্য করে যে কোন সংযোগটি "ইউপি" এবং কোনটি চলছে এবং কোনটি নয়। উপরের চিত্রটিতে আপনি দুটি সংযোগ যা সক্রিয় তা দেখতে পাচ্ছেন: মাইফাইস 1 এবং এনপি0 এস 8।

ইঙ্গিত: আপনি যদি কেবলমাত্র সক্রিয় সংযোগগুলি দেখতে চান তবে টাইপ করুন:

# nmcli con show -a

ইঙ্গিত: আপনি nmcli ব্যবহার করার সময় স্বয়ংক্রিয়-সম্পূর্ণ হিটিং ট্যাবটি ব্যবহার করতে পারেন তবে কমান্ডের ন্যূনতম বিন্যাসটি ব্যবহার করা ভাল। সুতরাং, নিম্নলিখিত কমান্ড সমান:

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

আমি যদি আমার ডিভাইসের আইপি ঠিকানাগুলি পরীক্ষা করি:

# ip a

আমি দেখতে পাচ্ছি যে আমার ডিভাইস enp0s3 dhcp সার্ভার থেকে 192.168.1.6 আইপি নিয়েছে, কারণ সংযোগ প্রোফাইল মাইফিস 1 যা একটি ডিএইচসিপি কনফিগারেশন রয়েছে। যদি আমি "আপ" স্ট্যাটিক 1 নামের সাথে আমার সংযোগ প্রোফাইল আনয়ন করি তবে সংযোগের প্রোফাইলে সংজ্ঞায়িত হওয়ার সাথে সাথে আমার ডিভাইস স্থির আইপি 192.168.1.40 নেবে।

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

আইপি ঠিকানাটি আবার দেখা যাক:

# ip a

আমরা আমাদের প্রথম সংযোগের প্রোফাইল তৈরি করতে পারি। আমাদের যে ন্যূনতম বৈশিষ্ট্যগুলি নির্ধারণ করতে হবে তা হ'ল টাইপ, ইফনেম এবং কন-নাম:

  1. টাইপ করুন - সংযোগের ধরণের জন্য
  2. ifname - ডিভাইসের নামের জন্য যা আমাদের সংযোগ দেওয়া হয়েছে
  3. কন-নাম - সংযোগ নামের জন্য

মাইহোম 1 1 নামের সাথে একটি নতুন ইথারনেট সংযোগ তৈরি করা যাক enp0s3 ডিভাইসে নির্ধারিত:

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

এর কনফিগারেশন পরীক্ষা করুন:

# cat ifcfg-Myhome1

আপনি দেখতে পাচ্ছেন এটিতে BOOTPROTO = dhcp রয়েছে, কারণ আমরা কোনও স্থির আইপি ঠিকানা দেয়নি।

ইঙ্গিত: আমরা "nmcli কন মোড" কমান্ডের সাথে কোনও সংযোগ পরিবর্তন করতে পারি। তবে আপনি যদি ডিএইচসিপি সংযোগটি সংশোধন করেন এবং এটি স্থিতিতে পরিবর্তন করেন তবে << কোড "" অটো " থেকে " ম্যানুয়াল "। অন্যথায় আপনি দুটি আইপি অ্যাড্রেস দিয়ে শেষ করবেন: একটি ডিএইচসিপি সার্ভার থেকে এবং স্ট্যাটিক একটি।

স্ট্যাটিক 2 নামের সাথে একটি নতুন ইথারনেট সংযোগ প্রোফাইল তৈরি করুন, যা স্থির আইপি 192.168.1.50, সাবনেট মাস্ক 255.255.255.0 = 24 এবং গেটওয়ে 192.168 সহ enp0s3 ডিভাইসে বরাদ্দ করা হবে .1.1।

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

এর কনফিগারেশন পরীক্ষা করুন:

# cat ifcfg-static2

আসুন আমরা শেষ সংযোগের প্রোফাইলটি সংশোধন করি এবং দুটি ডিএনএস সার্ভার যুক্ত করি।

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

ইঙ্গিত: এখানে আপনাকে অবশ্যই মনোযোগ দিতে হবে: আইপি ঠিকানা এবং গেটওয়ের বৈশিষ্ট্যগুলির আলাদা আলাদা নাম থাকে যখন আপনি যুক্ত করেন এবং যখন আপনি কোনও সংযোগ পরিবর্তন করেন। আপনি যখন সংযোগগুলি যুক্ত করেন আপনি "ip4" এবং "gw4" ব্যবহার করেন, যখন আপনি সেগুলি সংশোধন করেন আপনি "ipv4" এবং "ব্যবহার করেন gwv4 ”

এবার আসুন এই সংযোগের প্রোফাইলটি:

# nmcli con down static1 ; nmcli con up static2

আপনি দেখতে পাচ্ছেন, enp0s3 ডিভাইসটির এখন IP ঠিকানা 192.168.1.50 রয়েছে।

# ip a

ইঙ্গিত: আপনি সংশোধন করতে পারেন এমন অনেকগুলি সম্পত্তি রয়েছে। যদি আপনি তাদের হৃদয় দিয়ে মনে না রাখেন তবে <কেড> "এনএমসি ক্লি শো" লিখে তার পরে সংযোগের নামটি লিখে নিজেকে সহায়তা করতে পারেন:

# nmcli con show static2

আপনি ছোট হাতের অক্ষরে লিখিত এই সমস্ত বৈশিষ্ট্য পরিবর্তন করতে পারেন can

উদাহরণস্বরূপ: আপনি যখন কোনও সংযোগ প্রোফাইলটি নামিয়ে আনেন, নেটওয়ার্কম্যানেজার অন্য সংযোগের প্রোফাইল অনুসন্ধান করে এটি স্বয়ংক্রিয়ভাবে এনে দেয়। (আমি এটি পরীক্ষা করার জন্য অনুশীলন হিসাবে রেখেছি)। আপনি যদি না চান তবে আপনার সংযোগের প্রোফাইলটি অটোকনেক্ট করতে:

# nmcli con mod static2 connection.autoconnect no

সর্বশেষ ব্যায়ামটি খুব দরকারী আপনার ব্যবহারকারীদের শ্রেণীবদ্ধ করা ভাল!

আমরা শুধুমাত্র ব্যবহারকারী স্টেলাটিকে এই প্রোফাইলটি ব্যবহার করতে দিই:

# nmcli con mod static2 connection.permissions stella

ইঙ্গিত: আপনি যদি একাধিক ব্যবহারকারীর জন্য অনুমতি দিতে চান তবে আপনাকে অবশ্যই তাদের মধ্যে ফাঁকা জায়গা ছাড়াই ব্যবহারকারী: ব্যবহারকারী 1, ব্যবহারকারী 2 টাইপ করতে হবে:

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

আপনি যদি অন্য ব্যবহারকারী হিসাবে লগইন করেন তবে আপনি এই সংযোগের প্রোফাইলটি "আপ" আনতে পারবেন না:

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

একটি ত্রুটি বার্তা বলছে যে সংযোগ ‘স্ট্যাটিক 2’ বিদ্যমান নেই, এমনকি যদি আমরা দেখতে পাই যে এটি বিদ্যমান। কারণ বর্তমান ব্যবহারকারীর এই সংযোগটি আনার কোনও অনুমতি নেই।

উপসংহার: এনএমসি্লি ব্যবহার করতে দ্বিধা করবেন না। এটি সহজ এবং সহায়ক।