راه‌اندازی IPv6 در MikroTik فقط به این معنی نیست که یک IPv6 Address روی Interface اینترنت قرار دهیم و Connectivity را با Ping تست کنیم. در یک شبکه واقعی باید مشخص شود ISP چگونه IPv6 را تحویل می‌دهد، چه Prefixای برای LAN در اختیار Router قرار گرفته، هر VLAN چه /64ای دریافت می‌کند، Clientها چگونه Address و Default Route می‌گیرند و Firewall چگونه دسترسی از Internet را کنترل می‌کند.

در یک سناریوی متداول، ساختار به شکل زیر است:

ISP
 │
 │ DHCPv6-PD
 │ /56 یا /60
 ↓
MikroTik RouterOS 7
 │
 ├── VLAN 10 → /64 → SLAAC
 ├── VLAN 20 → /64 → SLAAC
 ├── VLAN 30 → /64 → SLAAC
 └── Guest → /64 → SLAAC
 │
 ↓
 IPv6 Clients

در این معماری MikroTik ابتدا یک Prefix عمومی از ISP دریافت می‌کند، سپس آن Prefix را به Subnetهای /64 تقسیم می‌کند و از طریق Router Advertisement یا RA اطلاعات لازم را به Clientها ارائه می‌دهد.

مهم‌ترین تفاوت با IPv4: در طراحی معمول IPv6 قرار نیست همه Clientها پشت Source NAT یا Masquerade پنهان شوند. هر Client می‌تواند Global IPv6 Address داشته باشد؛ بنابراین IPv6 Firewall از همان ابتدای راه‌اندازی باید بخشی از طراحی باشد.

سه مفهوم اصلی IPv6 در MikroTik

برای درک Configuration باید سه مفهوم را از یکدیگر جدا کنیم:

1. DHCPv6 Prefix Delegation

روتر از ISP یک Prefix دریافت می‌کند؛ مثلاً:

2001:db8:1200:3400::/56

این Prefix برای شبکه‌های داخلی است.

2. SLAAC و Router Advertisement

Router یک /64 را روی LAN اعلام می‌کند و Client با استفاده از SLAAC آدرس خودش را می‌سازد.

3. IPv6 Firewall

Clientها دارای Global IPv6 Address هستند و NAT دیگر نقش حفاظتی ناخواسته IPv4 را ندارد. بنابراین Firewall باید مشخص کند چه Connectionهایی از WAN اجازه ورود دارند.

ساختار کلی:

ISP
 ↓
DHCPv6-PD
 ↓
Delegated Prefix
 ↓
MikroTik
 ↓
/64 per LAN
 ↓
Router Advertisement
 ↓
SLAAC
 ↓
Client IPv6

+
IPv6 Firewall

قبل از راه‌اندازی IPv6 چه اطلاعاتی از ISP بگیریم؟

قبل از Configuration مشخص کنید ISP دقیقاً چه نوع IPv6 Service ارائه می‌کند.

سؤالات مهم:

  • آیا IPv6 روی سرویس فعال است؟
  • آیا WAN از DHCPv6 استفاده می‌کند؟
  • آیا Prefix Delegation ارائه می‌شود؟
  • اندازه Prefix چیست؟ /48، /56، /60 یا /64؟
  • آیا WAN Address جداگانه ارائه می‌شود؟
  • Default Route از RA دریافت می‌شود یا باید روش دیگری استفاده شود؟
  • اگر اتصال PPPoE است، DHCPv6-PD باید روی کدام Interface اجرا شود؟

سناریوهای ISP ممکن است متفاوت باشند:

Scenario A
DHCPv6-PD
→ Prefix for LAN


Scenario B
SLAAC on WAN
+
DHCPv6-PD for LAN


Scenario C
Static IPv6
+
Static Routed Prefix


Scenario D
PPPoE
+
DHCPv6-PD over PPP

دریافت یک IPv6 Address روی WAN به معنی دریافت Prefix قابل استفاده برای LAN نیست. برای شبکه‌های داخلی معمولاً به Routed Prefix یا DHCPv6-PD نیاز دارید.

DHCPv6-PD چیست؟

PD مخفف Prefix Delegation است.

در DHCPv4 معمولاً Client یک Address دریافت می‌کند، اما DHCPv6 می‌تواند علاوه بر Address، یک Prefix کامل به Router تحویل دهد.

برای مثال ISP:

2001:db8:1000:1200::/56

را Delegate می‌کند.

MikroTik می‌تواند از این Prefix چندین /64 بسازد:

2001:db8:1000:1200::/64
2001:db8:1000:1201::/64
2001:db8:1000:1202::/64
2001:db8:1000:1203::/64
...

