با گسترش استفاده از پروتکل IPv6، یکی از چالش‌های مهم مدیران شبکه، برقراری ارتباط بین شبکه‌های IPv6 از طریق زیرساخت‌هایی است که هنوز فقط از IPv4 پشتیبانی می‌کنند. برای مثال، ممکن است دو شعبه سازمان به اینترنت IPv4 دسترسی داشته باشند، اما بخواهیم ترافیک IPv6 را بین آن‌ها منتقل کنیم.

یکی از روش‌های انجام این کار، استفاده از تونل 6to4 در MikroTik RouterOS است. این فناوری بسته‌های IPv6 را داخل بسته‌های IPv4 قرار می‌دهد و امکان عبور آن‌ها را از شبکه‌های مبتنی بر IPv4 فراهم می‌کند.

در این راهنمای تخصصی گروه بیستون، ابتدا عملکرد تونل 6to4 و محدودیت‌های آن را بررسی می‌کنیم. سپس در یک پروژه عملی، دو روتر MikroTik را طوری پیکربندی می‌کنیم که بتوانند ترافیک IPv6 دو شبکه مجزا را روی اینترنت IPv4 به یکدیگر منتقل کنند.

پاسخ کوتاه: تونل 6to4 چیست؟ 6to4 یک مکانیزم انتقال IPv6 روی IPv4 است که برای Encapsulation از IP Protocol Number 41 استفاده می‌کند. در RouterOS می‌توان از رابط /interface 6to4 برای ایجاد تونل دستی بین دو IPv4 Endpoint یا برای آدرس‌دهی خودکار مبتنی بر پیشوند 2002::/16 استفاده کرد. این روش به‌صورت پیش‌فرض ترافیک را رمزنگاری نمی‌کند.

تونل 6to4 در میکروتیک چیست؟

6to4 یکی از فناوری‌های IPv6 Transition است که برای انتقال بسته‌های IPv6 از طریق شبکه‌های IPv4 طراحی شده است.

در این روش، یک بسته IPv6 در داخل یک بسته IPv4 قرار می‌گیرد و در انتهای مسیر، هدر IPv4 حذف می‌شود تا بسته IPv6 اصلی مجدداً پردازش شود.

میکروتیک این قابلیت را از طریق رابط مجازی 6to4 در RouterOS ارائه می‌کند.

کاربردهای اصلی 6to4

  • اتصال دو شبکه IPv6 روی زیرساخت IPv4
  • ساخت تونل دستی بین دو روتر MikroTik
  • آزمایش و یادگیری مفاهیم IPv6 Tunneling
  • استفاده از بعضی سرویس‌های IPv6 Tunnel Broker
  • انتقال IPv6 در شبکه‌های فاقد پشتیبانی Native IPv6

6to4 یک روش انتقال در لایه سوم شبکه است. این فناوری به‌تنهایی دو LAN را در یک Broadcast Domain مشترک قرار نمی‌دهد.

به عبارت دیگر، اتصال دو شعبه با 6to4 یک ارتباط Routed است، نه Bridge لایه دوم.

تونل 6to4 چگونه کار می‌کند؟

برای درک عملکرد آن، فرض کنید روتر R1 می‌خواهد یک بسته IPv6 برای شبکه پشت R2 ارسال کند.

  1. روتر R1 بر اساس جدول IPv6 Routing تشخیص می‌دهد بسته باید از رابط 6to4 خارج شود.
  2. بسته IPv6 داخل یک بسته IPv4 جدید قرار می‌گیرد.
  3. هدر IPv4 خارجی، آدرس R1 را به‌عنوان مبدأ و آدرس R2 را به‌عنوان مقصد در بر می‌گیرد.
  4. شبکه IPv4 بسته را تا روتر R2 منتقل می‌کند.
  5. روتر R2 هدر IPv4 را حذف و بسته IPv6 را به مقصد نهایی Forward می‌کند.

نقش IP Protocol 41 در تونل 6to4

6to4 از شماره پروتکل 41 در هدر IPv4 استفاده می‌کند.

این شماره مشخص می‌کند که Payload بسته IPv4 حاوی یک بسته IPv6 است.

اشتباه رایج: Protocol 41 به معنی TCP Port 41 یا UDP Port 41 نیست. برای عبور ترافیک 6to4 باید IP Protocol 41 در مسیر ارتباطی مجاز باشد. باز کردن پورت TCP یا UDP با شماره 41، جایگزین این تنظیم نیست.

ساختار بسته در تونل 6to4

+--------------------------+ | Outer IPv4 Header | | Protocol = 41 | +--------------------------+ | IPv6 Header | +--------------------------+ | IPv6 Payload | +--------------------------+

هدر معمول IPv4 خارجی 20 بایت به اندازه بسته اصلی اضافه می‌کند. به همین دلیل، باید MTU مسیر هنگام راه‌اندازی تونل بررسی شود.

انواع تونل 6to4 در RouterOS

مستندات رسمی MikroTik دو شیوه عملکرد را برای رابط 6to4 معرفی می‌کنند.

۱. Automatic 6to4

در این روش، مقدار remote-address مشخص نمی‌شود و روتر از اطلاعات آدرس IPv6 با پیشوند 2002::/16 برای تعیین مقصد IPv4 استفاده می‌کند.

فرمت آدرس‌های 6to4 خودکار معمولاً به شکل زیر است:

