آخر تحديث: 29-01-2026
هناك خطأ فني تم تحديده في الأنظمة القائمة على VirtFusion في C-Servers قبل 29-01-2026، حيث يقوم cloud-init بنشر IPv6 بشكل غير صحيح على تكوين توجيه Netplan، عند تثبيت أي نظام تشغيل Ubuntu (18.04 أو 20.04 أو 22.04 أو 24.04). الأعراض الشائعة هي فقدان حزم عالية جدًا (90٪+) أو عدم وجود اتصال IPv6 على الإطلاق، حصريًا على الأنظمة القائمة على Ubuntu، مع استمرار عمل IPv4 بشكل صحيح.
ويرجع ذلك إلى إهمال المعلمة ”gateway“ على Ubuntu، التي كانت تستخدمها cloud-init سابقًا، واستبدالها بالمعلمة ”routes“. تحتوي هذه المعلمة، الخاصة بـ Ubuntu فقط، على معلمات Router Advertising (RA) غير صحيحة، مع عنوان IPv6 طويل جدًا لا يستخدم لأي غرض.
بعد التحدث إلى دعم VirtFusion، أصبح لدينا الآن طريقة لإصلاح هذه المشكلة: جعل Ubuntu لا يقبل RA.
هناك حل لهذه المشكلة - وهو بسيط
الحل الذي سنقدمه يعمل مع جميع إصدارات Ubuntu التي نقدمها، بدءًا من 18.04 حتى 24.04 LTS.
ومع ذلك، يعمل هذا الحل بشكل افتراضي في كثير من الحالات على Ubuntu 24.04 LTS ببساطة مع التهيئة المسبقة الحالية التي جربناها، مما يعني أنه إذا كنت ترغب في استخدام Ubuntu 24.04 LTS، فقد تكون إعادة التثبيت هي الشيء الوحيد الضروري لإعادة تشغيل IPv6 مرة أخرى. بغض النظر عن نجاح ذلك أم لا، سنقدم أدناه التكوينات اللازمة لإعادة تشغيل IPv6 لجميع إصدارات Ubuntu.
بالنسبة إلى Ubuntu 20.04 LTS و 22.04 LTS و 24.04 LTS
إذا قمت بإعادة تثبيت إصدار Ubuntu بعد 29-01-2026، فقد قامت C-Servers بإصلاح هذا الأمر تلقائيًا لك على جميع الإصدارات وجميع القوالب. إذا لم يكن لديك اتصال IPv6 لسبب ما بعد التثبيت، فهذا بسبب خطأ في cloud-init، ويمكنك ببساطة كتابة الأمر التالي:
sudo systemctl restart systemd-networkd
وسيعمل على الفور. يعمل IPv6 بشكل مستمر عبر عمليات إعادة التشغيل.
إذا كنت تقوم بالتثبيت من ISO أو إذا لم يعمل هذا، فستحتاج إلى التأكد من تثبيت حزم cloud-init و qemu-guest-agent والقيام بالخيار 2 المكتوب أدناه.
إذا كنت قد قمت بتثبيت إصدار Ubuntu قبل 29-01-2026، ولا تريد إعادة تثبيت النظام: الفرق الوحيد هو أنه نظرًا لعدم وجود ملف مخصص من القالب، ستقوم بإنشاء ملف جديد في مجلد Netplan، بنفس النص بالضبط. تحقق من اسم الواجهة باستخدام:
ip -6 addr
إذا رأيت شيئًا مثل ”enp3s0“ أو ”enp4s0“ أو أي اسم آخر مثل ’eth0‘ أو ”ens3“، فهذا هو اسم الواجهة.
بعد تأكيد الاسم، يمكنك الوصول إلى مجلد Netplan كما هو مكتوب أعلاه (”cd /etc/netplan“) وإنشاء ملف جديد باسم ”99-user-conf.yaml“ كما يلي:
sudo nano 99-usr-conf.yaml
سيظهر Nano ”ملف جديد“ - وهو كذلك بالفعل - وستقوم ببساطة بنسخ ولصق النص التالي، مع تكييف اسم الواجهة مع اسم واجهتك بالضبط كما رأيت من قبل:
network: version: 2 ethernets: enp3s0: accept-ra: false
Ctrl+O للحفظ، Enter لقبول الحفظ، Ctrl+X للخروج، ونفس إعادة تشغيل خدمة systemd-networkd:
sudo systemctl restart systemd-networkd
ويمكنك التأكد من أنك لم تعد تمتلك عنوان IPv6 الطويل هذا، عن طريق تنفيذ الأمر ”ip“:
ip -6 addr
أخيرًا، يمكنك التأكد من أن لديك الآن اتصال IPv6 صحيح عن طريق تنفيذ الأمر ”ping“:
ping google.com
سيكون الإعداد الافتراضي هو IPv6 وسيعمل الآن بشكل صحيح. هذا التغيير مستمر أيضًا عبر عمليات إعادة التشغيل.
بالنسبة إلى Ubuntu 18.04 LTS x86
بالنسبة إلى Ubuntu 18.04 LTS على وجه التحديد، تختلف التعليمات قليلاً. على الرغم من تنفيذ الإصلاح على النظام، إلا أنه لا يتم تفعيله تلقائيًا عند التثبيت، ولكن الواجهة الافتراضية صحيحة بشكل افتراضي (ens3)، لذا فإن تغييرها لا يحل مشكلة IPv6.
ما يجب القيام به هو:
1. إعادة تثبيت Ubuntu 18.04 LTS على نظامك، بغض النظر عن الحالة الحالية للنظام؛
2. بعد تسجيل الدخول وإتمام كل شيء، ما عليك سوى تشغيل الأمر التالي:
sudo systemctl restart systemd-networkd
وستحصل على الفور على اتصال IPv6، والذي سيكون ثابتًا أيضًا بعد إعادة التشغيل.
تم اختبار هذا بنجاح على جميع إصدارات Ubuntu.