مقدمه
پروتکل اینترنت نسخه 6 (IPv6) جدیدترین نسخه پروتکل اینترنت (IP) است. این پروتکل ارتباطی یک سیستم شناسایی و مکان یابی را برای کامپیوترهای موجود در شبکه فراهم می کند و ترافیک را در سراسر اینترنت هدایت می کند. در سال 1998 برای جایگزینی پروتکل IPv4 توسعه یافت.
هدف IPv6 بهبود امنیت و عملکرد است و در عین حال اطمینان میدهد که آدرسهای ما تمام نمیشود. آدرسهای منحصربهفردی را در سطح جهانی به هر دستگاه اختصاص میدهد و آنها را در ۱۲۸ بیت ذخیره میکند، در حالی که IPv4 فقط ۳۲ بیت استفاده میکند.
اگرچه هدف این است که IPv4 با IPv6 جایگزین شود، اما هنوز راه زیادی در پیش است. کمتر از 30 درصد از سایتهای موجود در اینترنت، اتصال IPv6 را در دسترس کاربران قرار میدهند (در اینجا توسط Google ردیابی میشود). IPv6 همچنین می تواند در برخی از برنامه ها مشکلاتی ایجاد کند.
از آنجایی که VPN ها خدمات جهانی ارائه می دهند، این واقعیت که IPv6 از آدرس های مسیریابی جهانی (به طور منحصر به فرد اختصاص داده شده) استفاده می کند و (هنوز) ISP هایی وجود دارند که پشتیبانی IPv6 را ارائه نمی دهند، این ویژگی را در لیست اولویت های آنها پایین تر می برد. به این ترتیب، آنها می توانند روی آنچه که برای کاربران VPN بیشترین اهمیت را دارد تمرکز کنند: امنیت.
یکی دیگر از دلایل احتمالی که ممکن است بخواهید IPv6 را در سیستم خود غیرفعال کنید این است که نمی خواهید خود را در معرض تهدیدات مختلف قرار دهید. اگرچه IPv6 خود ایمن تر از IPv4 است، خطراتی که من به آنها اشاره می کنم ماهیت دیگری دارند. اگر به طور فعال از IPv6 و ویژگیهای آن استفاده نمیکنید، فعال بودن IPv6 شما را در برابر حملات مختلف آسیبپذیر میکند و به هکر یکی دیگر از ابزارهای قابل بهرهبرداری را ارائه میدهد.
در عین حال، پیکربندی قوانین اساسی شبکه کافی نیست. شما باید به همان سطحی که برای IPv4 انجام میدهید، به تغییر پیکربندی IPv6 خود توجه کنید. انجام این کار (و همچنین حفظ و نگهداری) می تواند بسیار دردسرساز باشد. با IPv6 مجموعه ای از مشکلات متفاوت از مشکلات IPv4 (با توجه به قدمت این پروتکل می توان به بسیاری از آنها اشاره کرد) وجود دارد که به سیستم شما لایه دیگری از پیچیدگی می دهد.
همچنین مشاهده شده است که غیرفعال کردن IPv6 در برخی موارد به بهبود سرعت WiFi در اوبونتو کمک می کند.
غیرفعال کردن IPv6 در اوبونتو (فقط برای کاربران پیشرفته)
در این بخش، نحوه غیرفعال کردن پروتکل IPv6 را در دستگاه اوبونتو توضیح خواهم داد. یک ترمینال را باز کنید (پیشفرض: CTRL+ALT+T) و بیایید به آن برسیم!
توجه: برای اکثر دستوراتی که قرار است در ترمینال وارد کنید، به حقوق ریشه (sudo) نیاز دارید.
اگر یک کاربر معمولی لینوکس دسکتاپ هستید و سیستم کار پایدار را ترجیح می دهید، لطفا از این آموزش اجتناب کنید. این برای کاربران پیشرفته ای است که می دانند چه کاری انجام می دهند و چرا این کار را انجام می دهند.
1. IPv6 را با استفاده از Sysctl غیرفعال کنید
اول از همه، باید مطمئن شوید که IPv6 را روی سیستم خود فعال کرده اید. آدرس IP خود را در اوبونتو با این دستور بررسی کنید:
ip a
اگر یک آدرس IPv6 فعال باشد باید ببینید (نام کارت اینترنت شما ممکن است متفاوت باشد):
دستور sysctl را در آموزش راه اندازی مجدد شبکه در اوبونتو مشاهده کرده اید. در اینجا نیز قرار است از آن استفاده کنیم. برای غیرفعال کردن IPv6 فقط باید 3 دستور را وارد کنید:
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 را غیرفعال می کند. دفعه بعد که سیستم شما بوت می شود، IPv6 دوباره فعال می شود.
یکی از روش ها برای تداوم این گزینه تغییر /etc/sysctl.conf است. من از vim برای ویرایش فایل استفاده خواهم کرد، اما شما می توانید از هر ویرایشگری که دوست دارید استفاده کنید. مطمئن شوید که حقوق سرپرست دارید (از sudo استفاده کنید):
خطوط زیر را به فایل اضافه کنید:
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 (با حقوق ریشه) را ایجاد کنید.
⚠️ محتوای فایل برای نسخه های جدیدتر اوبونتو متفاوت است.
برای اوبونتو 22.04 و نسخههای قدیمیتر، از این در فایل /etc/rc.local استفاده کنید:
#!/bin/bash
# /etc/rc.local
/etc/sysctl.d
/etc/init.d/procps restart
exit 0
برای اوبونتو 24.04 و نسخه های جدیدتر، به جای آن از این استفاده کنید:
#!/bin/bash
# /etc/rc.local
/sbin/sysctl -p/etc/sysctl.conf
/etc/init.d/procps restart
exit 0
حالا از دستور chmod برای اجرایی کردن فایل استفاده کنید:
sudo chmod 755 /etc/rc.local
این به صورت دستی (در طول زمان بوت) پارامترهای هسته را از فایل پیکربندی sysctl شما می خواند.
2. IPv6 را با استفاده از GRUB غیرفعال کنید
یک روش جایگزین، پیکربندی GRUB برای ارسال پارامترهای هسته در زمان بوت است. باید /etc/default/grub را ویرایش کنید. یک بار دیگر، مطمئن شوید که دارای امتیازات مدیر هستید:
اکنون باید GRUB_CMDLINE_LINUX_DEFAULT و GRUB_CMDLINE_LINUX را تغییر دهید تا IPv6 را در بوت غیرفعال کنید:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash ipv6.disable=1"
GRUB_CMDLINE_LINUX="ipv6.disable=1"
فایل را ذخیره کنید و دستور update-grub را اجرا کنید:
sudo update-grub
اکنون تنظیمات باید در راه اندازی مجدد باقی بمانند.
فعال کردن مجدد IPv6 در اوبونتو
برای فعال کردن مجدد IPv6، باید تغییراتی را که ایجاد کرده اید لغو کنید. برای فعال کردن IPv6 تا راه اندازی مجدد، وارد کنید:
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=0
sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=0
در غیر این صورت، اگر /etc/sysctl.conf را تغییر دادید، می توانید خطوطی را که اضافه کرده اید حذف کنید یا آنها را به:
net.ipv6.conf.all.disable_ipv6=0
net.ipv6.conf.default.disable_ipv6=0
net.ipv6.conf.lo.disable_ipv6=0
میتوانید بهصورت اختیاری این مقادیر را دوباره بارگیری کنید:
sudo sysctl -p
شما باید یک بار دیگر یک آدرس IPv6 را ببینید:
به صورت اختیاری، می توانید /etc/rc.local را حذف کنید:
sudo rm /etc/rc.local
اگر پارامترهای هسته را در /etc/default/grub تغییر دادید، ادامه دهید و گزینه های اضافه شده را حذف کنید:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
حالا انجام دهید:
sudo update-grub
نتیجه
در این راهنما، راه هایی را به شما ارائه دادم که از طریق آنها می توانید IPv6 را در لینوکس غیرفعال کنید، و همچنین به شما ایده ای در مورد چیستی IPv6 و اینکه چرا می خواهید آن را غیرفعال کنید ارائه کردم.