2002:XXXX:YYYY::/48

بخش‌های XXXX و YYYY از تبدیل آدرس IPv4 به نمایش Hexadecimal به دست می‌آیند.

مثلاً آدرس IPv4 زیر را در نظر بگیرید:

198.51.100.10

نمایش Hexadecimal این آدرس برابر است با:

C633:640A

در نتیجه پیشوند 6to4 متناظر می‌شود:

2002:C633:640A::/48
محدودیت مهم: در مستندات رسمی RouterOS 7.26، مثال Automatic 6to4 با عبارت Not working مشخص شده است. بنابراین نباید از آن به‌عنوان یک راهکار آماده و تضمین‌شده برای پیاده‌سازی جدید استفاده کرد.

۲. Manual Point-to-Point 6to4

در روش دستی، IPv4 Address هر دو انتهای تونل به‌طور صریح تنظیم می‌شود.

برای مثال:

/interface 6to4
add name=6to4-to-branch \
 local-address=198.51.100.10 \
 remote-address=203.0.113.20

در این حالت، بسته IPv6 مستقیماً داخل IPv4 به مقصد تعیین‌شده ارسال خواهد شد.

در پروژه عملی این مقاله از همین روش استفاده می‌کنیم.

نکته درباره استانداردهای جدید

روش خودکار 6to4 و استفاده از Relayهای Anycast در اینترنت عمومی با مشکلات عملیاتی و پایداری مواجه شده‌اند.

استاندارد RFC 7526 به‌طور مشخص استفاده از 6to4 Anycast Relay و آدرس 192.88.99.1 را منسوخ اعلام کرده است. این موضوع با تونل دستی بین دو Endpoint مشخص یکسان نیست.

تفاوت 6to4 با WireGuard، GRE و IPv6 Native

انتخاب فناوری مناسب باید بر اساس هدف ارتباطی انجام شود.

ویژگی6to4WireGuardIPv6 Native
انتقال IPv6روی IPv4داخل تونل رمزنگاری‌شدهمستقیم
رمزنگاری داخلیخیربلهخیر، به‌خودی‌خود
پروتکل زیرینIPv4 Protocol 41UDPIPv6
مناسب ارتباط امن شعبفقط با حفاظت مکملبلهنیازمند سیاست امنیتی مناسب
وابستگی به IPv4بلهبسته به Endpointخیر

از نظر عملیاتی، 6to4 برای یادگیری IPv6 Tunneling یا سناریوهای مشخص انتقال IPv6 مفید است.

اما اگر هدف اتصال امن دفتر مرکزی به شعبه روی اینترنت عمومی باشد، معمولاً WireGuard یا یک راهکار VPN مبتنی بر رمزنگاری انتخاب مناسب‌تری است.

برای مطالعه بیشتر: اتصال امن شعب و کاربران دورکار با WireGuard

پیش‌نیازهای راه‌اندازی تونل 6to4 در میکروتیک

قبل از شروع پروژه، شرایط زیر باید فراهم شده باشد.

  • دو روتر MikroTik با RouterOS v7
  • ارتباط IPv4 فعال بین دو Endpoint
  • آدرس IPv4 قابل دسترسی در هر دو سمت
  • امکان عبور IP Protocol 41
  • دسترسی مدیریتی به RouterOS
  • دو شبکه IPv6 مجزا برای LANها
  • مجوز لازم در Firewall هر دو روتر
  • امکان بررسی MTU و مسیر ارتباطی

آیا Public IP ضروری است؟

اگر تونل از اینترنت عمومی عبور می‌کند، داشتن IPv4 عمومی و قابل‌دسترسی در دو انتها ساده‌ترین حالت است.

در زیرساخت‌های خصوصی که دو روتر از قبل از طریق IPv4 به یکدیگر دسترسی دارند، می‌توان از آدرس‌های خصوصی نیز استفاده کرد.

اما در سناریوهای دارای CGNAT، NAT چندلایه یا Firewall سرویس‌دهنده، عبور Protocol 41 ممکن است امکان‌پذیر نباشد.

پیش‌نیاز مهم پروژه: آدرس‌های IPv4 و IPv6 استفاده‌شده در این آموزش نمونه‌های مستندسازی هستند. آن‌ها را پیش از اجرای واقعی با آدرس‌های اختصاص‌یافته به شبکه خود جایگزین کنید.

بررسی اولیه روترها

روی هر دو MikroTik دستورات زیر را اجرا کنید:

/system resource print
/system package print
/ip address print
/ip route print
/ipv6 settings print

اگر IPv6 به‌صورت سیستمی غیرفعال باشد، باید قبل از شروع پروژه فعال شود.

/ipv6 settings set disable-ipv6=no forward=yes

این دستور فقط در صورت نیاز و پس از بررسی تنظیمات موجود اجرا شود. تغییر برخی تنظیمات IPv6 ممکن است به راه‌اندازی مجدد نیاز داشته باشد.

پروژه عملی: اتصال دو شعبه MikroTik با تونل 6to4

در این پروژه فرض می‌کنیم دو دفتر مجزا داریم که از طریق اینترنت IPv4 به هم متصل هستند.

هدف ما این است که کاربران و سرورهای دارای IPv6 در شعبه A بتوانند با شبکه IPv6 شعبه B ارتباط برقرار کنند.

