شبكات المكدس المزدوج: تشغيل IPv4 و IPv6 معاً
تعلم كيفية نشر وإدارة شبكات المكدس المزدوج حيث يتعايش IPv4 و IPv6. يغطي التكوين واستكشاف الأخطاء وإصلاحها واستراتيجيات الانتقال.
ما هو شبكات المكدس المزدوج#
المكدس المزدوج يعني تشغيل كل من IPv4 و IPv6 في وقت واحد على نفس البنية التحتية للشبكة. كل جهاز يحصل على عنوان IPv4 وعنوان IPv6. تختار التطبيقات تلقائياً أي بروتوكول تستخدمه بناءً على التوفر والتفضيل.
هذا هو نهج الانتقال الموصى به لمعظم المنظمات. لا تحتاج إلى عطلة نهاية أسبوع للترحيل أو تحويل الخدمة. يستمر IPv4 في العمل بينما تمكّن IPv6 تدريجياً. لا يرى العملاء الحاليون أي انقطاع. يحصل العملاء القادرون على IPv6 على اتصال أصلي. تهاجر بوتيرتك الخاصة.
يعكس الاعتماد في العالم الحقيقي هذا. وفقاً لإحصائيات جوجل، يصل أكثر من 40٪ من المستخدمين إلى خدماتهم عبر IPv6. معظم الشبكات الرئيسية - شركات المحمول ومزودي السحابة وشبكات توصيل المحتوى - تعمل بمكدس مزدوج اليوم. إنه لم يعد تجريبياً. إنه معيار الإنتاج.
TL;DR - ملخص سريع
النقاط الرئيسية:
- المكدس المزدوج يشغل IPv4 وIPv6 في وقت واحد—لا حاجة لتحويل الترحيل
- تفضل التطبيقات تلقائياً IPv6 (خوارزمية Happy Eyeballs) مع عودة سريعة لـ IPv4
- حرج: تطبيق سياسات أمان متطابقة على كلا البروتوكولين (قواعد جدار الحماية، ACLs)
- يجب أن ينشر DNS كلاً من سجلات A وAAAA لخدمات المكدس المزدوج
- مراقبة كلا البروتوكولين بشكل مستقل—فشل IPv6 يمكن أن يختبئ وراء عودة IPv4
انتقل إلى: أمثلة التكوين | قواعد اختيار العنوان | الأمان | استكشاف الأخطاء
كيف يعمل المكدس المزدوج#
في شبكة مكدس مزدوج، تحمل كل واجهة مكدسين شبكيين. قد يكون للخادم 192.0.2.10 لـ IPv4 و 2001:db8::10 لـ IPv6. كلا العنوانين يعملان بشكل مستقل. يمكن أن تتدفق حركة المرور عبر أي من البروتوكولين حسب ما يتفاوض عليه العميل والخادم.
┌──────────────────────────────────────┐
│ Application (curl, browser) │
│ Uses DNS to find addresses │
├──────────────────────────────────────┤
│ TCP/UDP (Agnostic) │
├───────────────────┬──────────────────┤
│ IPv4 Stack │ IPv6 Stack │
│ 192.0.2.10 │ 2001:db8::10 │
│ Routes via gw1 │ Routes via gw2 │
└───────────────────┴──────────────────┘
│ │
IPv4 Network IPv6 Networkتحتفظ طبقة الشبكة بجداول توجيه منفصلة. حزم IPv4 تتبع مسارات IPv4. حزم IPv6 تتبع مسارات IPv6. لا تتداخل مع بعضها البعض.
سلوك التطبيق: Happy Eyeballs#
لا تختار التطبيقات يدوياً بين البروتوكولات. يتعامل نظام التشغيل مع اختيار البروتوكول باستخدام خوارزمية تسمى "Happy Eyeballs" (RFC 8305). فهم هذا يساعد في تصحيح مشاكل الاتصال.
العملية:
- يطلب التطبيق الاتصال بـ
example.com - يرجع DNS كلاً من سجلات A (IPv4) و AAAA (IPv6)
- يحاول نظام التشغيل اتصال IPv6 أولاً
- بعد تأخير 50-250 مللي ثانية (يختلف حسب التنفيذ)، يبدأ نظام التشغيل اتصال IPv4 بالتوازي
- أي اتصال يكتمل أولاً يفوز
- النتيجة تُخزن مؤقتاً للاتصالات اللاحقة
هذا يضمن حصول المستخدمين على أسرع اتصال متاح دون انتظار مهلات زمنية. IPv6 يحصل على الأولوية، لكن IPv6 المعطل لن يسبب تأخيرات مرئية للمستخدم تتجاوز جزء من الثانية.
اختبر هذا السلوك باستخدام أداة Ping ضد وجهات المكدس المزدوج. قارن أوقات استجابة IPv4 و IPv6.
DNS يرجع كلا نوعي السجلات#
في المكدس المزدوج، تنشر خوادم DNS كلاً من سجلات A و AAAA لنفس اسم المضيف:
$ dig example.com A +short
192.0.2.10
$ dig example.com AAAA +short
2001:db8::10يستعلم العملاء عن كلا النوعين (أو يستخدمون تركيب DNS64 في الشبكات التي تعمل بـ IPv6 فقط). يرجع المحلل أي سجلات موجودة. إذا كان A فقط موجوداً، يستخدم العميل IPv4. إذا كان كلاهما موجوداً، Happy Eyeballs يقرر.
أمثلة التكوين#
تكوين المكدس المزدوج بسيط على الأنظمة الحديثة. معظمها يدعم التكوين التلقائي عبر SLAAC (التكوين التلقائي للعنوان بدون حالة) أو DHCPv6.
Linux: Netplan (Ubuntu)#
تستخدم Ubuntu الحديثة Netplan لتكوين الشبكة. عدّل /etc/netplan/01-netcfg.yaml:
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: true
dhcp6: true
accept-ra: trueالإعدادات الأساسية:
dhcp4: true- احصل على IPv4 عبر DHCPdhcp6: true- احصل على IPv6 عبر DHCPv6accept-ra: true- اقبل إعلانات الموجه لـ SLAAC
طبّق التكوين:
sudo netplan applyتحقق من كلا البروتوكولين:
ip addr show eth0
# Look for both "inet" (IPv4) and "inet6" (IPv6) addressesLinux: NetworkManager (Fedora, RHEL, CentOS)#
باستخدام واجهة سطر أوامر NetworkManager:
# Enable both protocols on your connection
nmcli connection modify "Wired connection 1" ipv4.method auto
nmcli connection modify "Wired connection 1" ipv6.method auto
# Apply changes
nmcli connection up "Wired connection 1"
# Verify configuration
nmcli device show eth0للتكوين الثابت للمكدس المزدوج:
# Configure static IPv4 and IPv6
nmcli connection modify "Wired connection 1" \
ipv4.method manual \
ipv4.addresses 192.0.2.10/24 \
ipv4.gateway 192.0.2.1 \
ipv6.method manual \
ipv6.addresses 2001:db8::10/64 \
ipv6.gateway 2001:db8::1
nmcli connection up "Wired connection 1"Windows 10/11#
يمكّن Windows المكدس المزدوج افتراضياً. للتحقق أو إعادة التكوين:
طريقة واجهة المستخدم الرسومية:
- اضغط
Win + R، اكتبncpa.cpl، اضغط Enter - انقر بزر الماوس الأيمن على محول الشبكة ← الخصائص
- تحقق من أن كلا البروتوكولين محددين:
- Internet Protocol Version 4 (TCP/IPv4)
- Internet Protocol Version 6 (TCP/IPv6)
- قم بتكوين خصائص كل بروتوكول حسب الحاجة
طريقة PowerShell:
# Check current configuration
Get-NetIPAddress -InterfaceAlias "Ethernet"
# Enable automatic configuration for both protocols
Set-NetIPInterface -InterfaceAlias "Ethernet" -Dhcp Enabled
Set-NetIPInterface -InterfaceAlias "Ethernet" -AddressFamily IPv6 -Dhcp Enabled
# Or configure static addresses
New-NetIPAddress -InterfaceAlias "Ethernet" `
-IPAddress 192.0.2.10 -PrefixLength 24 -DefaultGateway 192.0.2.1
New-NetIPAddress -InterfaceAlias "Ethernet" `
-IPAddress 2001:db8::10 -PrefixLength 64 -DefaultGateway 2001:db8::1
# Verify
Get-NetIPAddress -InterfaceAlias "Ethernet"
Get-NetRoute -InterfaceAlias "Ethernet"موجه Linux مع radvd#
لتكوين نظام Linux كموجه مكدس مزدوج، مكّن إعادة التوجيه وشغّل خفي إعلان الموجه.
تمكين إعادة توجيه IP:
# Temporary
sudo sysctl -w net.ipv4.ip_forward=1
sudo sysctl -w net.ipv6.conf.all.forwarding=1
# Permanent
echo "net.ipv4.ip_forward = 1" | sudo tee -a /etc/sysctl.conf
echo "net.ipv6.conf.all.forwarding = 1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -pتثبيت وتكوين radvd:
sudo apt install radvd # Ubuntu/Debian
# or
sudo dnf install radvd # Fedora/RHELعدّل /etc/radvd.conf:
interface eth0
{
AdvSendAdvert on;
MinRtrAdvInterval 3;
MaxRtrAdvInterval 10;
prefix 2001:db8::/64
{
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr on;
};
RDNSS 2001:4860:4860::8888 2001:4860:4860::8844
{
};
};ابدأ الخدمة:
sudo systemctl enable radvd
sudo systemctl start radvdسيتلقى العملاء على شبكة eth0 الآن إعلانات الموجه ويكونون عناوين IPv6 تلقائياً عبر SLAAC.
موجه Cisco IOS#
قم بتكوين المكدس المزدوج على موجه Cisco:
! Enable IPv6 routing
ipv6 unicast-routing
! Configure WAN interface (dual-stack)
interface GigabitEthernet0/0
description WAN
ip address dhcp
ipv6 address autoconfig
ipv6 enable
no shutdown
! Configure LAN interface (dual-stack)
interface GigabitEthernet0/1
description LAN
ip address 192.168.1.1 255.255.255.0
ipv6 address 2001:db8:1::1/64
ipv6 enable
ipv6 nd prefix 2001:db8:1::/64
ipv6 nd ra interval 10
no shutdown
! Configure default routes
ip route 0.0.0.0 0.0.0.0 GigabitEthernet0/0
ipv6 route ::/0 GigabitEthernet0/0
! Verify configuration
show ip interface brief
show ipv6 interface briefSLAAC مقابل DHCPv6
إعلانات الموجه تمكّن SLAAC، الذي يكوّن عناوين العملاء تلقائياً دون خادم DHCP. لمزيد من التحكم (خوادم DNS، NTP، أسماء النطاقات)، استخدم DHCPv6 جنباً إلى جنب مع SLAAC. معظم الشبكات تشغّل SLAAC للبساطة.
قواعد اختيار العنوان#
عندما يتصل عميل مكدس مزدوج بخادم مكدس مزدوج، كيف يختار أي بروتوكول يستخدم؟ يحدد RFC 6724 خوارزمية اختيار عنوان المصدر والوجهة.
ترتيب التفضيل الافتراضي#
تقيّم الخوارزمية العناوين بناءً على هذه القواعد (مبسطة):
- فضّل نفس النطاق - محلي للوصلة إلى محلي للوصلة، عالمي إلى عالمي
- فضّل عائلة العناوين المطابقة - إذا كان المصدر IPv6، فضّل وجهة IPv6
- فضّل الأولوية الأعلى - IPv6 لديه أولوية افتراضية أعلى من IPv4
- فضّل النقل الأصلي - تجنب النفق إذا أمكن
- فضّل النطاق الأصغر - فضّل المسارات الأكثر تحديداً
- استخدم أطول بادئة مطابقة - المسارات الأكثر تحديداً تفوز
افتراضياً، يحصل IPv6 على الأفضلية على IPv4. هذا مقصود - إنه يشجع اعتماد IPv6 ويوفر أداءً أفضل (لا حمل NAT).
لماذا IPv6 عادةً يفوز#
بالنظر إلى عميل مكدس مزدوج وخادم مكدس مزدوج:
Client has: 192.0.2.100 and 2001:db8::100
Server has: 192.0.2.10 and 2001:db8::10
DNS returns: A 192.0.2.10, AAAA 2001:db8::10خوارزمية الاختيار:
- كلا العنوانين لهما نطاق عالمي → تعادل
- العميل لديه كلا عناوين مصدر IPv4 و IPv6 → تعادل
- أولوية IPv6 (::ffff:0:0/96 = 35، ::/0 = 40) > أولوية IPv4 (::ffff:0:0/96 = 35) → IPv6 يفوز
النتيجة: يستخدم الاتصال IPv6 إلا إذا كان اتصال IPv6 معطلاً.
تكوين جدول السياسة#
يمكنك تعديل السلوك الافتراضي عن طريق تحرير جدول السياسة. هذا نادراً ما يكون ضرورياً، لكنه مفيد لمتطلبات محددة.
Linux (Glibc):
عدّل /etc/gai.conf (سياسة اختيار العنوان):
# Prefer IPv4 over IPv6 (not recommended)
precedence ::ffff:0:0/96 100
precedence ::/0 50Windows:
# Show current policy table
Get-NetIPv6Protocol | Format-List
# Prefer IPv4 (not recommended)
Set-NetIPv6Protocol -PreferredProtocol IPv4
# Reset to default (prefer IPv6)
Set-NetIPv6Protocol -PreferredProtocol IPv6لا تفرض تفضيل IPv4
تجاوز الافتراضي لتفضيل IPv4 يهزم غرض المكدس المزدوج. أصلح اتصال IPv6 المعطل بدلاً من إخفائه بتغييرات السياسة. سيكون لدى المستخدمين على الشبكات التي تعمل بـ IPv6 فقط (شركات المحمول) أداء منخفض أو إخفاقات.
عندما يُفضل IPv4#
يتم اختيار IPv4 في هذه السيناريوهات:
- لا اتصال IPv6 - إذا كان توجيه IPv6 معطلاً، يرجع Happy Eyeballs إلى IPv4
- 6to4 أو Teredo - IPv6 النفقي لديه أولوية أقل من IPv4 الأصلي
- اختيار تطبيق صريح - التطبيق يفرض IPv4 (ممارسة سيئة لكنها تحدث)
- جدول سياسة معدّل - المسؤول غيّر ترتيب التفضيل يدوياً
معظم المشاكل الموسومة "IPv4 مفضل" هي في الواقع اتصال IPv6 معطل يؤدي إلى الرجوع.
اعتبارات DNS#
تكوين DNS للمكدس المزدوج حرج. DNS المُسيء إعداده يسبب تأخيرات الاتصال أو الإخفاقات أو اختيار البروتوكول غير المتوقع.
نشر كلا نوعي السجلات#
لكل خدمة مكدس مزدوج، انشر كلاً من سجلات A و AAAA:
example.com. 300 IN A 192.0.2.10
example.com. 300 IN AAAA 2001:db8::10لا تنشر AAAA إذا لم يكن IPv6 يعمل. سيجرب العملاء IPv6 أولاً، يفشلون، ثم يرجعون إلى IPv4 بعد تأخير. هذا ينشئ تجربة مستخدم سيئة.
ترتيب الحل#
محللات DNS الحديثة تستعلم عن A و AAAA في وقت واحد أو بحد أدنى من التأخير. يرجع المحلل كلا النوعين، ويقوم نظام تشغيل العميل باختيار العنوان.
بعض المحللات القديمة أو المُسيئة الإعداد تستعلم بالتسلسل (A أولاً، ثم AAAA). هذا يضيف زمن انتقال لكن لا يكسر الوظيفة.
ما يحدث عندما يفشل بروتوكول واحد#
إذا كان IPv6 قابلاً للوصول لكن الخدمة لا تستجيب على IPv6:
- يحاول العميل اتصال IPv6
- ينتهي وقت الاتصال أو يُرفض
- يجرب Happy Eyeballs IPv4 بالتوازي أو بعد تأخير قصير
- ينجح اتصال IPv4
إجمالي التأخير: عادةً 50-250 مللي ثانية بالإضافة إلى مهلة الاتصال (1-3 ثوانٍ في أسوأ الحالات). ملحوظ لكن ليس كارثياً.
الحل الأفضل: أصلح اتصال IPv6 أو احذف سجلات AAAA حتى يعمل IPv6.
محاذاة TTL#
حدد نفس TTL لسجلات A و AAAA. TTLs غير المطابقة تسبب تخزيناً مؤقتاً غير متسق وسلوك عميل غريب.
# Good
example.com. 300 IN A 192.0.2.10
example.com. 300 IN AAAA 2001:db8::10
# Bad - mismatched TTLs
example.com. 300 IN A 192.0.2.10
example.com. 3600 IN AAAA 2001:db8::10إذا كنت بحاجة إلى تغيير عناوين IP، اخفض TTL على كلا السجلين مسبقاً. انتظر انتهاء TTL القديم، ثم غيّر IPs واستعد TTL الطبيعي.
المشاكل الشائعة والحلول#
| المشكلة | السبب | الحل |
|---|---|---|
| إنشاء اتصال بطيء | مهلة IPv6 ثم رجوع IPv4 | أصلح اتصال IPv6 أو احذف سجلات AAAA |
| إخفاقات اتصال متقطعة | بروتوكول واحد معطل، Happy Eyeballs يتسابق | اختبر كلا البروتوكولين بشكل مستقل مع curl -4 و curl -6 |
| التطبيق يستخدم IPv4 فقط | IPv4 مشفر، مكتبة قديمة، أو يربط بـ 0.0.0.0 | تحقق من إعدادات التطبيق، حدّث الكود لربط :: |
| لا مسار افتراضي IPv6 | الموجه لا يرسل RAs أو DHCPv6 لا يوفر مساراً | تحقق من تكوين الموجه، تحقق من ip -6 route show |
| Windows يفضل IPv4 | Teredo أو 6to4 نشط (نفق) | عطّل واجهات النفق: netsh interface teredo set state disabled |
| الجدار الناري يحجب IPv6 | قواعد IPv6 غير مكونة أو مقيدة جداً | طبّق نفس سياسة الأمان على كلا البروتوكولين |
| تغيير عنوان الخصوصية يعطل الاتصالات | عناوين RFC 4941 المؤقتة تدور | استخدم عناوين مستقرة للخوادم، مؤقتة للعملاء |
| فشل اكتشاف MTU للمسار | ICMPv6 "Packet Too Big" محجوب | اسمح بنوع ICMPv6 2 في قواعد الجدار الناري |
استكشاف أخطاء تفصيلي: اتصالات بطيئة#
معظم شكاوى المكدس المزدوج تتضمن اتصالات "بطيئة". هذا عادةً يعني IPv6 معطل أو مُسيء الإعداد يؤدي إلى تأخيرات مهلة زمنية قبل الرجوع إلى IPv4.
التشخيص:
# Test IPv4 only
curl -4 -w "Time: %{time_total}s\n" -o /dev/null -s https://example.com
# Test IPv6 only
curl -6 -w "Time: %{time_total}s\n" -o /dev/null -s https://example.com
# Test default (dual-stack)
curl -w "Time: %{time_total}s\n" -o /dev/null -s https://example.comإذا فشل -6 أو انتهى وقته، لكن -4 ينجح، والافتراضي يظهر تأخيرات، لديك IPv6 معطل.
خيارات الإصلاح:
- أصلح IPv6 - الحل المفضل. صحّح التوجيه أو قواعد الجدار الناري أو اتصال مزود خدمة الإنترنت.
- احذف سجلات AAAA - حل مؤقت. تصبح الخدمة IPv4 فقط حتى تصلح IPv6.
- لا تعطّل IPv6 على الخوادم - هذا يعطل الأشياء ويخفي المشكلة الحقيقية.
مراقبة شبكات المكدس المزدوج#
لا يمكنك إدارة ما لا تقيسه. تتطلب شبكات المكدس المزدوج مراقبة كلا البروتوكولين بشكل مستقل.
اختبار كلا البروتوكولين#
اختبر الاتصال بشكل منفصل لتحديد أي بروتوكول يفشل:
# Ping over IPv4
ping -4 google.com
# Ping over IPv6
ping -6 google.com
# Traceroute over IPv4
traceroute -4 google.com
# Traceroute over IPv6
traceroute -6 google.com
# Curl using specific protocol
curl -4 https://example.com
curl -6 https://example.comابنِ هذه الاختبارات في سكريبتات المراقبة. نبّه عندما يفشل بروتوكول واحد حتى لو عمل الآخر.
المقاييس للتتبع#
راقب هذه المقاييس الخاصة بالمكدس المزدوج:
- توزيع البروتوكول - نسبة حركة المرور باستخدام IPv4 مقابل IPv6
- معدل نجاح الاتصال - لكل بروتوكول، تتبع الاتصالات الفاشلة
- وقت الاستجابة - قارن زمن انتقال IPv4 و IPv6
- بوادئ BGP - تأكد من الإعلان عن كل من مسارات IPv4 و IPv6
- نسبة استعلام DNS - تتبع معدلات استعلام A مقابل AAAA
- معدلات خطأ ICMPv6 - الارتفاعات تشير إلى مشاكل توجيه أو MTU
الاتجاه في هذه المقاييس مع مرور الوقت يظهر تقدم الاعتماد ويسلط الضوء على المشاكل قبل أن تؤثر على المستخدمين.
التنبيه على إخفاقات البروتوكول#
أنشئ تنبيهات منفصلة لكل بروتوكول:
- بوابة IPv4 الافتراضية غير قابلة للوصول
- بوابة IPv6 الافتراضية غير قابلة للوصول
- سجل AAAA منشور لكن خدمة IPv6 غير قابلة للوصول
- ارتفاع في مهلات اتصال IPv6
- التوجيه غير المتماثل (حركة المرور مُرسلة عبر IPv6، مُرجعة عبر IPv4)
لا تعتمد على تنبيهات "الخدمة معطلة" العامة. تحتاج إلى رؤية خاصة بالبروتوكول.
أدوات الاختبار#
استخدم هذه الأدوات للتحقق من تشغيل المكدس المزدوج:
- أدوات ping6.net - اختبر اتصال IPv4 و IPv6 من منظورات مختلفة
- curl مع أعلام -4/-6 - افرض اختيار البروتوكول لاختبار HTTP(S)
- dig +short A/AAAA - تحقق من أن DNS يرجع كلا نوعي السجلات
- tcpdump/wireshark - التقط وحلل حركة مرور خاصة بالبروتوكول
- mtr -4 / mtr -6 - Traceroute مستمر يظهر اختلافات المسار
أداة Ping و أداة Traceroute تدعمان فرض IPv4 أو IPv6، مما يجعل اختبار المكدس المزدوج بسيطاً.
اعتبارات الأمان#
يوسع المكدس المزدوج سطح الهجوم. كلا البروتوكولين يحتاجان إلى سياسات أمان معادلة.
قواعد الجدار الناري لكلا البروتوكولين#
أكثر خطأ أمان شائع للمكدس المزدوج: نسيان تكوين قواعد جدار IPv6 الناري. يقضي المسؤولون سنوات في بناء ACLs لـ IPv4، ثم يمكّنون IPv6 بدون فلترة. المهاجمون يحبون هذا.
طبّق نفس سياسة الأمان على كلا البروتوكولين:
إذا كانت سياسة IPv4 هي:
DENY all inbound except:
- TCP 22 (SSH) from management network
- TCP 443 (HTTPS) from anywhere
- ICMP echo-request (ping)يجب أن تكون سياسة IPv6:
DENY all inbound except:
- TCP 22 (SSH) from management network
- TCP 443 (HTTPS) from anywhere
- ICMPv6 types 1,2,3,4,128,129 (essential types)
- ICMPv6 types 133-137 (Neighbor Discovery, local only)أدوات مثل ip6tables و nftables أو الجدران النارية التجارية تدعم المكدس المزدوج. قم بتكوين كلا عائلتي العناوين.
خطأ شائع: تأمين IPv4 لكن نسيان IPv6#
تمكّن المنظمات IPv6 للامتثال أو الاختبار، ثم تنسى أنه نشط. يفحص المهاجمون نطاقات IPv6 بحثاً عن مضيفين غير مفلترين.
مثال سيناريو:
- يكوّن المسؤول جدار IPv4 ناري مقيد، فقط HTTPS معرض
- يتم تمكين IPv6 على الموجه لـ "الجاهزية المستقبلية"
- يحصل الخادم على عنوان IPv6 عبر SLAAC
- لا قواعد جدار IPv6 ناري مكونة
- يفحص المهاجم 2001:db8::/64، يجد SSH معرض وقواعد بيانات وخدمات داخلية
الوقاية:
- راجع قواعد جدار IPv6 الناري نفس IPv4
- الرفض الافتراضي على كلا البروتوكولين
- اختبر بأدوات مسح IPv6 فقط
- راقب اتصالات IPv6 غير المتوقعة
فجوة أمان حرجة
تمكين IPv6 دون تكوين الجدران النارية معادل لوضع الخوادم مباشرة على الإنترنت بدون فلترة. قم دائماً بتكوين قواعد أمان IPv6 قبل نشر سجلات AAAA.
امتدادات الخصوصية للعملاء#
يولّد SLAAC عناوين باستخدام عنوان MAC للواجهة (تنسيق EUI-64). هذا ينشئ معرفاً مستقراً وقابلاً للتتبع عبر الشبكات - مشكلة خصوصية للعملاء المحمولين.
امتدادات الخصوصية (RFC 4941) تولّد عناوين مؤقتة عشوائية تدور دورياً. يستخدم العملاء عناوين مؤقتة للاتصالات الصادرة مع الحفاظ على عنوان مستقر للاتصالات الواردة.
تمكين امتدادات الخصوصية:
Linux:
# Check status (2 = prefer temporary addresses)
sysctl net.ipv6.conf.all.use_tempaddr
# Enable
sudo sysctl -w net.ipv6.conf.all.use_tempaddr=2
# Make permanent
echo "net.ipv6.conf.all.use_tempaddr = 2" | sudo tee -a /etc/sysctl.confWindows:
امتدادات الخصوصية ممكّنة افتراضياً على Windows 7 وما بعده. تحقق:
netsh interface ipv6 show privacymacOS:
ممكّن افتراضياً. لا يوجد تكوين مطلوب.
مهم: لا تمكّن امتدادات الخصوصية على الخوادم. العناوين المؤقتة تعطل DNS والمراقبة وقواعد الجدار الناري. استخدمها على أجهزة العملاء فقط.
متى تفكر في IPv6 فقط#
المكدس المزدوج هو استراتيجية انتقالية، وليس الهدف النهائي. في النهاية، تنتقل الشبكات إلى IPv6 فقط، مما يبسط العمليات ويلغي ندرة عناوين IPv4.
شركات المحمول تستخدم بالفعل IPv6 فقط#
تعمل شركات المحمول الرئيسية (T-Mobile USA، Reliance Jio، EE UK) على شبكات جوهرية IPv6 فقط. يستخدمون 464XLAT (NAT64 + CLAT) لتوفير اتصال IPv4 عند الحاجة.
لا يلاحظ المستخدمون. هواتفهم لديها عناوين IPv6، وتطبيقات IPv4 القديمة فقط تعمل بشفافية من خلال الترجمة.
NAT64/DNS64 للوصول إلى IPv4#
تصل الشبكات التي تعمل بـ IPv6 فقط إلى خدمات IPv4 باستخدام NAT64 و DNS64:
- يستعلم العميل DNS عن خدمة IPv4 فقط
- يُنشئ DNS64 سجل AAAA باستخدام بادئة NAT64:
64:ff9b::192.0.2.10 - يرسل العميل حركة مرور IPv6 إلى العنوان المُنشأ
- تترجم بوابة NAT64 إلى IPv4، تعيد التوجيه إلى الخدمة
- تُترجم الاستجابات إلى IPv6
هذا يسمح للعملاء الذين يعملون بـ IPv6 فقط بالوصول إلى إنترنت IPv4 المتبقي دون تشغيل مكدس مزدوج.
متى تنشر IPv6 فقط:
- شبكات المحمول (معيار بالفعل)
- بناء مركز بيانات جديد (تجنب IPv4 تماماً)
- نشر Greenfield بدون متطلبات قديمة
- منظمات لديها سيطرة كاملة على العملاء والتطبيقات
متى تحتفظ بالمكدس المزدوج:
- شبكات المؤسسات الحالية (تستغرق تبعيات IPv4 سنوات للإلغاء)
- شبكات بأجهزة/برامج قديمة
- بيئات حيث لا تتحكم في جميع العملاء
- خدمات تواجه الإنترنت (المكدس المزدوج يزيد من قابلية الوصول)
فوائد التبسيط#
تشغيل بروتوكول واحد بدلاً من اثنين يقلل:
- حجم جدول التوجيه (جدول واحد بدلاً من اثنين)
- تعقيد الجدار الناري (سياسة واحدة بدلاً من اثنتين)
- حمل إدارة عنوان IP
- تعقيد المراقبة والتنبيه
لكن هذه الفوائد تتحقق فقط بعد إلغاء IPv4 تماماً. المكدس المزدوج أكثر تعقيداً من IPv4 فقط أو IPv6 فقط، لكنه مسار الترحيل العملي الوحيد لمعظم الشبكات.
مقالات ذات صلة#
- استراتيجيات ترحيل IPv6 - اختر نهج الترحيل الصحيح لشبكتك.
- كيفية تمكين IPv6 - تكوين خطوة بخطوة لـ Windows و macOS و Linux والموجهات.
- استكشاف أخطاء IPv6 وإصلاحها - شخّص وأصلح مشاكل اتصال المكدس المزدوج.
اختبر شبكة المكدس المزدوج
استخدم أداة Ping مع أعلام -4 و -6 لاختبار كلا البروتوكولين بشكل مستقل، و أداة Traceroute للتحقق من مسارات التوجيه.
الأسئلة المتكررة#
هل المكدس المزدوج يضاعف استخدام النطاق الترددي؟
لا. تستخدم حركة المرور إما IPv4 أو IPv6 لكل اتصال، وليس كليهما. المكدس المزدوج يعني أن كلا البروتوكولين متاحين، لكن الاتصالات الفردية تختار واحداً وتلتزم به.
قد تتبادل بعض البروتوكولات (مثل BGP) معلومات التوجيه عبر كلا عائلتي العناوين، لكن هذا حمل ضئيل.
لماذا شبكة المكدس المزدوج أبطأ من IPv4 فقط؟
لا ينبغي أن يكون كذلك. عادةً ما يشير الأداء الأبطأ إلى IPv6 معطل أو مُسيء الإعداد يؤدي إلى مهلات اتصال قبل الرجوع إلى IPv4. اختبر كل بروتوكول بشكل مستقل مع curl -4 و curl -6 لتحديد أيهما يفشل.
إذا كان IPv6 أبطأ لكن يعمل، تحقق من عدم كفاءة التوجيه أو مشاكل تبادل مزود خدمة الإنترنت. مسارات IPv6 ليست دائماً محسّنة بشكل جيد مثل مسارات IPv4 (بعد).
هل يمكنني تشغيل مكدس مزدوج مع NAT؟
نعم. يمكن أن يستخدم IPv4 NAT بينما يستخدم IPv6 عناوين عالمية دون NAT. هذا شائع في شبكات المؤسسات والمنزل. يترجم موجهك عناوين IPv4 الخاصة (192.168.x.x، 10.x.x.x) بينما يمرر IPv6 دون تغيير.
IPv6 لا يحتاج NAT. استخدم الجدران النارية بدلاً من الاعتماد على NAT للأمان.
هل يجب أن أعطّل IPv6 إذا لم أستخدمه؟
لا. توصي Microsoft و Apple وتوزيعات Linux جميعها بترك IPv6 ممكّناً حتى لو لم تكن تستخدمه بنشاط. تعطيل IPv6 يمكن أن يعطل ميزات مثل DirectAccess و HomeGroup و Windows Update ويسبب تأخيرات في حل DNS.
إذا كنت حقاً لا تحتاجه، فهو غير ضار عند تمكينه. إذا كنت قد تحتاجه لاحقاً، فستوفر على نفسك جهد إعادة التكوين بتركه مشغلاً.
كيف أعرف ما إذا كانت حركة مروري تستخدم IPv4 أو IPv6؟
تحقق من الاتصالات النشطة مع:
# Linux/macOS
netstat -tuln | grep -E '(tcp|udp)'
# Windows PowerShell
Get-NetTCPConnection | Select-Object LocalAddress,RemoteAddress
# Or use tcpdump to see actual packets
sudo tcpdump -n -i eth0 'ip6 or ip'عناوين IPv6 أطول وتحتوي على نقطتين رأسيتين. عناوين IPv4 عشرية منقطة. معظم أدوات المراقبة توسم حركة المرور حسب البروتوكول.
قم بزيارة ping6.net لترى أي بروتوكول تستخدمه للوصول إلى موقعنا.