و هرکدام را به LAN یا VLAN متفاوت اختصاص دهد.

به همین دلیل دریافت /56 یا /60 برای Router سازمانی بسیار کاربردی‌تر از فقط یک /64 است.

دریافت Prefix از ISP با DHCPv6 Client

فرض کنیم WAN روی:

ether1

است.

یک DHCPv6 Client ایجاد می‌کنیم:

/ipv6/dhcp-client
add interface=ether1 \
 request=prefix \
 pool-name=ISP-v6 \
 pool-prefix-length=64 \
 use-peer-dns=yes

در این Configuration:

request=prefix یعنی از ISP Prefix درخواست می‌کنیم.

pool-name=ISP-v6 باعث می‌شود Prefix دریافت‌شده وارد یک IPv6 Pool پویا شود.

pool-prefix-length=64 مشخص می‌کند هنگام مصرف Pool، Subnetهای /64 ایجاد شوند.

برای مشاهده وضعیت:

/ipv6/dhcp-client/print detail

وضعیت مناسب باید چیزی شبیه این باشد:

status=bound
prefix=2001:db8:1000:1200::/56

اگر ISP هم Address و هم Prefix ارائه می‌کند

می‌توان هر دو را درخواست کرد:

/ipv6/dhcp-client
add interface=ether1 \
 request=address,prefix \
 pool-name=ISP-v6 \
 pool-prefix-length=64

در این حالت IA_NA برای Address و IA_PD برای Prefix استفاده می‌شود.

برای Routing شبکه داخلی، Prefix Delegation معمولاً مهم‌تر از دریافت Address روی WAN است.

بررسی IPv6 Pool

بعد از Bound شدن DHCPv6 Client:

/ipv6/pool/print

باید Pool پویا مشاهده شود.

مثلاً:

NAME PREFIX PREFIX-LENGTH
ISP-v6 2001:db8:1000:1200::/56 64

این یعنی Router می‌تواند از Prefix /56 دریافت‌شده، Subnetهای /64 برای شبکه‌های داخلی رزرو کند.

اختصاص IPv6 به LAN

فرض کنیم LAN روی:

bridge

قرار دارد.

برای گرفتن /64 از Pool:

/ipv6/address
add address=::1/64 \
 from-pool=ISP-v6 \
 interface=bridge \
 advertise=yes

RouterOS یک /64 از Pool دریافت می‌کند و Address:

<delegated-prefix>::1/64

را روی Bridge قرار می‌دهد.

برای مشاهده:

/ipv6/address/print detail

اکنون Router روی LAN یک Global IPv6 Address دارد.

SLAAC چیست؟

SLAAC مخفف:

Stateless Address Autoconfiguration

است.

در SLAAC، Router برای هر Client یک IPv6 Address Lease صادر نمی‌کند.

Router فقط Prefix و اطلاعات شبکه را از طریق Router Advertisement اعلام می‌کند:

MikroTik
 │
 │ Router Advertisement
 │
 ├── Prefix = 2001:db8:1000:1200::/64
 ├── Default Router
 ├── MTU
 └── DNS
 ↓
 Client

Client سپس IPv6 Address خود را ایجاد می‌کند.

سیستم‌عامل‌های جدید ممکن است برای حفظ Privacy از Interface Identifierهای موقت یا تصادفی استفاده کنند؛ بنابراین نباید فرض کرد بخش Host Address همیشه از MAC Address ساخته می‌شود.

Router Advertisement و Neighbor Discovery

در RouterOS تنظیمات Router Advertisement زیر منوی:

/ipv6/nd

قرار دارند.

برای مشاهده:

/ipv6/nd/print detail

برای یک Deployment کنترل‌شده بهتر است ND فقط روی Interfaceهای LAN موردنظر فعال باشد.

نمونه:

/ipv6/nd
add interface=bridge \
 advertise-dns=self \
 ra-lifetime=30m

به این ترتیب Router Advertisement روی Bridge ارسال می‌شود.

Prefixای که با:

advertise=yes

روی IPv6 Address ایجاد شده است برای SLAAC به Clientها اعلام می‌شود.

Neighbor Discovery در IPv6 جای چه چیزهایی را می‌گیرد؟

ND در IPv6 بخشی از وظایفی را برعهده دارد که در IPv4 توسط چند مکانیزم جدا انجام می‌شد.

از جمله:

  • Neighbor Resolution به‌جای ARP
  • Router Discovery
  • Prefix Discovery
  • Duplicate Address Detection
  • Router Advertisement

پیام‌های مهم ICMPv6 Neighbor Discovery شامل:

RS
Router Solicitation

RA
Router Advertisement

NS
Neighbor Solicitation

NA
Neighbor Advertisement

هستند.

ارائه DNS به Clientهای IPv6

Router Advertisement می‌تواند اطلاعات DNS را نیز به Clientها ارسال کند.

اگر MikroTik خودش DNS Cache شبکه است:

/ipv6/nd
set [find where interface=bridge] \
 advertise-dns=self

سپس DNS Resolver Router باید برای Clientهای LAN قابل استفاده باشد.

ساختار:

IPv6 Client
 ↓
MikroTik DNS
 ↓
Cache / Policy
 ↓
Upstream DNS

همچنین می‌توان DNS Serverهای IPv6 مشخصی را در RA اعلام کرد.

برای قابلیت‌هایی مانند DoH، Adlist و FWD می‌توانید مقاله قابلیت‌های جدید DNS در MikroTik را مطالعه کنید.

IPv6 برای چند VLAN

یکی از مزایای Prefix Delegation بزرگ‌تر از /64 این است که می‌توان هر VLAN را در /64 مستقل قرار داد.

فرض کنیم:

VLAN 10 → Management
VLAN 20 → Staff
VLAN 30 → Servers
VLAN 40 → Guest

داریم.

می‌توان نوشت:

/ipv6/address
add address=::1/64 from-pool=ISP-v6 interface=vlan10 advertise=yes
add address=::1/64 from-pool=ISP-v6 interface=vlan20 advertise=yes
add address=::1/64 from-pool=ISP-v6 interface=vlan30 advertise=yes
add address=::1/64 from-pool=ISP-v6 interface=vlan40 advertise=yes

هر Interface یک /64 متفاوت از Pool دریافت می‌کند.

سپس ND:

/ipv6/nd
add interface=vlan10 advertise-dns=self
add interface=vlan20 advertise-dns=self
add interface=vlan30 advertise-dns=self
add interface=vlan40 advertise-dns=self

معماری نهایی:

ISP Prefix /56
 │
 MikroTik
 │
 ┌─────┼─────┬─────┐
 │ │ │ │
/64 /64 /64 /64
 │ │ │ │
MGMT Staff Server Guest

در LANهای معمول IPv6، /64 اندازه استاندارد مورد انتظار برای SLAAC است. Prefix Delegation بزرگ‌تر مانند /56 یا /60 اجازه می‌دهد چند شبکه /64 مستقل داشته باشید.

SLAAC یا Stateful DHCPv6؟

دو روش را نباید با یکدیگر اشتباه گرفت.

SLAAC

Router Advertisement
 ↓
Client creates its address

Stateful DHCPv6

DHCPv6 Client
 ↓
DHCPv6 Server
 ↓
IPv6 Address

RouterOS هر دو مدل را پشتیبانی می‌کند.

اما DHCPv6 برای Address Assignment به‌تنهایی Default Gateway به Host نمی‌دهد. Default Router همچنان از RA مشخص می‌شود.

همچنین رفتار Clientهای مختلف در Stateful DHCPv6 یکسان نیست؛ بنابراین برای شبکه عمومی با لپ‌تاپ، موبایل و سیستم‌عامل‌های مختلف، SLAAC معمولاً سازگاری گسترده‌تری دارد.

فعال‌کردن Managed DHCPv6 Address Assignment

اگر واقعاً نیاز دارید Clientها Address را از DHCPv6 Server دریافت کنند، Pool باید برای Addressهای /128 ساخته شود.

نمونه مفهومی:

/ipv6/pool
add name=LAN-v6-addresses \
 prefix=2001:db8:1000:2000::/112 \
 prefix-length=128

/ipv6/dhcp-server
add name=LAN-DHCPv6 \
 interface=bridge \
 address-pool=LAN-v6-addresses

سپس M Flag در RA:

/ipv6/nd
add interface=bridge \
 managed-address-configuration=yes

به Host اعلام می‌کند برای Address Configuration از DHCPv6 نیز استفاده کند.

Stateful-only DHCPv6 را بدون تست Clientها وارد Production نکنید. مستندات MikroTik نیز به تفاوت رفتار سیستم‌عامل‌ها در این سناریو اشاره می‌کنند.

Other Configuration Flag چیست؟

در Router Advertisement دو Flag مهم وجود دارند:

M Flag
Managed Address Configuration

O Flag
Other Configuration

در RouterOS:

managed-address-configuration

other-configuration

هستند.

اگر فقط اطلاعات جانبی DHCPv6 مدنظر باشد و Address با SLAAC ساخته شود، O Flag می‌تواند در طراحی استفاده شود.