توپولوژی اتصال
LAN A IPv4 Internet LAN B | | | R1 ======= IPv6 over IPv4 / 6to4 ======= R2 | Protocol 41 | | | 2001:db8:10::/64 2001:db8:20::/64

جدول آدرس‌دهی پروژه

پارامترروتر R1روتر R2
موقعیتدفتر مرکزیشعبه دوم
WAN IPv4198.51.100.10203.0.113.20
LAN IPv62001:db8:10::/642001:db8:20::/64
IPv6 آدرس روتر در LAN2001:db8:10::12001:db8:20::1
Tunnel IPv62001:db8:100::1/642001:db8:100::2/64
Interface LANbridge-LANbridge-LAN
Tunnel MTU14801480
درباره آدرس‌های نمونه: بازه‌های IPv4 198.51.100.0/24 و 203.0.113.0/24 و بازه IPv6 2001:db8::/32 مخصوص مستندسازی هستند. این مقادیر در اینترنت عمومی قابل استفاده به‌عنوان آدرس واقعی پروژه نیستند. پیش از اجرای عملی باید جایگزین شوند.

فرض می‌کنیم Interface با نام bridge-LAN از قبل در هر دو روتر وجود دارد و ارتباط IPv4 و Default Route هر دو شعبه نیز صحیح تنظیم شده است.

تنظیمات پروژه در ادامه به‌صورت مستقل برای R1 و R2 ارائه می‌شوند.

مرحله اول: پیکربندی تونل 6to4 روی روتر R1

۱. بررسی دسترسی IPv4 به شعبه دوم

ابتدا از روتر R1، آدرس WAN شعبه دوم را بررسی کنید:

/ping 203.0.113.20 count=5

اگر پاسخ دریافت نشد، قبل از ایجاد تونل، مسیر IPv4، Gateway و Firewall را بررسی کنید.

توجه داشته باشید که پاسخ ندادن Ping ممکن است ناشی از مسدود بودن ICMP باشد.

۲. ایجاد Interface تونل

در Terminal روتر R1 دستور زیر را وارد کنید:

/interface 6to4
add name=6to4-to-B \
 local-address=198.51.100.10 \
 remote-address=203.0.113.20 \
 mtu=1480 \
 disabled=no \
 comment="Bistoon IPv6 Tunnel R1-to-R2"

در این دستور:

  • local-address آدرس IPv4 روتر R1 است.
  • remote-address آدرس IPv4 روتر R2 است.
  • mtu=1480 بر اساس مسیر IPv4 با MTU برابر 1500 انتخاب شده است.

۳. اختصاص IPv6 به Interface تونل

/ipv6 address
add address=2001:db8:100::1/64 \
 interface=6to4-to-B \
 advertise=no \
 comment="R1 Tunnel IPv6"

در این مرحله آدرس IPv6 مربوط به سمت اول لینک تونلی ایجاد می‌شود.

گزینه advertise=no برای جلوگیری از ارسال Router Advertisement روی رابط تونل استفاده شده است.

۴. اختصاص IPv6 به شبکه LAN شعبه اول

/ipv6 address
add address=2001:db8:10::1/64 \
 interface=bridge-LAN \
 advertise=yes \
 comment="Bistoon LAN-A IPv6"

این آدرس به‌عنوان Gateway IPv6 شبکه شعبه اول استفاده خواهد شد.

برای تخصیص خودکار آدرس به کاربران از طریق SLAAC، تنظیمات IPv6 Neighbor Discovery و Router Advertisement روی Interface LAN نیز باید فعال و صحیح باشد.

۵. ایجاد Static Route به شبکه شعبه دوم

روتر R1 باید بداند ترافیک مربوط به شبکه شعبه B از چه مسیری ارسال شود.

/ipv6 route
add dst-address=2001:db8:20::/64 \
 gateway=2001:db8:100::2 \
 comment="Route to LAN-B via 6to4"

این Route مشخص می‌کند تمام بسته‌های مقصد شبکه IPv6 شعبه B به آدرس تونلی R2 ارسال شوند.

بعد از ایجاد Route، فعال بودن و امکان Resolve شدن Gateway را در خروجی Routing بررسی کنید.

/ipv6 route print detail

در این مرحله پیکربندی اصلی R1 تکمیل شده است. بخش Firewall را نیز باید طبق مراحل بعدی اعمال کنیم.

مرحله دوم: پیکربندی تونل 6to4 روی روتر R2

اکنون تنظیمات متناظر را در شعبه دوم انجام می‌دهیم.

۱. بررسی دسترسی IPv4 به شعبه اول

/ping 198.51.100.10 count=5

۲. ایجاد Interface تونل در R2

/interface 6to4
add name=6to4-to-A \
 local-address=203.0.113.20 \
 remote-address=198.51.100.10 \
 mtu=1480 \
 disabled=no \
 comment="Bistoon IPv6 Tunnel R2-to-R1"

دقت کنید که مقادیر Local و Remote در سمت دوم برعکس شده‌اند.

۳. اختصاص IPv6 به تونل R2

/ipv6 address
add address=2001:db8:100::2/64 \
 interface=6to4-to-A \
 advertise=no \
 comment="R2 Tunnel IPv6"

۴. اختصاص IPv6 به LAN شعبه دوم

/ipv6 address
add address=2001:db8:20::1/64 \
 interface=bridge-LAN \
 advertise=yes \
 comment="Bistoon LAN-B IPv6"

