آدرس IP (Internet Protocol) یک نمایش عددی منحصربفرد از یک رایانه در شبکه است. هنگامی که شما یک سرور CentOS بدون رابط گرافیکی کاربری راهاندازی میکنید، ممکن است نیاز داشته باشید تا یک آدرس IP استاتیک (ثابت) را در آن پیکربندی کنید. بنابراین، به این مقاله بپیوندید تا یاد بگیرید چگونه آدرس IP استاتیک را در RHEL/CentOS 8 پیکربندی کنید. این راهنما سه روش مختلف را به شما آموزش میدهد تا شما را در تنظیم آدرس IP استاتیک در سرور CentOS خود حرفهای کند. سه گزینهای که میتوانید برای تنظیم آدرس IP استاتیک استفاده کنید شامل ابزار nmcli، ابزار nmtui و ویرایش مستقیم یک فایل رابط است. بیایید بلافاصله وارد جزئیات شویم.
پیشنیازهای پیکربندی آدرس IP استاتیک در RHEL/CentOS 8
برای اینکه این محتوا به شما در دستیابی به هدفتان برای پیکربندی آدرس IP استاتیک در CentOS کمک کند، ابتدا موارد زیر را در نظر بگیرید و سپس ادامه دهید:
– یک سیستم در حال اجرای RHEL/CentOS 8
– یک کاربر غیر ریشه با امتیازات سودو
آموزش پیکربندی آدرس IP استاتیک در CentOS 8 با استفاده از ۳ دستور
از آنجایی که سرویس NetworkManager ارتباطات شبکه RHEL 8 / CentOS 8 را مدیریت میکند، تغییر تنظیمات رابط شبکه نیاز به تعامل با آن دارد. قبلاً با انواع مختلف آدرسهای IP آشنا شدهاید.
بنابراین، با ما در این مقاله همراه باشید تا ببینید چگونه میتوانید آدرس IP، گیتوی و سرور DNS را برای یک NIC تنظیم کنید. در ادامه، سه روش مختلف ارائه و بحث خواهد شد. قبل از پیگیری این راهنما، باید نام رابط اترنت خود را پیدا کنید، زیرا بدون این نام نمیتوان آدرس IP استاتیک را پیکربندی کرد. برای لیست کردن تمام رابطها در سیستم خود، به سرور لاگین کنید و دستور زیر را اجرا نمایید:
$ ip addr
شما دو رابط را در خروجی خواهید دید. رابط مجازی اول توسط سیستم برای صحبت با خودش استفاده میشود. رابط دوم، آدرس IPv4 فعلی شماست که میخواهید آن را تغییر دهید. بیایید سه روشی را که میتوانید برای پیکربندی آدرس IP استاتیک در RHEL/CentOS 8 استفاده کنید، بررسی کنیم:
۱. چگونه آدرس IP استاتیک را با ویرایش مستقیم فایل پیکربندی تنظیم کنیم
ابتدا، برای تنظیم آدرس IP استاتیک در سرور CentOS 8، فایل پیکربندی رابط را به صورت دستی ویرایش کنید. پیکربندیهای رابط شبکه در CentOS 8 به طور پیشفرض در مسیر ‘/etc/sysconfig/network-scripts’ قرار دارند. این دایرکتوری شامل پیکربندیهای شبکهای است که توسط سرویس NetworkManager مدیریت میشوند.
برای مشاهده تمام فایلهای پیکربندی موجود، به دایرکتوری ‘/etc/sysconfig/network-scripts’ بروید:
/etc/sysconfig/network-scripts
نام فایل از پیشوند ifcfg- به اضافه نام رابط تشکیل شده است. اگر فایل مربوط به NIC خود را بررسی کنید، تنظیمات واقعی به شرح زیر نشان داده خواهد شد:
$ cat /etc/sysconfig/network-scripts/ifcfg-enp1s0
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp1s0"
UUID="d5f41bf4-de0a-43b3-b633-7e2ec6212e58"
DEVICE="enp1s0"
ONBOOT="yes"
شاید شما CentOS 8 خود را با DHCP راهاندازی کرده باشید که پروتکل استفاده شده در هنگام بوت را برای تنظیم آدرس IP رابط تعیین میکند. از آنجایی که سرور شما از رابط گرافیکی کاربری استفاده نمیکند، تغییر آدرس IP استاتیک نیاز به برنامههای خاصی دارد. در اینجا، گزینه BOOTPROTO روی dhcp تنظیم شده است. گزینههای ممکن برای استفاده عبارتند از:
none: هیچ پروتکلی استفاده نشود
bootp: از پروتکل bootp استفاده شود
dhcp: از پروتکل dhcp استفاده شود
برای تنظیم یک آدرس IPv4 استاتیک، مقدار BOOTPROTO باید به none تغییر کند و آدرس IP، پیشوند مسیر، گیتوی و سرور DNS را به صورت استاتیک پیکربندی کنید. سرور DNS باید همراه با یک شماره پیشرونده (شروع از ۱) گزارش شود، زیرا میتواند مشخص شود. وقتی تغییرات انجام شد، فایل باید شبیه به این باشد:
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp1s0"
UUID="d5f41bf4-de0a-43b3-b633-7e2ec6212e58"
DEVICE="enp1s0"
ONBOOT="yes"
IPADDR=آدرس_IP_استاتیک_شما
PREFIX=24
GATEWAY=آدرس_IP_گیتوی_شما
DNS1=آدرس_IP_سرور_DNS_شما
برای اعمال تغییرات، رابط شبکه را خاموش و دوباره روشن کنید. اما این کار ارتباطات ssh موجود از طریق همان رابط را نیز قطع خواهد کرد:
$ sudo nmcli connection down enp1s0 && sudo nmcli connection up enp1s0
برای بررسی اینکه آیا آدرس IP تغییر کرده است یا خیر، میتوانید از دستور زیر استفاده کنید:
$ ip addr|grep enp1s0|grep inet
inet آدرس_IP_شما brd آدرس_IP_شما scope global noprefixroute
۲. چگونه از nmcli برای پیکربندی آدرس IP استاتیک در CentOS 8 استفاده کنیم
همانطور که گفتیم، سه روش برای پیکربندی آدرس IP استاتیک در RHEL/CentOS 8 وجود دارد. تا اینجا، یکی از این روشها را بررسی کردید. بیایید ببینیم روش دوم چگونه کار میکند.
nmcli یک ابزار خط فرمان است که میتوانید از آن برای کنترل NetworkManager و تغییر تنظیمات شبکه برای یک رابط خاص و موارد دیگر استفاده کنید. در اینجا، باید از این دستور با زیردستور connection و عملیات modify یا edit استفاده کنید. اولی به شما امکان میدهد تا تنظیمات را به طور مستقیم تغییر دهید، در حالی که دومی شل nmcli را راهاندازی میکند که در آن میتوانید به صورت تعاملی عمل کنید.
برای استفاده مستقیم از nmcli، میتوانید دستور زیر را اجرا کنید و آدرس IP رابط “enp1s0” را تغییر دهید:
$ sudo nmcli connection modify enp1s0 ipv4.address آدرس_IP_شما/پیشوند
از آنجایی که شما پیشوند مسیریابی را همراه با آدرس IP با استفاده از نشانهگذاری CIDR مشخص کردهاید، میتوانید از یک سینتکس مشابه برای تغییر گیتوی و تنظیمات DNS استفاده کنید:
$ sudo nmcli connection modify enp1s0 ipv4.gateway آدرس_IP_گیتوی_شما
$ sudo nmcli connection modify enp1s0 ipv4.dns آدرس_IP_سرور_DNS_شما
اگر ترجیح میدهید برای رابط از هیچ پروتکل بوت دیگری استفاده نکنید، باید روش را به manual تنظیم کنید. به این ترتیب، گزینه BOOTPROTO در فایل پیکربندی رابط به none تنظیم خواهد شد.
$ sudo nmcli connection modify enp1s0 ipv4.method manual
شما در میانه یادگیری نحوه پیکربندی آدرس IP استاتیک در RHEL/CentOS 8 هستید. همچنین میتوانید از یک روش تعاملی برای انجام همان تغییرات استفاده کنید. بنابراین، از عملیات edit و نام رابطی که میخواهید ویرایش کنید استفاده کنید تا وارد شل nmcli شوید.
$ sudo nmcli connection edit enp1s0
سپس، برای دریافت لیستی از موارد موجود، help را تایپ کنید و print را اجرا کنید تا تمام خصوصیات اتصال را ببینید یا describe را به همراه یک تنظیم و یکی از خصوصیات آن وارد کنید تا توضیحات آن را دریافت کنید. به مثال زیر نگاه کنید:
nmcli> describe ipv4.address
=== [addresses] ===
[NM property description]
Array of IP addresses.
[nmcli specific description]
Enter a list of IPv4 addresses formatted as:
IP[/prefix], IP[/prefix],...
Missing prefix is regarded as prefix of 32.
Example: آدرس_IP_شما/۲۴
و برای تغییر آدرس رابط خود:
nmcli> set ipv4.address آدرس_IP_شما/۲۴
همین اصل برای تغییر سایر خصوصیات نیز استفاده میشود:
nmcli> set ipv4.gateway آدرس_IP_گیتوی_شما
nmcli> set ipv4.dns آدرس_IP_سرور_DNS_شما
nmcli> set ipv4.method manual
در نهایت، از دستور زیر برای ذخیره تغییراتی که انجام دادهاید استفاده کنید:
nmcli> save
برای خروج از شل nmcli، دستور زیر را تایپ کنید و Enter را فشار دهید:
nmcli> quit
دوباره رابط را با استفاده از دستور زیر بارگذاری کنید تا تغییرات اعمال شود:
$ sudo nmcli connection down enp1s0 && sudo nmcli connection up enp1s0
۳. چگونه از nmtui برای پیکربندی آدرس IP استاتیک در CentOS 8 استفاده کنیم
تا اینجا، شما دو روش از سه روش برای پیکربندی آدرس IP استاتیک در CentOS 8 را آموختید. همچنین روشی را که میتوانید با ویرایش دستی فایل یا استفاده از ابزار دستور nmcli، پارامترهای یک رابط شبکه را تغییر دهید، بررسی کردید. در این بخش، شما یاد میگیرید که چگونه با استفاده از یک رابط کاربری متنی، NetworkManager را کنترل کنید. بنابراین، nmtui را در ترمینال خود اجرا کنید تا رابط کاربری متنی nmtui را ببینید:
$ sudo nmtui
سپس، باید “Edit a connection” را انتخاب کنید و نام رابطی را که میخواهید ویرایش کنید وارد کنید. بعد از آن، تغییر مقادیر همانطور که در مثال زیر میبینید انجام خواهد شد.
وقتی نتیجه دلخواه را دیدید، “ok” را انتخاب کنید و Enter را فشار دهید تا به منوی انتخاب رابط بازگردید. برای خروج، “back” را انتخاب کنید و “quit” را انتخاب کنید.
از دستور زیر برای اعمال تنظیماتی که میخواهید و بارگذاری مجدد اتصال رابط استفاده کنید:
$ sudo nmcli connection down enp1s0 && sudo nmcli connection up enp1s0
چگونه پیکربندیهای شبکه را همیشه به صورت دستی انجام دهیم؟
در هنگام پیکربندی آدرس IP استاتیک با استفاده از NetworkManager، میتوانید از دستور زیر برای انجام این کار استفاده کنید:
nmcli con mod ethX ipv4.method manual
nmcli con mod ethX ipv4.dns "8.8.8.8 8.8.4.4"
این دستورات روش IPv4 را برای رابط ethX به manual تغییر میدهد و سرورهای DNS را به ۸.۸.۸.۸ و ۸.۸.۴.۴ تنظیم میکند.
نتیجهگیری
در این مقاله، شما یاد گرفتید چگونه آدرس IP استاتیک را در RHEL/CentOS 8 پیکربندی کنید. سه روش مختلف با مثالها توضیح داده شد تا به شما کمک کند ببینید چگونه گزینهها را تغییر دهید و در هنگام ویرایش دستی، چه مواردی را به فایل پیکربندی رابط اضافه کنید. همان تغییرات میتواند با استفاده از nmcli به عنوان یک ابزار خط فرمان و nmtui به عنوان یک رابط کاربری متنی که برای کنترل سرویس NetworkManager استفاده میشوند، انجام شود.