DHCPv6-PD Server چه زمانی لازم است؟

DHCPv6-PD Server معمولاً برای End Deviceهایی مثل Laptop استفاده نمی‌شود؛ بلکه برای Router پایین‌دستی کاربرد دارد.

مثلاً:

ISP
 ↓
Main MikroTik
Prefix /48
 ↓
DHCPv6-PD
 ↓
Branch Router
Prefix /56
 ↓
Branch LANs

برای مثال اگر یک Pool:

2001:db8:1000::/56

داریم و می‌خواهیم /60 به Routerهای پایین‌دست بدهیم:

/ipv6/pool
add name=PD-Pool \
 prefix=2001:db8:1000::/56 \
 prefix-length=60

/ipv6/dhcp-server
add name=PD-Server \
 interface=downstream \
 prefix-pool=PD-Pool

Bindings:

/ipv6/dhcp-server/binding/print detail

در DHCPv6، Client معمولاً با DUID و IAID شناسایی می‌شود، نه صرفاً MAC Address مانند DHCPv4.

IPv6 روی اتصال PPPoE

در بسیاری از سرویس‌ها اینترنت روی PPPoE ارائه می‌شود.

در این حالت DHCPv6 Client را معمولاً روی Interface منطقی PPPoE اجرا می‌کنیم، نه Ethernet فیزیکی زیر آن.

فرض کنیم:

pppoe-out1

داریم:

/ipv6/dhcp-client
add interface=pppoe-out1 \
 request=prefix \
 pool-name=ISP-v6 \
 pool-prefix-length=64

سپس مانند سناریوی قبلی Prefix را روی LAN مصرف می‌کنیم:

/ipv6/address
add address=::1/64 \
 from-pool=ISP-v6 \
 interface=bridge \
 advertise=yes

RouterOS از IPv6 Prefix Delegation روی PPP نیز پشتیبانی می‌کند.

Default Route در IPv6 چگونه دریافت می‌شود؟

یکی از تفاوت‌های مهم DHCPv6 با DHCPv4 این است که DHCPv6 استاندارد، Default Gateway را به Host اعلام نمی‌کند.

در شبکه LAN، Host معمولاً Default Router را از RA یاد می‌گیرد.

روی خود MikroTik نیز ISP ممکن است Default Route را از Router Advertisement ارائه کند.

در چنین سناریویی:

/ipv6/settings
set accept-router-advertisements=yes

می‌تواند لازم باشد.

در RouterOS جدید حتی می‌توان Interfaceهایی را که RA روی آن‌ها پذیرفته می‌شود محدود کرد.

روش دیگر DHCPv6 Client:

add-default-route=yes

است.

اما این دو روش را نباید بدون شناخت رفتار ISP هم‌زمان فعال کرد.

قبل از فعال‌کردن add-default-route، مشخص کنید ISP Default Route را چگونه ارائه می‌کند. وجود دو Default Route ناخواسته می‌تواند Troubleshooting را پیچیده کند.

برای بررسی:

/ipv6/route/print detail

باید Route:

::/0

فعال باشد.

IPv6 Firewall؛ مهم‌ترین مرحله Configuration

یکی از خطرناک‌ترین اشتباه‌ها این است که IPv6 را فعال کنیم ولی فقط IPv4 Firewall داشته باشیم.

IPv4 Rules در:

/ip/firewall/filter

قرار دارند.

اما IPv6 Firewall کاملاً جداست:

/ipv6/firewall/filter

بنابراین یک IPv4 Firewall کامل هیچ حفاظتی برای IPv6 Traffic ایجاد نمی‌کند.

اگر IPv6 روی Client فعال است ولی IPv6 Firewall ندارید، سرویس‌های Client ممکن است از Internet مستقیماً قابل دسترسی شوند.

قبل از Firewall؛ Interface Listها

بهتر است WAN و LAN مشخص باشند.

برای مثال:

/interface/list
add name=WAN
add name=LAN

/interface/list/member
add list=WAN interface=ether1
add list=LAN interface=bridge

اگر WAN از PPPoE استفاده می‌کند، خود pppoe-out1 را در WAN قرار دهید.

Baseline IPv6 Firewall برای خود Router

یک Baseline ساده:

/ipv6/firewall/filter

add chain=input \
 action=accept \
 connection-state=established,related,untracked \
 comment="Accept established/related"

add chain=input \
 action=drop \
 connection-state=invalid \
 comment="Drop invalid"

add chain=input \
 action=accept \
 protocol=icmpv6 \
 comment="Allow ICMPv6"