۵. ایجاد Static Route به شبکه شعبه اول

/ipv6 route
add dst-address=2001:db8:10::/64 \
 gateway=2001:db8:100::1 \
 comment="Route to LAN-A via 6to4"

اکنون هر دو روتر دارای مسیر IPv6 متناظر هستند.

نتیجه پیکربندی Routing: R1 دارای مسیر شبکه 2001:db8:20::/64 از طریق R2 است و R2 دارای مسیر شبکه 2001:db8:10::/64 از طریق R1 خواهد بود.

مرحله سوم: تنظیم Firewall برای تونل 6to4

یکی از رایج‌ترین دلایل کار نکردن تونل 6to4، مسدود شدن IP Protocol 41 توسط Firewall است.

در این مرحله باید دو بخش امنیتی را به‌صورت مستقل بررسی کنیم:

  • IPv4 Firewall برای بسته‌های خارجی تونل
  • IPv6 Firewall برای بسته‌های داخلی تونل

۱. مجاز کردن Protocol 41 روی R1

/ip firewall filter
add chain=input \
 action=accept \
 protocol=41 \
 src-address=203.0.113.20 \
 dst-address=198.51.100.10 \
 place-before=0 \
 comment="BISTOON Allow 6to4 from R2"

۲. مجاز کردن Protocol 41 روی R2

/ip firewall filter
add chain=input \
 action=accept \
 protocol=41 \
 src-address=198.51.100.10 \
 dst-address=203.0.113.20 \
 place-before=0 \
 comment="BISTOON Allow 6to4 from R1"

در این نمونه، به‌جای مجاز کردن Protocol 41 از تمام اینترنت، فقط IP مشخص سمت مقابل اجازه ارسال دارد.

گزینه place-before=0 Rule را در ابتدای لیست قرار می‌دهد. در شبکه واقعی باید موقعیت Rule را مطابق سیاست Firewall و پیش از Rule مسدودکننده تنظیم کنید.

هشدار امنیتی: برای 6to4 یک Rule عمومی بدون محدودیت Source Address ایجاد نکنید. همچنین اگر ترافیک توسط Raw Firewall، فایروال بالادستی یا ISP مسدود شده باشد، این Rule به‌تنهایی مشکل را حل نمی‌کند.

۳. اجازه ICMPv6 به آدرس تونلی روتر R1

برای تست Ping بین دو Endpoint تونل، لازم است ICMPv6 در Input Firewall مجاز باشد.

روی R1:

/ipv6 firewall filter
add chain=input \
 action=accept \
 protocol=icmpv6 \
 in-interface=6to4-to-B \
 src-address=2001:db8:100::2 \
 place-before=0 \
 comment="BISTOON ICMPv6 from R2"

روی R2:

/ipv6 firewall filter
add chain=input \
 action=accept \
 protocol=icmpv6 \
 in-interface=6to4-to-A \
 src-address=2001:db8:100::1 \
 place-before=0 \
 comment="BISTOON ICMPv6 from R1"

در بسیاری از پیکربندی‌های پیش‌فرض، ICMPv6 از قبل مجاز است. در چنین شرایطی نباید Rule تکراری و غیرضروری ایجاد شود.

۴. مجاز کردن ترافیک IPv6 بین دو LAN

برای انتقال ترافیک بین شبکه‌های داخلی، باید Forward Firewall نیز بررسی شود.

روی R1، برای ترافیک ورودی از شعبه دوم:

/ipv6 firewall filter
add chain=forward \
 action=accept \
 in-interface=6to4-to-B \
 src-address=2001:db8:20::/64 \
 dst-address=2001:db8:10::/64 \
 place-before=0 \
 comment="BISTOON Forward B to A"

روی R2، برای ترافیک ورودی از شعبه اول:

/ipv6 firewall filter
add chain=forward \
 action=accept \
 in-interface=6to4-to-A \
 src-address=2001:db8:10::/64 \
 dst-address=2001:db8:20::/64 \
 place-before=0 \
 comment="BISTOON Forward A to B"

اگر سیاست Firewall محلی اجازه خروج ترافیک LAN به تونل را نمی‌دهد، برای جهت خروجی نیز Rule محدود به Prefix و Interface مربوطه تعریف کنید.

هدف، ایجاد دسترسی فقط میان دو شبکه موردنیاز است؛ نه باز کردن کلی ترافیک IPv6 از تمام Interfaceها.

نکته درباره IPv6: برای عملکرد صحیح IPv6، پیام‌های ضروری ICMPv6 از جمله Packet Too Big باید طبق سیاست امنیتی مجاز باشند. مسدود کردن همه ICMPv6ها می‌تواند Path MTU Discovery و برخی قابلیت‌های پایه IPv6 را مختل کند.

مرحله چهارم: تست و بررسی عملکرد تونل 6to4

پس از اتمام تنظیمات، باید ارتباط را در چند مرحله مستقل آزمایش کنیم.

تست اول: وضعیت Interface تونل

روی R1:

/interface 6to4 print detail
/interface print where name="6to4-to-B"

روی R2:

/interface 6to4 print detail
/interface print where name="6to4-to-A"

پرچم R در لیست Interfaceها نشان‌دهنده وضعیت Running است، اما به‌تنهایی تضمین نمی‌کند ترافیک IPv6 دوطرفه عبور می‌کند.

تست دوم: Ping بین IPv6های دو سر تونل

از R1:

/ping 2001:db8:100::2 count=5

از R2:

/ping 2001:db8:100::1 count=5

در صورت موفقیت، زیرساخت تونل و دسترسی IPv6 میان دو روتر تا این مرحله به‌درستی کار می‌کند.

تست سوم: بررسی Routing

/ipv6 route print detail

روی R1 باید مسیر 2001:db8:20::/64 و روی R2 مسیر 2001:db8:10::/64 فعال و قابل Resolve باشد.

تست چهارم: Ping بین Gatewayهای LAN

از R1:

/ping 2001:db8:20::1 \
 src-address=2001:db8:10::1 \
 count=5

از R2:

/ping 2001:db8:10::1 \
 src-address=2001:db8:20::1 \
 count=5

اگر Ping تونلی موفق است اما Ping آدرس‌های LAN ناموفق است، باید Forwarding، Firewall و مسیرهای برگشت را بررسی کرد.

تست پنجم: ارتباط کاربران دو شعبه

فرض کنید دو سیستم آزمایشگاهی با آدرس‌های زیر داریم:

  • Client-A: 2001:db8:10::100
  • Client-B: 2001:db8:20::100

هر سیستم باید Prefix /64 و Gateway IPv6 مناسب شعبه خودش را داشته باشد.

پس از اطمینان از پیکربندی صحیح Clientها، از شعبه اول:

ping -6 2001:db8:20::100

این دستور نمونه‌ای برای Windows است. روی Linux نیز دستور معادل Ping IPv6 قابل استفاده است.

نتیجه مورد انتظار: اگر Tunnel، Routing، Firewall و آدرس‌دهی هر دو LAN صحیح باشند، سیستم‌های IPv6 دو شعبه می‌توانند از طریق زیرساخت IPv4 با یکدیگر ارتباط برقرار کنند.

آموزش راه‌اندازی 6to4 از طریق WinBox

اگر ترجیح می‌دهید از محیط گرافیکی استفاده کنید، تنظیمات اصلی تونل در WinBox نیز در دسترس است.

مرحله اول: ایجاد تونل

  1. وارد WinBox شوید.
  2. بخش Interfaces را باز کنید.
  3. از قسمت افزودن Interface، نوع 6to4 Tunnel را انتخاب کنید.
  4. نامی مانند 6to4-to-B وارد کنید.
  5. Local Address را برابر آدرس WAN روتر اول قرار دهید.
  6. Remote Address را برابر IPv4 روتر دوم تنظیم کنید.
  7. مقدار MTU را متناسب با مسیر انتخاب کنید.
  8. تنظیمات را Apply و OK کنید.

مرحله دوم: اختصاص IPv6 Address

از منوی IPv6 → Addresses یک آدرس IPv6 برای Interface تونل تعریف کنید.

در R1:

Address: 2001:db8:100::1/64
Interface: 6to4-to-B
Advertise: no

مرحله سوم: تنظیم IPv6 Route

از منوی IPv6 → Routes یک مسیر جدید ایجاد کنید.

Dst. Address: 2001:db8:20::/64
Gateway: 2001:db8:100::2

مرحله چهارم: تنظیم Firewall

در بخش IP → Firewall → Filter Rules قانون مجاز کردن Protocol 41 از آدرس IPv4 شعبه مقابل را ایجاد کنید.

سپس در قسمت IPv6 Firewall، دسترسی‌های ضروری ICMPv6 و Forward را مطابق سیاست شبکه بررسی کنید.

مرحله پنجم: بررسی ارتباط

از Terminal داخلی WinBox دستور Ping به IPv6 طرف مقابل را اجرا کنید.

در ادامه، آمار ترافیک Interface و وضعیت Routeها را نیز بررسی کنید.

نام و محل نمایش برخی گزینه‌های گرافیکی ممکن است با نسخه WinBox و RouterOS متفاوت باشد. دستورات CLI بخش قبلی، مرجع دقیق‌تری برای بازبینی تنظیمات هستند.

MTU مناسب برای تونل 6to4 چقدر است؟

یکی از مسائل مهم در پیکربندی تونل‌های IPv6 over IPv4، محاسبه MTU است.

در حالت معمول، 6to4 یک هدر IPv4 به اندازه 20 بایت به بسته IPv6 اضافه می‌کند.

اگر MTU مسیر IPv4 برابر 1500 باشد، حداکثر MTU نظری بسته IPv6 داخل تونل برابر خواهد بود با:

1500 - 20 = 1480 bytes

به همین دلیل، در پروژه حاضر از مقدار 1480 استفاده کرده‌ایم.

MTU در مسیر PPPoE

اگر ارتباط IPv4 زیرین از PPPoE با MTU برابر 1492 استفاده کند، مقدار نظری تغییر خواهد کرد:

1492 - 20 = 1472 bytes

بنابراین انتخاب MTU برابر 1480 برای تمام شبکه‌ها مناسب نیست.

آیا می‌توان MTU را کمتر تنظیم کرد؟

بله. مقدار مناسب باید بر اساس Path MTU و نیازهای شبکه انتخاب شود.

برای مثال، در یک مسیر با سربار اضافی ممکن است MTU برابر 1400 انتخاب شود.

اما برای IPv6 نباید بدون بررسی قواعد پروتکل، از مقادیر کمتر از حداقل MTU استاندارد 1280 بایت استفاده کرد.

تنظیم MTU روی Interface

