نحوه تغییر آدرس آی پی در لینوکس اوبونتو، دبیان و CentOS
به عنوان یک فردی که شبکههای لینوکسی را در زیرساختهای شرکت خود مدیریت میکند، ممکن است نیاز داشته باشید آدرسهای IP برخی از دستگاهها را تغییر دهید، به خصوص اگر توپولوژی شبکه تغییر کند. همچنین، در صورتی که از DHCP به آدرسدهی استاتیک تغییر کردهاید، نیز باید آدرس IP برخی از کامپیوترهای خود را تغییر دهید. خوشبختانه در لینوکس، روشهای مختلفی برای تغییر آدرس IP وجود دارد، بدون اینکه بخواهید آن را پویا یا استاتیک کنید. همچنین، میتوانید برای یک دستگاه چندین آدرس ای پی تعریف کنید و آدرس IP را به کارت شبکه مجازی مرتبط اختصاص دهید.
برای تغییر آدرس IP در اوبونتو، میتوانید از دستورات ifconfig و ip استفاده کنید. این دستورات را در ترمینال اجرا کرده و سپس مقادیر آدرس IP جدید را تنظیم کنید. برای تغییر آدرس IP در دبیان، میتوانید فایل /etc/network/interfaces را ویرایش کنید. در این فایل، تنظیمات شبکه را پیدا کنید و آدرس IP جدید را وارد کنید. سپس سرویس شبکه را راهاندازی مجدد کنید تا تغییرات اعمال شود. در توزیع CentOS نیز میتوانید از ابزار nmtui (NetworkManager Text User Interface) برای تغییر آدرس IP استفاده کنید. با اجرای nmtui در ترمینال، وارد رابط کاربری متنی برای تنظیمات شبکه میشوید. در این رابط کاربری، میتوانید آدرس IP جدید را تنظیم کنید و تغییرات را ذخیره کنید.
در سرور مجازی لینوکس، یک آی پی ثابت در اختیار شما قرار می گیرد و در صورتی که شما نیاز به آی پی های بیشتری داشته باشید، می توانید از تیم پشتیبانی درخواست کنید تا در اختیار شما قرار دهد. در صورتی که هنوز سرور مجازی لینوکس خودتان را خریداری نکرده اید، می توانید این کار را از صفحه خرید سرور مجازی لینوکس انجام دهید.
در اینجا به طور خاص، نحوه تغییر آدرس آی پی در سه سیستم عامل معتبر لینوکس، یعنی اوبونتو، دبیان و CentOS را به شما آموزش خواهیم داد. به همراه ما باشید تا با نحوه تغییر ip در لینوکس آشنا شوید.
پیش نیازهای تغییر آی پی در سرور مجازی لینوکس
قبل از تغییر آدرس IP خود، حتماً آدرس IP فعلی را خودتان چک کنید. برای این کار، نیاز به دستورات پیچیده ای ندارید، می توانید از دستور زیر برای این کار استفاده کنید:
$ ip a
تغییر IP در لینوکس با استفاده از ifconfig
هرچند که دستور ifconfig منسوخ شده است و ما توصیه می کنیم که از دستور ip استفاده کنید، اما از دستور ifconfig برای تغییر دادن آدرس IP می توانید استفاده کنید:
$ which ifconfig
/usr/sbin/ifconfig
برای آن که آدرس IP را در سرور مجازی لینوکس تغییر دهید، می توانید دستور ifconfig را به همراه نام رابط شبکه و آدرس آی پی جدیدی که می خواهید روی سیستم خودتان تغییر دهید، وارد کنید.
برای اختصاص دادن ماسک زیرشبکه، میتوانید یا یک بند netmask به همراه ماسک زیرشبکه اضافه کنید یا مستقیماً از نماد CIDR استفاده کنید.
$ ifconfig <interface_name> <ip_address> netmask <netmask_address>
توجه: برای تغییر آدرس آی پی شما باید در سیستم خودتان administrator باشید.
به عنوان مثال، با توجه به آدرسهای IP استفاده شده در بخشهای قبلی، اگر میخواهیم آدرس IP خود را به 192.168.178.32/24 تغییر دهیم، باید دستور زیر را اجرا کنیم.
$ ifconfig enp0s3 192.168.178.32/24
$ ifconfig enp0s3 192.168.178.32 netmask 255.255.255.0
برای اطمینان از اینکه آدرس IP شما به درستی تغییر کرده است، می توانید دستور ifconfig
را دنبال شده توسط نام آداپتور شبکه خود اجرا کنید.
$ ifconfig <interface_name>
از DHCP به Static
هنگامی که آدرس IP خود را به صورت دستی تغییر می دهید، لینوکس به طور اتوماتیک درک می کند که شما می خواهید از سرور DHCP به استفاده از آدرس IP استاتیک بروید. این اطلاعات در دستور ifconfig به صورت مادی شکل گرفته است: احتمالا این را ببینید که آدرس IP با پارامتر dynamic یا همان DHCP اختصاص داده شده است. البته بعد از اختصاص دادن آدرس آی پی به صورت دستی، این مورد دیگر صدق نمی کند.
به این نکته توجه داشته باشید که تغییرات شما با تغییر تنظیمات IP با ifconfig دائمی نمی شوند: آنها فقط برای جلسه فعلی تغییر می کنند.
تغییر آدرس آی پی به صورت دائم با استفاده از ifupdown
زمانی که در لینوکس آدرس IP خودتان را با استفاده کردن از ابزارهای شبکه تغییر می دهید، به معنای این نیست که پیکربندی IP شما در راه اندازی دوباره ذخیره می شود.
فایل های شبکه در Debian و Ubuntu
برای تغییر آدرس آی پی در لینوکس ، شما باید پیکربندی شبکه خود را در “/etc/network/interfaces” اضافه کنید یا این فایل از پیش وجود ندارد، آن را ایجاد کنید.
# Content of /etc/network/interfaces
iface eth0 inet static
address <ip_address>
netmask <network_mask>
gateway <gateway_ip>
فرضا اگر بخواهید IP خود را با Subnet Mask «255.255.255.0» و یک gateway پیشفرض «192.168.178.1» به «192.168.178.32» تغییر دهید. برای آن که آدرس ip خودتان را تغییر دهید و تغییرات آن را اعمال کنید، می توانید محتوای فایل واسط را ویرایش کنید و کامند زیر را هم اضافه کنید:
$ vim /etc/network/interfaces
# Content of /etc/network/interfaces
iface eth0 inet static
address 192.168.178.32
netmask 255.255.255.0
gateway 192.168.178.1
در نهایت برای اعمل کردن تغییرات، سرویس شبکه خودتان را راه اندازی مجدد کنید.
# For systemd hosts
$ sudo systemctl restart networking.service
# For pre-systemd hosts
sudo /etc/init.d/networking restart
پس از آن که سرویس شبکه خودتان را دوباره راه اندازی کردید، باید با استفاده از دستور ifconfig یا ip بتوانید آی پی جدیدتان را مشاهده کنید.
$ ifconfig
$ ip address
برای آن که آدرس IP شما در لینوکس تغییر کند، باید پیکربندی شبکه خود را در پوشه “/etc/sysconfig/network-scripts” اضافه کنید.
در پوشه “/etc/sysconfig/network-scripts”، رابط شبکه مورد نظر خود را شناسایی کرده و با ویرایش آن شروع به تغییرات کنید.
فایل های شبکه در CentOS
برای آن که آدرس IP شما در توزیع CentOS تغییر کند، نیاز است که پیکربندی شبکه خودتان در فهرست /etc/sysconfig/network-scripts اضافه کنید. در این فهرست شما باید رابط شبکه ای که قرار است اصلاح شود را شناسایی کنید و آن را ویرایش کنید.
$ ls -l /etc/sysconfig/network-scripts
$ nano <file>
برای ثابت شدن یک ای پی در توزیع CentOS، پارامتر «BOOTPROTO» را از «dhcp» به «static» تغییر دهید و اطلاعات شبکه خود را مانند netmask یا gateway اضافه کنید. در توزیعهای اخیر مانند CentOS 8، باید از ابزارهایی مانند nmcli استفاده کنید تا بتوانید تغییرات را ثبت کنید.
در صورتی که شما از سرویس شبکه استفاده می کنید، برای اعمال شدن تغییرات باید یک بار سرویس شبکه را راه اندازی مجدد کنید.
$ nmcli device reapply <interface_name> (on CentOS 8)
$ systemctl restart network.service (on CentOS 7/RHEL 7)
شما با موفقیت آدرس IP خود را در لینوکس تغییر دادید.
مطمئن شوید که دستور “ip” را دوباره اجرا کنید تا بررسی کنید که تغییرات شما اعمال شده است.
$ ip a
$ ifconfig
در صورتی که از توزیع هایی مانند Red Hat هم استفاده می کنید، تمامی این روش ها می توانند برای تغییر آی پی مناسب باشند.
با استفاده از Network Manager آدرس IP را تغییر دهید
در این جا به روش تغییر آدرس IP از طریق Network Manager در توزیع های جدید لینوکس که با systemd مجهز شده اند، اشاره می کنیم. Network Manager یک ابزار همه کاره است که ابزارهای مختلفی را برای تغییر اتصالات، دستگاه ها یا تنظیمات ارتباطی (شامل بی سیم) در سیستم شما ارائه می دهد. یکی از این ابزارها nmcli است که از آن برای تغییر IP استفاده می کنیم. برای تغییر آدرس آی پی خود، در بخش “system” از “nmcli” استفاده کنید و مشخص کنید که می خواهید “ipv4.address کارت شبکه خود را تغییر دهید.
$ nmcli device modify <interface_name> ipv4.address <ip_address>
زمانی که از دستور nmcli device modify
استفاده می کنید، مدیر شبکه شما به طور خودکار یک فایل اتصال جدید در پوشه /etc/NetworkManager/system-connections
ایجاد می کند.
اعمال کردن مجدد پارامتره ها در تنظیمات اتصال فعلی، به موثر واقع شدن تغییرات کمک شایانی می کند.
$ nmcli device reapply <interface_name>
تبریک میگم، با استفاده از مدیر شبکه، موفق شدید IP خود را تغییر دهید!
اما تغییر تنظیمات با استفاده از ابزار nmcli باعث ثابت نماندن تغییرات شما در چندین بار راه اندازی مجدد میشود.
تغییر دائمی آی پی با استفاده از مدیر شبکه
برای پایدار ماندن تغییرات اعمال شده، شما باید پروندههای اتصالی را که در مسیر /etc/NetworkManager/system-connections قرار دارند ویرایش کنید.
برای آن که آدرس IP خودتان را تغییر دهید، نیاز است که فایل کانفیگ مدیر شبکه را ویرایش کنید و خطی که نیاز است تغییرات روی آن انجام شود را پیدا کنید و آدرس IP را هم بر اساس آن تنظیم کنید.
ذخیره فایل را انجام دهید و از دستور nmcli استفاده کنید و پس از آن هم گزینه های device reapply استفاده کنید و پیکربندی دوباره دستگاه را انجام دهید.
$ nmcli device reapply
حالا که تغییرات شما اعمال شدهاند، میتوانید با اجرای دستورهای ifconfig یا ip آدرس IP خود را بررسی کنید.
تغییر ip در لینوکس با استفاده از رابط گرافیکی
برای تغییر آدرس IP خود، در برخی موارد، میتوانید از طریق پنجرههای گرافیکی آن را انجام دهید.
در توزیعهای جدید، میتوانید با استفاده از نماد network (که به نام nm-applet شناخته میشود) که در گوشهی بالا و راست صفحهی نمایش شما قرار دارد، پارامترهای شبکه خود را مدیریت کنید.
در بخش تنظیمات شبکه خود، روی علامت “چرخ دنده” در کنار اتصال کلیک کنید تا تغییر کند.
در گام بعدی، در قسمت مربوط به IPv4 تنظیمات اتصال خود، می توانید متد IP خودتان را به صورت دستی تنظیم کنید و آدرس ip استاتیک خودتان را نسبت دهید.
برای آن که آدرس آی پی خودتان را تغییر دهید، می توانید روی Apply کلیک کنید و از nmcli استفاده کنید و خدمات شبکه را دوباره راه اندازی کنید.
$ nmcli networking off
$ nmcli networking on
به همین راحتی شما می توانید آدرس IP خودتان را در لینوکس تغییر دهید.
چگونه مدیریت شبکه در لینوکس را انجام دهیم؟
به طور کلی، در توزیع های جدید لینوکس (از ژانویه 2020 به بعد) ممکن است با چندین ابزار مختلفی سروکار داشته باشید که توسط توزیع شما برای پیکربندی شبکه استفاده می شوند.
بیشتر مواقع، مدیریت شبکه توسط Network Manager و ifupdown انجام می شود.
$ sudo systemctl status NetworkManager
$ sudo systemctl status networking
در برخی توزیع های سیستم عامل، ممکن است بسته ifupdown به صورت کامل نصب نشده باشد و رابط ها تنها توسط NetworkManager مدیریت شوند. با این حال، اگر هر دو سرویس در کامپیوتر شما وجود داشته باشند، شما می توانید رابط ها را در فایل /etc/network/interfaces اعلام کنید؛ بدون اینکه NetworkManager با تنظیمات آن دخالت کند. اگر می خواهید NetworkManager مدیریت کننده رابط های اعلام شده در فایل interfaces باشد، شما باید پارامتر managed را در فایل پیکربندی NetworkManager.conf به true تغییر دهید
تغییر آدرس IP به صورت دائم در لینوکس
شما میتوانید آدرس IP را به صورت دائم با ویرایش فایل پیکربندی تغییر دهید. در دایرکتوری /etc/sysconfig/network-scripts، یک فایل پیکربندی برای هر رابط شبکه در سیستم شما وجود دارد. به عنوان مثال، اگر رابط شما “eth0” باشد، شما یک فایل با نام ifcfg-eth0 در این دایرکتوری خواهید دید.
فایل ifcfg-eth0 را با ویرایشگر متنی مورد علاقه خود (بسیاری از افراد ترجیح میدهند از vi یا nano استفاده کنند) ویرایش کنید و به طور مطابق با مثال زیر، فیلد IPADDR را تغییر دهید تا آدرس IP تغییر کند.
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
آدرس IP را به IP درست تغییر دهید و اطمینان حاصل کنید که Netmask و Gateway نیز به درستی پیکربندی شده اند و ذخیره کنید.
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO=none
ONBOOT=yes
TYPE="Ethernet"
IPADDR="192.168.0.100"
NETMASK="255.255.255.0"
GATEWAY="192.168.0.1"
پس از ذخیره فایل ifcfg-eth0 باید شبکه را مجددا راه اندازی کنید. می توانید شبکه را با دستور زیر راه اندازی مجدد کنید:
systemctl restart network
سخن آخر
در این مقاله، شما روشهای تغییر آدرس IP در سه توزیع لینوکس، یعنی اوبونتو، دبیان و CentOS را یاد گرفتید. با ویرایش فایل پیکربندی مربوطه، میتوانید آدرس آی پی را به صورت دائم تغییر دهید. با توجه به تفاوتهای کوچکی در محل قرارگیری فایلهای پیکربندی در هر توزیع، مطمئن شوید که با دقت مراحل را انجام دهید.
در اوبونتو و دبیان، شما میتوانید فایل /etc/network/interfaces را ویرایش کنید تا آدرس IP را تغییر دهید. در CentOS، شما باید فایل ifcfg-نام رابط شبکه (مانندifcfg-eth0) را در دایرکتوری /etc/sysconfig/network-scripts ویرایش کنید. در هر صورت، پس از ویرایش فایل پیکربندی، آدرس IP جدید را برای سیستم خود تنظیم کنید تا تغییرات اعمال شود. با اطلاع از این روشها، شما میتوانید آی پی سیستم خود را در لینوکس اوبونتو، دبیان و CentOS به دلخواه خود تغییر دهید.
در صورتی که سوالی در این زمینه دارید، می توانید با ما در قسمت نظرات مطرح کنید و اگر راهکار دیگری می دانید، حتما با ما به اشتراک بگذارید.
سوالات متداول:
آیا می توان IP را به صورت دائم در لینوکس تغییر داد؟
بله؛ تغییر IP به صورت دائم در لینوکس تنها با چند دستور ساده قابل اجرا است.
آیا توزیع RedHat و CentOS روش های مشابهی برای تغییر IP دارند؟
بله؛ در صورتی که از توزیع ردهت استفاده می کنید، می توانید از همان روشی که برای تغییر IP در CentOS به کار می رود استفاده کنید و آی پی خودتان را تغییر دهید.