add chain=input \
 action=accept \
 protocol=udp \
 dst-port=546 \
 src-address=fe80::/10 \
 in-interface-list=WAN \
 comment="Allow DHCPv6-PD client"

add chain=input \
 action=accept \
 in-interface-list=LAN \
 comment="Allow router access from LAN"

add chain=input \
 action=drop \
 comment="Drop remaining IPv6 input"

این Rules از خود Router محافظت می‌کنند.

Firewall برای Clientهای LAN

Forward Chain مسئول Traffic عبوری از Router است.

Baseline:

/ipv6/firewall/filter

add chain=forward \
 action=accept \
 connection-state=established,related,untracked \
 comment="Accept established/related"

add chain=forward \
 action=drop \
 connection-state=invalid \
 comment="Drop invalid"

add chain=forward \
 action=accept \
 protocol=icmpv6 \
 comment="Allow ICMPv6"

add chain=forward \
 action=accept \
 in-interface-list=LAN \
 out-interface-list=WAN \
 comment="Allow LAN to Internet"

add chain=forward \
 action=drop \
 comment="Drop remaining IPv6 forward"

با این طراحی:

LAN → Internet
✓

Return Traffic
✓

Internet → New LAN Connection
✕

ICMPv6
✓

خواهد بود.

این یک Baseline سخت‌گیرانه است. اگر چند VLAN دارید و قرار است بین آن‌ها ارتباط وجود داشته باشد، Ruleهای Inter-VLAN موردنیاز باید قبل از Final Drop ایجاد شوند.

اگر Server IPv6 عمومی داریم چه کنیم؟

در IPv6 نیازی نیست حتماً Port Forward مشابه dst-nat IPv4 ایجاد کنیم.

فرض کنید Server:

2001:db8:1000:2000::10

است و HTTPS باید از Internet قابل دسترس باشد.

قبل از Final Drop می‌توان Rule مشخص ایجاد کرد:

/ipv6/firewall/filter
add chain=forward \
 in-interface-list=WAN \
 dst-address=2001:db8:1000:2000::10 \
 protocol=tcp \
 dst-port=443 \
 connection-state=new \
 action=accept \
 comment="Allow HTTPS to IPv6 server"

بنابراین Security همچنان با Firewall انجام می‌شود، اما الزاماً Translation آدرس وجود ندارد.

ICMPv6 را Block نکنید

در IPv4 بعضی مدیران شبکه ICMP را تقریباً به‌طور کامل Block می‌کنند. انتقال همین تفکر به IPv6 می‌تواند باعث مشکلات جدی شود.

ICMPv6 در عملکرد خود IPv6 نقش اساسی دارد.

از جمله:

  • Neighbor Discovery
  • Router Advertisement
  • Router Solicitation
  • Neighbor Solicitation
  • Neighbor Advertisement
  • Path MTU Discovery
  • Error Reporting

بنابراین Rule:

drop protocol=icmpv6

به‌صورت کلی طراحی مناسبی نیست.

مستندات Firewall خود MikroTik نیز ICMPv6 را در Baseline پیشنهادی Accept می‌کنند.

آیا IPv6 به NAT نیاز دارد؟

در معماری استاندارد IPv6، Global Addressهای Client مستقیماً Route می‌شوند.

ساختار معمول:

IPv6 Client
Global Address
 ↓
MikroTik Firewall
 ↓
Internet

است، نه:

Private Address
 ↓
Masquerade
 ↓
Public Address

که در IPv4 رایج است.

RouterOS قابلیت IPv6 NAT نیز دارد، اما NAT66 برای یک Deployment معمول Dual-Stack پیش‌نیاز IPv6 نیست.

امنیت باید با Stateful Firewall تأمین شود، نه با تکیه بر NAT.

IPv6 Firewall و Dual Stack

در بیشتر شبکه‌ها IPv4 و IPv6 برای مدتی هم‌زمان فعال خواهند بود:

Client
 ├── IPv4
 └── IPv6

بنابراین دو Policy مستقل داریم:

/ip/firewall/filter
→ IPv4


/ipv6/firewall/filter
→ IPv6

تغییر Policy IPv4 هیچ Rule متناظری را به‌صورت خودکار در IPv6 ایجاد نمی‌کند.

نکات امنیتی مهم IPv6 در MikroTik

Management Serviceها را روی IPv6 فراموش نکنید

اگر WinBox، SSH یا WebFig برای IPv4 محدود شده‌اند، بررسی کنید از IPv6 نیز ناخواسته در دسترس WAN نباشند.

Management VLAN جدا داشته باشید

Internet
 ↓
Firewall
 ↓
Management VLAN
 ↓
Router / Switch / AP