/interface 6to4
set [find name="6to4-to-B"] mtu=1480

در روتر دوم نیز نام Interface مربوط به همان سمت را وارد کنید.

TCP MSS Clamping در 6to4

رابط 6to4 دارای گزینه‌ای به نام clamp-tcp-mss است.

این قابلیت می‌تواند MSS بسته‌های TCP SYN را متناسب با MTU تونل محدود کند.

برای بررسی:

/interface 6to4 print detail

و برای فعال کردن در صورت نیاز:

/interface 6to4
set [find name="6to4-to-B"] \
 clamp-tcp-mss=yes

این گزینه مشکل تمام پروتکل‌ها را حل نمی‌کند. به‌ویژه برای UDP باید MTU مسیر و Fragmentation جداگانه بررسی شود.

برای آموزش تکمیلی: آشنایی کامل با MTU و L2MTU در RouterOS میکروتیک

آیا می‌توان با 6to4 اینترنت IPv6 دریافت کرد؟

بله. یکی از کاربردهای رابط 6to4 در RouterOS، اتصال به سرویس‌های IPv6 Tunnel Broker است.

برای مثال، سرویس Hurricane Electric Tunnel Broker می‌تواند تونل IPv6 روی اتصال IPv4 ارائه دهد.

در این حالت، میکروتیک به‌جای اتصال مستقیم به یک روتر شعبه، به IPv4 Endpoint ارائه‌شده توسط Tunnel Broker متصل می‌شود.

اطلاعات موردنیاز از Tunnel Broker

  • Server IPv4 Address
  • Client IPv4 Address
  • Server IPv6 Address
  • Client IPv6 Address
  • Routed IPv6 Prefix

مراحل کلی راه‌اندازی

  1. ایجاد حساب و درخواست تونل در سرویس‌دهنده
  2. ثبت آدرس IPv4 عمومی سمت MikroTik
  3. ایجاد رابط 6to4 با Local و Remote IPv4 مشخص
  4. اختصاص Client IPv6 به رابط تونل
  5. تعریف مسیر IPv6 از طریق Gateway ارائه‌شده
  6. اختصاص Routed Prefix به LAN
  7. بررسی Firewall، Router Advertisement و DNS
  8. تست ارتباط با مقاصد IPv6 عمومی

در مستندات رسمی MikroTik نیز نمونه پیکربندی Tunnel Broker ارائه شده است.

برای مشاهده دستورهای مخصوص سرویس خود، به بخش Example Configurations در پنل Tunnel Broker مراجعه کنید.

توجه: IPv6 Prefixهای 2001:db8::/32 که در پروژه دو شعبه استفاده کردیم، آدرس‌های مستندسازی هستند و برای اینترنت عمومی کاربرد ندارند.

برای دسترسی واقعی کاربران به اینترنت IPv6، باید از Prefix معتبر تخصیص‌یافته توسط ISP یا Tunnel Broker استفاده کنید.

همچنین سرویس‌دهنده باید Protocol 41 را عبور دهد. وجود CGNAT ممکن است مانع اتصال مستقیم به بعضی Tunnel Brokerها شود.

آیا تونل 6to4 میکروتیک امن است؟

تونل 6to4 به‌تنهایی یک VPN رمزنگاری‌شده نیست.

این فناوری فقط بسته‌های IPv6 را درون IPv4 منتقل می‌کند و از مکانیزم رمزنگاری داخلی برای حفاظت از محتوای داده استفاده نمی‌کند.

مهم‌ترین محدودیت‌های امنیتی

  • عدم رمزنگاری پیش‌فرض ترافیک
  • عدم احراز هویت رمزنگاری‌شده Endpointها در حالت ساده
  • امکان دریافت بسته‌های جعلی در صورت پیکربندی نامناسب
  • وابستگی به سیاست Firewall و مسیر IPv4
  • احتمال سوءاستفاده از دسترسی‌های گسترده IPv6 Forward

آیا 6to4 از IPsec پشتیبانی می‌کند؟

RouterOS برای رابط 6to4 پارامتری به نام ipsec-secret در اختیار قرار می‌دهد.

این گزینه می‌تواند برای ایجاد پیکربندی IPsec مرتبط با Endpoint مشخص استفاده شود.

اما فعال‌سازی آن نیازمند تنظیم صحیح و هماهنگی IPsec در هر دو سمت است.

در پیکربندی‌های قدیمی، الگوریتم‌های پیش‌فرض IPsec ممکن است با توصیه‌های امنیتی روز هماهنگ نباشند. برای ارتباطات حساس، از طراحی امن و الگوریتم‌های مناسب استفاده کنید.

پیشنهاد برای شبکه‌های سازمانی

اگر هدف اصلی، اتصال امن دو شعبه روی اینترنت عمومی است، استفاده از WireGuard یا IPsec با پیکربندی استاندارد معمولاً انتخاب مناسب‌تری خواهد بود.

در مقابل، 6to4 برای انتقال IPv6 در یک زیرساخت کنترل‌شده یا محیط آزمایشگاهی می‌تواند مفید باشد.

عیب‌یابی مشکلات تونل 6to4 در MikroTik

اگر ارتباط پس از انجام تنظیمات برقرار نشد، مراحل زیر را به‌ترتیب بررسی کنید.

۱. تونل ساخته شده ولی Ping پاسخ نمی‌دهد

