Product SiteDocumentation Site

10.5. ‏IPv6

IPv6 هو الإصدار الجديد من بروتوكول IP اللاحق للإصدار IPv4، وهو مصمم لتصحيح عيوب IPv4 وأهمها قلة عناوين IP المتاحة. يتحكم هذا البروتوكول بطبقة الشبكة؛ وهو يهدف لتوفير وسيلة لعنونة الأجهزة، وإيصال البيانات إلى وجهتها الصحيحة، ومعالجة تجزئة البيانات عند الحاجة (أي تجزئة الحزم إلى قطع يعتمد حجمها على وصلات الشبكة المستخدمة على الطريق وإعادة تجميع هذه القطع بترتيبها الصحيح عند الاستلام).
تتضمن نوى دبيان دعم IPv6 في لب النواة (عدا بعض المعماريات التي تتضمن دعم IPv6 بشكل وحدة اسمها ipv6). هناك مكافِئات للأدوات الأساسية تعتمد IPv6 مثل ping6 التي تقابل ping وtraceroute6 التي تقابل traceroute، وهاتان متوفرتان في الحزمتين iputils-ping وiputils-tracepath.
يشبه إعداد شبكات IPv6 إعداد شبكات IPv4، عبر الملف /etc/network/interfaces. لكن إذا أردت أن تتاح الشبكة عالميًا، فعليك أن تتأكد أنك تملك موجهاً يدعم IPv6 لتوجيه حركة البيانات إلى شبكة 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 أقنعة من 64 بت عادة. هذا يعني وجود 264 عنوان مستقل ضمن الشبكة الفرعية. هذا يسمح لإعداد العناوين التلقائي SLAAC‏ (Stateless Address Autoconfiguration) باختيار عنوان IP اعتماداً على عنوان MAC الخاص بالوجهة الشبكية. افتراضياً، إذا كان SLAAC مفعلاً على الشبكة، وكان IPv6 مفعلاً على الحاسب، فسوف تعثر النواة آلياً على موجهات الشبكة وتضبط الواجهات الشبكية.
لكن هذا السلوك قد يضر بالخصوصية. فإذا كنت تتنقل بين الشبكات كثيراً، مع حاسبك المحمول مثلاً، قد لا تريد أن يكون عنوان MAC الخاص بك جزءاً من عنوان IPv6 العمومي، لأن هذا يسهل التعرف على الجهاز نفسه بين الشبكات. من حلول هذه القضية استخدام إضافات الخصوصية للبروتوكول IPv6 (التي تفعلها دبيان افتراضياً إذا اكتشفت اتصال IPv6 أثناء التثبيت الأولي)، التي تعين عنواناً إضافياً مولداً عشوائياً للواجهة الشبكية، وتغيره دورياً وتفضل استخدامه للاتصالات الصادرة. أما الاتصالات الواردة فتستطيع استخدام العنوان الذي يولده SLAAC. المثال التالي، وهو جزء من ملف /etc/network/interfaces، يُفَعّل إضافات الخصوصية هذه.

مثال 10.11. إضافات الخصوصية في IPv6

iface eth0 inet6 auto
    # Prefer the randomly assigned addresses for outgoing connections.
    privext 2
يمكن تقييد اتصالات IPv6 بنفس أسلوب IPv4: إذ تتضمن النَوَى القياسية في دبيان تعديلاً لـnetfilter للتعامل مع IPv6. يتم إعداد netfilter الذي يعمل مع IPv6 بأسلوب يشبه مقابله الذي يعمل مع IPv4، فيما عدا أن البرنامج الذي يجب استعماله هو ip6tables بدلاً من iptables.

10.5.1. الأنفاق

إذا لم يكن اتصال IPv6 الnative متوفراً، يمكن استخدام نفق عبر IPv4 كحل بديل. Gogo6 هو أحد مزودي هذه الأنفاق (مجاناً):
لاستخدام نفق Freenet6، عليك التسجيل بحساب Freenet6 Pro على الموقع، ثم تثبيت حزمة 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
بعدها يصبح الجهاز موجه الوصول لشبكة فرعية ذات بادئة طولها 56 بت. بعد أن يعلم النفق بهذا التعديل، يجب إعلام الشبكة المحلية به؛ وهذا يتضمن تثبيت الخدمة radvd (من الحزمة ذات الاسم نفسه). تؤدي خدمة إعداد IPv6 هذه دوراً مشابهاً لخدمة dhcpd في عالم IPv4.
يجب بعدها إنشاء ملف الإعداد /etc/radvd.conf (استعن بالملف /usr/share/doc/radvd/examples/simple-radvd.conf كنقطة انطلاق). في حالتنا، التغيير الوحيد المطلوب هو تغيير البادئة، التي يجب استبدالها بالبادئة التي يقدمها Freenet6؛ يمكن العثور عليها في مخرجات الأمر ifconfig، في القسم المتعلق بالواجهة tun.
بعدها استدع الأمر service gogoc restart والأمر service radvd start، ويجب عندها أن تعمل شبكة IPv6.