WAN را از LAN مشخص کنید

Interface Listهای صحیح، Rules را قابل نگهداری‌تر می‌کنند.

ICMPv6 ضروری را حفظ کنید

Block کورکورانه ICMPv6 می‌تواند باعث Failureهای عجیب و سخت برای Troubleshooting شود.

Inter-VLAN IPv6 Policy جداگانه تعریف کنید

اگر IPv4 بین Student و Management Block شده ولی IPv6 Rule مشابه ندارید، Segmentation عملاً دور زده می‌شود.

برای مثال:

Student VLAN
IPv4 → Management ✕

Student VLAN
IPv6 → Management ✕

هر دو باید Policy داشته باشند.

یک اشتباه امنیتی بسیار رایج

فرض کنیم IPv4 Firewall این شبکه عالی است:

Guest → Servers ✕
Guest → Management ✕

ولی IPv6 را فعال کرده‌ایم و IPv6 Firewall نداریم.

ممکن است نتیجه این شود:

Guest IPv4 → Server ✕

Guest IPv6 → Server ✓

بنابراین Dual Stack باید در تمام Security Auditها به‌عنوان دو Protocol Stack مستقل بررسی شود.

Troubleshooting IPv6 در MikroTik

1. آیا DHCPv6-PD Bound شده است؟

/ipv6/dhcp-client/print detail

دنبال:

status=bound
prefix=...

باشید.

2. آیا Pool ایجاد شده است؟

/ipv6/pool/print detail

3. آیا LAN Global Address دارد؟

/ipv6/address/print detail

فقط وجود:

fe80::/10

کافی نیست. این Link-Local است.

برای اینترنت نیاز به Global IPv6 Address دارید.

4. آیا Default Route وجود دارد؟

/ipv6/route/print detail

به دنبال:

::/0

باشید.

5. آیا Router اینترنت IPv6 دارد؟

/ping 2606:4700:4700::1111

اگر Router Ping دارد ولی Client ندارد، مشکل بیشتر در یکی از این بخش‌هاست:

  • LAN Prefix
  • Router Advertisement
  • Firewall
  • DNS

6. ND را بررسی کنید

/ipv6/nd/print detail

/ipv6/nd/prefix/print detail

7. Neighborها

/ipv6/neighbor/print

8. Client Address

روی Linux:

ip -6 address
ip -6 route

روی Windows:

ipconfig /all
route print -6

Router IPv6 دارد ولی Client فقط Link-Local دارد

اگر Client فقط:

fe80::...

دارد، موارد زیر را بررسی کنید:

  • Global Prefix روی LAN وجود دارد؟
  • advertise=yes روی Address فعال است؟
  • ND روی Interface LAN فعال است؟
  • RA توسط Firewall یا Switch Block نشده است؟
  • Prefix واقعاً /64 است؟

Client Global IPv6 دارد ولی Internet ندارد

بررسی کنید:

  • Default Route Client
  • Default Route MikroTik
  • Forward Chain
  • ISP Routing
  • Prefix Delegation

IPv6 کار می‌کند ولی بعضی سایت‌ها باز نمی‌شوند

موارد احتمالی:

  • ICMPv6 بیش از حد محدود شده است.
  • Path MTU Discovery مشکل دارد.
  • DNS AAAA Resolution مشکل دارد.
  • Route ناقص یا اشتباه است.
  • ISP IPv6 Connectivity ناپایدار دارد.

یکی از اولین مواردی که در این شرایط باید بررسی شود ICMPv6 Firewall است.

Prefix ISP بعد از Reconnect تغییر می‌کند

اگر ISP Dynamic Prefix ارائه کند، Prefix Delegated ممکن است تغییر کند.

استفاده از:

from-pool=ISP-v6

به‌جای Hard-code کردن Prefix مزیت مهمی دارد؛ RouterOS می‌تواند Addressهای LAN را همراه Prefix جدید Pool به‌روزرسانی کند.

در چنین شبکه‌ای از Hard-code کردن IPv6 Prefix در تعداد زیادی Rule تا حد امکان خودداری کنید یا مکانیزم مناسب Dynamic Address List/Script طراحی کنید.

نمونه Configuration ساده کامل

فرض:

WAN = ether1
LAN = bridge
ISP = DHCPv6-PD
LAN = SLAAC

DHCPv6-PD:

/ipv6/dhcp-client
add interface=ether1 \
 request=prefix \
 pool-name=ISP-v6 \
 pool-prefix-length=64 \
 use-peer-dns=yes

LAN Address:

/ipv6/address
add address=::1/64 \
 from-pool=ISP-v6 \
 interface=bridge \
 advertise=yes