احتمالاً یکی از شرایط زیر برقرار نیست:

  • IPv4 Endpoint سمت مقابل قابل دسترس نیست.
  • Protocol 41 توسط ISP یا Firewall مسدود شده است.
  • Local یا Remote IPv4 اشتباه وارد شده است.
  • IPv6 Address روی Tunnel صحیح نیست.
  • Firewall ورودی ICMPv6 را محدود کرده است.

برای بررسی:

/interface 6to4 print detail
/ip firewall filter print stats
/ipv6 address print detail

۲. Protocol 41 عبور نمی‌کند

با استفاده از Torch یا Packet Sniffer، ترافیک IPv4 ورودی و خروجی را بررسی کنید.

در یک Packet Capture باید بسته‌های IPv4 با Protocol Number 41 قابل مشاهده باشند.

اگر بسته‌ها از روتر مبدأ خارج می‌شوند اما به روتر مقصد نمی‌رسند، ممکن است محدودیت در شبکه ISP یا تجهیزات میانی باشد.

۳. Tunnel Ping موفق است اما LANها ارتباط ندارند

در این شرایط، معمولاً خود تونل برقرار است و باید Routing و IPv6 Firewall بررسی شوند.

/ipv6 route print detail
/ipv6 firewall filter print stats

اطمینان حاصل کنید هر دو سمت مسیر برگشت به Prefix مقابل را دارند.

۴. کاربران IPv6 دریافت نمی‌کنند

در این حالت، تنظیمات SLAAC، Router Advertisement و Neighbor Discovery روی LAN را بررسی کنید:

/ipv6 address print detail
/ipv6 nd print detail

روی LAN موردنظر باید Prefix معتبر و تنظیمات مناسب Advertise وجود داشته باشد.

۵. بعضی ارتباطات کار می‌کنند اما انتقال فایل مشکل دارد

یکی از علت‌های احتمالی، MTU نامناسب است.

اگر Tunnel روی PPPoE قرار دارد، مقدار MTU زیرین را در نظر بگیرید.

همچنین دریافت پیام ICMPv6 Packet Too Big برای Path MTU Discovery اهمیت دارد.

۶. روتر پشت CGNAT قرار دارد

در CGNAT، آدرس عمومی IPv4 مستقیماً روی روتر مشتری قرار ندارد.

از آنجا که 6to4 از Protocol 41 استفاده می‌کند، بسیاری از پیاده‌سازی‌های NAT معمولی نمی‌توانند این ترافیک را مانند TCP و UDP مدیریت کنند.

راهکار مناسب ممکن است استفاده از Public IPv4 واقعی، زیرساخت خصوصی قابل مسیریابی یا یک تونل UDP-based مانند WireGuard باشد.

جدول تشخیص سریع مشکلات 6to4

نشانهعلت احتمالیاقدام پیشنهادی
تونل ارتباط نداردIPv4 Endpoint یا Protocol 41بررسی Routing و Firewall
Ping تونل موفق است، LAN ناموفقIPv6 Route یا Forward Firewallبررسی مسیر رفت و برگشت
فقط بعضی بسته‌ها عبور می‌کنندMTU یا PMTUDبررسی MTU و ICMPv6
رابط Running است اما ترافیک عبور نمی‌کندRunning به‌تنهایی نشان‌دهنده سلامت End-to-End نیستPing و Packet Capture
بعد از تغییر WAN ارتباط قطع می‌شودتغییر Public IP یا Source Routingبه‌روزرسانی Endpointها و مسیر
تونل خودکار کار نمی‌کندمحدودیت پیاده‌سازی یا مشکلات 6to4 خودکاراستفاده از تونل دستی یا راهکار جایگزین
کاربران اینترنت IPv6 ندارندنبود Prefix عمومی یا Default Route معتبربررسی تخصیص ISP یا Tunnel Broker

بهترین روش‌های راه‌اندازی تونل 6to4

  1. ابتدا IPv4 را بررسی کنید. تا زمانی که Endpointهای IPv4 به یکدیگر دسترسی ندارند، عیب‌یابی IPv6 فایده چندانی ندارد.
  2. از Tunnel دستی برای پروژه مشخص استفاده کنید. در سناریوی دو روتر با آدرس ثابت، Remote Address را صریحاً تعیین کنید.
  3. Protocol 41 را فقط از IP معتبر بپذیرید. Firewall را به آدرس مشخص Endpoint مقابل محدود کنید.
  4. مسیر برگشت را فراموش نکنید. Static Route باید در هر دو سمت به‌صورت صحیح تعریف شود.
  5. MTU را متناسب با زیرساخت انتخاب کنید. مقدار 1480 فقط برای مسیر IPv4 با MTU برابر 1500 و بدون سربار اضافی مناسب است.
  6. 6to4 را معادل VPN امن ندانید. برای اطلاعات حساس، از تونل رمزنگاری‌شده استفاده کنید.
  7. تنظیمات را مستندسازی کنید. آدرس‌های WAN، Prefixهای IPv6، نام Interfaceها و Routeها را ثبت کنید.
  8. تست End-to-End انجام دهید. فقط Running بودن Interface برای تأیید سلامت ارتباط کافی نیست.

سؤالات متداول درباره تونل 6to4 میکروتیک

تونل 6to4 در میکروتیک چیست؟

6to4 روشی برای انتقال بسته‌های IPv6 درون IPv4 است که در RouterOS از طریق Interface مخصوص 6to4 پیکربندی می‌شود.

