از کار انداختن IPv6 در اوبونتو

نوشته حسین بهنودی در ۴ بهمن ۱۳۹۸

پروتکل اینترنت یا IP نام پروتکل ارتباطی است که شناسایی و مکان یابی کامپیوترها و دیگر چیزها را در شبکه‌ها فراهم می‌کند؛ و ترافیک دیتا را از طریق اینترنت، هدایت می‌نماید. پروتکل اینترنت ورژن ۶ (IPv6) جدیدترین ورژن پروتکل اینترنت است. در سال ۱۹۹۸ برای جایگزینی پروتکل اینترنت ورژن ۴ (IPv4) ساخته شد.

هدف IPv6 این است که امنیت و کارکرد اینترنت را بهبود بخشد، در عین حال اطمینان بدهد که آدرس‌های ما تمام نمی‌شود. در این پروتکل برای هر دستگاه کامپیوتر، موبایل یا هر چیز دیگری که در سراسر جهان، به اینترنت وصل می‌شود؛ یک آدرس‌ یکتا در نظر گرفته می‌شود. و این آدرس را در ۱۲۸ بیت ذخیره می‌کند، در حالیکه در IPv4 برای این کار تنها ۳۲ بیت اختصاص داده شده بود.

اگرچه هدف این است که IPv4 با IPv6 جایگزین شود؛ اما هنوز مسیری طولانی در پیش است. کمتر از ۳۰٪ سایت‌های موجود در اینترنت، اتصال IPv6 را در دسترس کاربران قرار می دهد. (این را گوگل پیگیری می‌کند.) اما IPv6 می‌تواند برخی از برنامه‌های قدیمی را دچار مشکل کند. اکنون هم بسیاری از برنامه نویسان اطلاعات کافی از IPv6 ندارند؛ بنابراین محصولاتشان با آن سازگار نیست. همچنین هنوز هم ISP هایی وجود دارند که پشتیبانی IPv6 را ارائه نمی‌دهند. و این ویژگی را در پایین لیست اولویت‌های خود گذاشته‌اند. به این دلایل ممکن است شما بخواهید بخواهید IPv6 را روی سیستم خود غیرفعال کنید.

دلیل احتمالی دیگر این است که نخواهید خود را در معرض تهدیدهای مختلف قرار دهید. اگرچه خود IPv6 از IPv4 ایمن‌تر است؛ اما اگر واقعا به آن نیاز ندارید و استفاده نمی‌کنید، داشتن IPv6 شما را در معرض حملات مختلف قرار می‌دهد و ابزار قابل بهره برداری دیگری را به هکرها ارائه می‌دهد. شما باید به همان اندازه که برای امنیت خود، به تنظیمات IPv4 توجه می‌کنید؛ به IPv6 هم دقت داشته باشید. و این کار شما را بسیار پیچیده‌تر می‌کند. همچنین مشاهده شده است که از کار انداختن کردن IPv6 در برخی موارد به بهبود سرعت WiFi در اوبونتو کمک می‌کند.

از کار انداختن IPv6 در اوبونتو

اگر شما هم به یکی از دلایل بالا یا دلیل دیگری می‌خواهید IPv6 را روی اوبونتو از کار بیاندازید به خواندن ادامه دهید.

هشدار

اگر شما یک کاربر معمولی دسکتاپ لینوکس هستید و سیستم کاری پایدار را ترجیح می دهید، لطفا از انجام این کار خودداری کنید. این دستورالعمل برای کاربران پیشرفته است که می‌دانند چه کاری انجام می‌دهند و چرا این کار را می‌کنند.

۱- روش Sysctl

ابتدا باید مطمئن شوید که IPv6 را روی سیستم شما فعال است.

ابتدا یک ترمینال باز کنید. (CTRL + ALT + T)

با استفاده از این دستور، آدرس IP خود را در اوبونتو بررسی کنید:

ip a

در صورت فعال بودن IPv6، باید آدرس آن را مشاهده کنید. (ممکن است نام کارت شبکه شما چیز دیگری باشد)

دستور sysctl در لینوکس، پارامترهای کرنل (هسته لینوکس) را در زمان اجرا پیکربندی می‌کند.

برای غیرفعال کردن IPv6، باید ۳ دستور زیر را وارد کنید:

sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=1

سپس دوباره با دستور زیر آن را چک کنید:

ip a

هیچ آدرس IPv6 نباید دیده شود.

این کار به طور موقت IPv6 را از کار می‌اندازد. و پس از ریبوت، دوباره فعال می‌شود. برای اینکه برای همیشه آن را از کار بیاندازید باید فایل sysctl.conf را ادیت کنید.

برای این کار دستور زیر را اجرا کنید.

sudo nano /etc/sysctl.conf

محتوای فایل همانند تصویر زیر دیده می‌شود.

خطوط زیر را در انتهای فایل بنویسید.

net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1

ذخیره کنید و خارج شوید.

برای اعمال تنظیمات جدید، دستور زیر را اجرا کنید.

sudo sysctl -p

اگر بعد از راه اندازی مجدد سیستم IPv6 هنوز فعال بود،

باید فایل /etc/rc.local را ایجاد کنید.

sudo nano /etc/rc.local

و خطوط زیر را در آن بنویسید.

#!/bin/bash
# /etc/rc.local

/etc/sysctl.d
/etc/init.d/procps restart

exit 0

ذخیره کنید و خارج شوید.

سپس با دستور chmod به آن مجوز اجرا بدهید.

sudo chmod 755 /etc/rc.local

این فایل هر بار پس از روشن شدن سیستم، به طور دستی پارامترهای کرنل را از فایل sysctl.conf فرامی‌خواند.

۲- روش GRUB

گراب (GRUB) یک بوت لودر (Boot Loader) است. بوت لودر اولین چیزی است که پس از روشن کردن کامپیوتر اجرا می‌شود. و سیستم عامل را اجرا می کند. گراب به شما اجازه می‌دهد؛ كه چندین سیستم عامل‌ را روی یک کامپیوتر نصب کنید. و در هنگام بوت، سیستم عاملی را که می‌خواهید با آن کار کنید را انتخاب نمایید. برای نمونه اگر ویندوز و لینوکس را روی یک کامپیوتر نصب کرده باشید. هنگامی که کامپیوترتان را روشن می‌کنید؛ اول گراب اجرا می‌شود. و از شما می‌پرسد که می‌خواهید با کدام سیستم عامل کار کنید. آن سیستم عامل را اجرا می‌کند. سپس به کار خودش خاتمه می‌دهد.

در این روش از پیکربندی گراب برای دورزدن (bypass) پارامترهای کرنل استفاده می‌شود.

برای این کار باید فایل /etc/default/grub را ویرایش کنید.

sudo nano /etc/default/grub

فایل زیر دیده می‌شود.

دو خطی که در تصویر بالا نشان داده شده را به شکل زیر تغییر دهید.

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash ipv6.disable=1"
GRUB_CMDLINE_LINUX="ipv6.disable=1"

ذخیره کنید و خارج شوید.

سپس دستور زیر را اجرا کنید:

sudo update-grub

در پایان برای اجرا شدن این تغییرات باید سیستم را ریبوت کنید.

برای راه انداختن دوباره IPv6، باید همه تغییراتی را که ایجاد کرده‌اید، به حالت اول برگردانید. و سیستم را ریبوت کنید.