Router Advertisement:

/ipv6/nd
add interface=bridge \
 advertise-dns=self

Interface List:

/interface/list
add name=WAN
add name=LAN

/interface/list/member
add interface=ether1 list=WAN
add interface=bridge list=LAN

Input Firewall:

/ipv6/firewall/filter
add chain=input action=accept connection-state=established,related,untracked
add chain=input action=drop connection-state=invalid
add chain=input action=accept protocol=icmpv6
add chain=input action=accept protocol=udp dst-port=546 src-address=fe80::/10 in-interface-list=WAN
add chain=input action=accept in-interface-list=LAN
add chain=input action=drop

Forward Firewall:

/ipv6/firewall/filter
add chain=forward action=accept connection-state=established,related,untracked
add chain=forward action=drop connection-state=invalid
add chain=forward action=accept protocol=icmpv6
add chain=forward action=accept in-interface-list=LAN out-interface-list=WAN
add chain=forward action=drop

این Configuration فقط یک Baseline آموزشی است. قبل از استفاده در Production باید Management Policy، VLANها، VPN، Servers، WAN Type و Firewall فعلی شبکه بررسی شوند.

چک‌لیست راه‌اندازی IPv6 در MikroTik

  1. IPv6 Service از ISP تأیید شده است.
  2. روش ارائه IPv6 توسط ISP مشخص شده است.
  3. اندازه Delegated Prefix مشخص است.
  4. DHCPv6 Client روی Interface صحیح ایجاد شده است.
  5. وضعیت DHCPv6 Client برابر Bound است.
  6. IPv6 Pool ایجاد شده است.
  7. برای هر LAN یا VLAN یک /64 اختصاص داده شده است.
  8. Global Address روی LAN وجود دارد.
  9. SLAAC فعال است.
  10. Router Advertisement روی LAN ارسال می‌شود.
  11. DNS به Clientها اعلام می‌شود.
  12. Default Route روی MikroTik وجود دارد.
  13. Clientها Default Router دارند.
  14. Router به Internet IPv6 دسترسی دارد.
  15. Clientها به Internet IPv6 دسترسی دارند.
  16. WAN و LAN در Interface List صحیح قرار دارند.
  17. IPv6 Input Firewall فعال است.
  18. IPv6 Forward Firewall فعال است.
  19. DHCPv6-PD روی UDP 546 مجاز است.
  20. ICMPv6 به‌طور کامل Block نشده است.
  21. دسترسی مستقیم WAN به Clientهای LAN Drop می‌شود.
  22. Inter-VLAN IPv6 Policy تعریف شده است.
  23. Management Serviceها روی IPv6 بررسی شده‌اند.
  24. IPv4 و IPv6 هر دو در Security Audit بررسی شده‌اند.
  25. Configuration Backup تهیه شده است.

سؤالات متداول درباره IPv6 در MikroTik

DHCPv6-PD چیست؟

Prefix Delegation قابلیتی است که ISP به‌جای یک IPv6 Address، یک Prefix کامل مانند /56 یا /60 به Router تحویل می‌دهد تا برای شبکه‌های داخلی استفاده شود.

فرق DHCPv6 و DHCPv6-PD چیست؟

DHCPv6 می‌تواند Address یا سایر اطلاعات را به Client بدهد؛ DHCPv6-PD برای واگذاری Prefix به Router استفاده می‌شود.

SLAAC چیست؟

روشی است که Host با دریافت Router Advertisement و Prefix، IPv6 Address خود را بدون دریافت Address Lease از DHCPv6 Server ایجاد می‌کند.

Default Gateway در IPv6 از DHCPv6 دریافت می‌شود؟

خیر. Hostها Default Router را از Router Advertisement دریافت می‌کنند. DHCPv6 استاندارد Default Gateway توزیع نمی‌کند.

برای IPv6 LAN چه Prefix Lengthی استفاده کنیم؟

برای شبکه‌های SLAAC معمولاً /64 استفاده می‌شود.

ISP به من /56 داده؛ چه کاری انجام دهم؟

می‌توانید /56 را به تعداد زیادی /64 تقسیم کنید و برای LANها یا VLANهای مختلف استفاده کنید.

اگر ISP فقط /64 بدهد چه می‌شود؟

عملاً یک /64 برای SLAAC در اختیار دارید و نمی‌توانید مانند /56 یا /60 چندین LAN استاندارد /64 مستقل از همان Prefix ایجاد کنید.

آیا WAN حتماً باید Global IPv6 Address داشته باشد؟