آیا تونل 6to4 به Public IP نیاز دارد؟

برای ارتباط مستقیم روی اینترنت عمومی، داشتن IPv4 عمومی و قابل‌دسترسی در دو انتها مناسب‌ترین حالت است. در شبکه‌های خصوصی با IPv4 Routing صحیح، Public IP الزامی نیست.

6to4 از چه پورتی استفاده می‌کند؟

6to4 از TCP یا UDP Port مشخص استفاده نمی‌کند. این فناوری مبتنی بر IP Protocol 41 است.

آیا 6to4 ترافیک را رمزنگاری می‌کند؟

خیر. در حالت عادی فقط Encapsulation انجام می‌شود. برای رمزنگاری باید راهکار امنیتی مکمل مانند IPsec یا VPN مناسب استفاده شود.

آیا می‌توان دو شعبه را با 6to4 متصل کرد؟

بله. با داشتن IPv4 Endpointهای قابل‌دسترس و تنظیم صحیح IPv6 Routing و Firewall، می‌توان ترافیک IPv6 دو شعبه را منتقل کرد.

MTU مناسب 6to4 چقدر است؟

روی IPv4 Path با MTU برابر 1500، مقدار نظری 1480 رایج است. اگر MTU زیرین کمتر باشد، مقدار تونل نیز باید متناسب انتخاب شود.

تفاوت 6to4 با WireGuard چیست؟

6to4 یک فناوری انتقال IPv6 روی IPv4 بدون رمزنگاری پیش‌فرض است. WireGuard یک VPN رمزنگاری‌شده است که می‌تواند ترافیک IPv4 و IPv6 را منتقل کند.

آیا 6to4 پشت CGNAT کار می‌کند؟

در بسیاری از شبکه‌های CGNAT، عبور Protocol 41 امکان‌پذیر نیست یا به پشتیبانی اختصاصی نیاز دارد. برای چنین محیط‌هایی، راهکارهای UDP-based معمولاً عملی‌تر هستند.

آیا 6to4 باعث دریافت اینترنت IPv6 می‌شود؟

خود تونل به‌تنهایی اینترنت IPv6 ایجاد نمی‌کند. برای دسترسی عمومی باید مسیر IPv6 معتبر، Prefix مناسب و سرویس‌دهنده‌ای مانند ISP یا Tunnel Broker وجود داشته باشد.

چرا مثال خودکار 6to4 در مستندات MikroTik کار نمی‌کند؟

در مستندات فعلی RouterOS، مثال خودکار با عنوان Not working مشخص شده است. این وضعیت را باید به‌عنوان محدودیت مستندشده در نظر گرفت و برای پروژه‌های جدید از روش مناسب دیگری استفاده کرد.

آیا 6to4 برای شبکه‌های حساس سازمانی پیشنهاد می‌شود؟

اگر هدف صرفاً انتقال IPv6 روی یک بستر قابل‌اعتماد باشد، ممکن است مناسب باشد؛ اما برای ارتباطات حساس روی اینترنت عمومی، تونل‌های رمزنگاری‌شده معمولاً گزینه بهتری هستند.

جمع‌بندی: چه زمانی از تونل 6to4 استفاده کنیم؟

تونل 6to4 یکی از روش‌های انتقال IPv6 بر بستر IPv4 است که در RouterOS از طریق رابط مخصوص آن پیکربندی می‌شود.

در این مقاله ابتدا با عملکرد 6to4، انواع پیکربندی و نقش Protocol 41 آشنا شدیم.

سپس یک پروژه عملی برای اتصال دو شبکه IPv6 در دو شعبه مجزا طراحی کردیم.

در این پروژه، تنظیمات Tunnel، IPv6 Address، Static Route، Firewall و روش‌های تست ارتباط را بررسی کردیم.

بااین‌حال، برای انتخاب فناوری مناسب باید به امنیت، وضعیت IPv4، پشتیبانی ISP و محدودیت‌های NAT توجه شود.

 6to4 برای انتقال IPv6 در سناریوهای مشخص کاربرد دارد، اما برای اتصال امن شعب سازمانی، استفاده از WireGuard یا راهکارهای VPN رمزنگاری‌شده معمولاً انتخاب مناسب‌تری است.

انتخاب تجهیزات مناسب MikroTik با گروه بیستون

طراحی شبکه‌های IPv6، تونل‌های Site-to-Site و ارتباطات بین شعب نیازمند شناخت قابلیت‌های RouterOS، محدودیت‌های سخت‌افزاری و انتخاب تجهیزات مناسب است.

هنگام انتخاب روتر MikroTik، بهتر است علاوه بر تعداد پورت‌ها و توان پردازشی، قابلیت‌های Routing، VPN و پشتیبانی از IPv6 نیز بررسی شود.

برای دریافت اطلاعات محصولات، مشاوره انتخاب تجهیزات و استعلام موجودی، می‌توانید از طریق وب‌سایت گروه بیستون اقدام کنید.

منابع و مستندات تخصصی

این آموزش با تمرکز بر RouterOS v7 تهیه شده است. مثال‌های آدرس‌دهی صرفاً برای مستندسازی هستند. قبل از اجرای دستورات در شبکه عملیاتی، آدرس‌ها، ساختار Interfaceها، Firewall و Routeهای موجود را بررسی کنید.