Product SiteDocumentation Site

10.5. IPv6

IPv6، ادامه دهنده راه IPv4، نسخه جدیدی از پروتکل IP است که برای حل مشکلات قدیمی آن طراحی شده است، به خصوص محدودیت در تعداد نشانی‌های IP موجود. این پروتکل با لایه شبکه سر و کار دارد؛ هدف آن فراهم کردن راهی برای نشانی‌دهی به رایانه‌ها است به صورتی که داده را به مقصد خود هدایت و در صورت نیاز گسستگی داده را مدیریت کنند (به عبارت دیگر، کوجک‌کردن بسته‌ها متناسب با اندازه شبکه به صورتی که در مقصد به همان ترتیب ارسالی، دریافت گردند).
کرنل‌های دبیان از IPv6 در هسته خود بهره می‌برند (به استثنا معماری‌هایی که آن را به صورت یک ماژول با نام ipv6 قرار داده‌اند). ابزار پایه‌ای مانند ping و traceroute معادل IPv6 خود را با نام‌های ping6 و traceroute6 دارا هستند که این ابزارها در بسته‌های iputils-ping و iputils-tracepath قرار گرفته‌اند.
شبکه IPv6 نیز مشابه با IPv4 در فایل /etc/network/interfaces پیکربندی می‌شود. اما اگر می‌خواهید این شبکه از خارج نیز قابل دسترس باشد به مسیریابی نیاز دارید که توانایی مدیریت بسته‌های IPv6 را دارا باشد.

مثال 10.10. نمونه‌ای از پیکربندی IPv6

iface eth0 inet6 static
    address 2001:db8:1234:5::1:1
    netmask 64
    # Disabling auto-configuration
    # autoconf 0
    # The router is auto-configured and has no fixed address
    # (accept_ra 1). If it had:
    # gateway 2001:db8:1234:5::1
زیرشبکه‌های IPv6 معمولا netmask برابر با ۶۴ بیت دارند. این به معنی وجود 264 نشانی منحصربفرد در زیرشبکه است. Stateless Address Autoconfiguration یا SLAAC امکان انتخاب یک نشانی بر اساس نشانی MAC رابط شبکه داخلی را پیدا می‌کند. به صورت پیشفرض، اگر SLAAC روی شبکه شما و IPv6 روی رایانه شما فعال باشند، کرنل به صورت خودکار مسیریاب‌های IPv6 را پیدا کرده و رابط‌های شبکه را مطابق با آن پیکربندی می‌کند.
این عملکرد ممکن است پیامدهای نقض حریم خصوصی داشته باشد. اگر به صورت مداوم بین شبکه‌ها سوئیچ می‌کنید، مانند یک لپ‌تاپ، شاید نخواهید که نشانی MAC شما بخشی از نشانی IPv6 باشد. اینکار به تشخیص دستگاه مشابه در همان شبکه کمک می‌کند. راه حل این مشکل افزونه‌های حریم‌خصوصی IPv6 هستند (که دبیان به صورت پیشفرض فعال دارد اگر ارتباط IPv6 طی فرآیند نصب اولیه تشخیص داده شود) که به صورت خودکار یک عدد تصادفی را به رابط شبکه اختصاص می‌دهند، آن‌ها را به صورت مداوم تغییر داده و برای ارتباطات ارسالی از آن‌ها استفاده می‌کنند. ارتباطات دریافتی نیز می‌توانند از نشانی تولید شده توسط SLACC استفاده کنند. نمونه پیش رو، برای استفاده در /etc/network/interfaces، این افزونه‌های حریم‌خصوصی را فعال می‌کند.

مثال 10.11. افزونه‌های حریم‌خصوصی IPv6

iface eth0 inet6 auto
    # Prefer the randomly assigned addresses for outgoing connections.
    privext 2
ارتباطات IPv6 می‌توانند محدود شوند، به همان شیوه IPv4: کرنل‌های استاندارد دبیان شامل یک برنامه منطبق بر netfilter هستند. این netfilter مبتنی بر IPv6 به شیوه‌ای مشابه با معادل IPv4 خودر پیکربندی می‌شود، بجز برنامه‌ای که از آن استفاده می‌کند ip6tables است و نه iptables.

10.5.1. تونل‌زنی

اگر یک ارتباط واقعی IPv6 قابل برقراری نباشد، شیوه جایگزین آن استفاده از یک تونل مبتنی بر IPv4 است. Gogo6 یک ارائه دهنده (آزاد) چنین تونل‌هایی است:
برای استفاده از یک تونل Freenet6، نیاز دارید که یک حساب کاربری رسمی در وبسایت Freenet6 بسازید، سپس بسته gogoc را نصب کرده و تونل را پیکربندی کنید. اینکار نیازمند ویرایش فایل /etc/gogoc/gogoc.conf است: userid و password که توسط ایمیل دریافت می‌گردند باید پر شوند و خط server باید با authenticated.freenet6.net جایگزین گردد.
با افزودن سه دستور زیر در فایل /etc/gogoc/gogoc.conf، ارتباطات IPv6 به صورت خودکار روی رایانه‌های شبکه محلی تنظیم خواهد شد (با فرض اینکه شبکه محلی به رابط eth0 متصل باشد):
host_type=router
prefixlen=56
if_prefix=eth0
رایانه به یک مسیریاب موجود برای زیرشبکه با پسوند ۵۶-بیت تبدیل خواهد شد. زمانی که تونل از این تغییر اطلاع یابد، اما شبکه محلی باید از این تغییر آگاه شود؛ اینکار نیازمند فرآیند پس‌زمینه radvd (از بسته‌ای مشابه همین نام) است. این پیکربندی فرآیند پس‌زمینه IPv6 نقش مشابهی مانند dhcpd در دنیای IPv4 دارد.
فایل پیکربندی /etc/radvd.conf سپس باید ایجاد گردد (برای شروع به فایل /usr/share/doc/radvd/examples/simple-radvd.conf مراجعه کنید). در مورد ما، تنها تغییر مورد نیاز پیشوند است که باید با عبارت جایگزین ارائه شده توسط Freenet6 تغییر یابد؛ می‌تواند در خروجی دستور ifconfig پیدا شود، در بلاکی که مرتبط با رابط tun است.
سپس دستورات service gogoc restart و service gogoc start را اجرا کرده تا شبکه IPv6 به خوبی کار کند.