الزاماً نه. در بعضی معماری‌ها Router می‌تواند با Link-Local Gateway و Routed Delegated Prefix کار کند. رفتار دقیق به طراحی ISP بستگی دارد.

آیا IPv6 به NAT نیاز دارد؟

در معماری استاندارد IPv6 خیر. Global Addressها Route می‌شوند و Stateful Firewall مسئول کنترل دسترسی است.

آیا RouterOS از IPv6 NAT پشتیبانی می‌کند؟

بله، اما وجود این قابلیت به معنی لازم‌بودن NAT66 در شبکه معمول IPv6 نیست.

چرا IPv6 Firewall جدا از IPv4 است؟

RouterOS برای IPv4 از /ip/firewall و برای IPv6 از /ipv6/firewall استفاده می‌کند. Ruleهای یکی به دیگری اعمال نمی‌شوند.

آیا ICMPv6 را Block کنیم؟

خیر. ICMPv6 بخشی ضروری از IPv6، Neighbor Discovery، Router Advertisement و Path MTU Discovery است.

چرا Router IPv6 دارد ولی PC ندارد؟

وجود Prefix روی LAN، advertise=yes، تنظیم ND و دریافت Router Advertisement توسط Client را بررسی کنید.

چرا Client فقط fe80:: دارد؟

fe80::/10 Link-Local است. اگر Global Address وجود ندارد، SLAAC، Delegated Prefix و Router Advertisement را بررسی کنید.

آیا Link-Local Address قابل حذف است؟

Link-Local بخش طبیعی و مهم عملکرد IPv6 است و در Neighbor Discovery و ارتباط با Routerهای مجاور استفاده می‌شود.

چرا Client Global IPv6 دارد ولی Internet ندارد؟

Default Route، IPv6 Firewall، Route ISP و Prefix Delegation را بررسی کنید.

برای PPPoE DHCPv6 Client را روی ether1 بگذاریم؟

در سناریوهای معمول PPPoE باید DHCPv6 Client روی Interface منطقی PPPoE مانند pppoe-out1 اجرا شود. تنظیم دقیق به ISP بستگی دارد.

آیا می‌توان برای هر VLAN IPv6 مستقل داشت؟

بله. اگر Prefix کافی مانند /56 یا /60 دریافت کنید، می‌توان برای هر VLAN یک /64 مستقل اختصاص داد.

آیا Guest VLAN نیز IPv6 Firewall مستقل لازم دارد؟

بله. محدودیتی که فقط در IPv4 اعمال شده باشد، جلوی ارتباط IPv6 را نمی‌گیرد.

SLAAC بهتر است یا DHCPv6؟

برای شبکه‌های عمومی Clientها، SLAAC معمولاً سازگاری بسیار خوبی دارد. DHCPv6 برای سناریوهایی که مدیریت Stateful لازم است کاربرد دارد و می‌توان در بعضی شبکه‌ها این دو را ترکیب کرد.

DHCPv6-PD Server برای Laptopهاست؟

خیر. Prefix Delegation عمدتاً برای واگذاری Prefix به Routerهای پایین‌دستی استفاده می‌شود.

جمع‌بندی؛ IPv6 فقط یک Address جدید نیست

راه‌اندازی اصولی IPv6 در MikroTik را می‌توان در این مسیر خلاصه کرد:

ISP
 ↓
DHCPv6-PD
 ↓
Delegated Prefix
 ↓
IPv6 Pool
 ↓
/64 per LAN / VLAN
 ↓
Router Advertisement
 ↓
SLAAC
 ↓
Global IPv6 Clients
 ↓
Stateful IPv6 Firewall
 ↓
Internet

DHCPv6-PD وظیفه دریافت Prefix را برعهده دارد، SLAAC و Router Advertisement آدرس‌دهی و معرفی Router را برای Clientها انجام می‌دهند و IPv6 Firewall مشخص می‌کند چه Trafficهایی اجازه عبور دارند.

مهم‌ترین نکته امنیتی این است که IPv6 را یک قابلیت جانبی در کنار IPv4 نبینیم. وقتی Dual Stack فعال است، عملاً دو Protocol Stack مستقل داریم و هر دو باید از نظر Firewall، VLAN، Management Access، Monitoring و Troubleshooting بررسی شوند.

یک شبکه با IPv4 Firewall کامل اما IPv6 Firewall ناقص، شبکه امنی نیست.

طراحی و راه‌اندازی IPv6 در شبکه MikroTik

نوع Prefix ارائه‌شده توسط ISP، تعداد VLANها، ساختار Firewall و سرویس‌هایی که باید از IPv6 استفاده کنند، مستقیماً روی طراحی نهایی تأثیر دارند.

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