ARP چیست؟ آموزش کامل جدول ARP، امنیت و رزرو IP-MAC در MikroTik

دستگاه‌های یک شبکه برای برقراری ارتباط هم‌زمان با دو نوع آدرس سروکار دارند. آدرس IP برای شناسایی منطقی دستگاه‌ها و مسیریابی میان شبکه‌ها استفاده می‌شود، اما ارسال واقعی Frame روی Ethernet به آدرس MAC نیاز دارد.

فرض کنید کامپیوتری با آدرس 192.168.50.10 قصد دارد یک بسته برای دستگاهی با آدرس 192.168.50.20 ارسال کند. کامپیوتر آدرس IP مقصد را می‌داند، اما برای ساخت Ethernet Frame باید MAC Address مقصد را نیز پیدا کند.

پروتکلی که در IPv4 این نگاشت را انجام می‌دهد ARP نام دارد. ARP آدرس IPv4 را به آدرس لایه لینک مانند MAC Address تبدیل می‌کند تا بسته بتواند داخل Broadcast Domain محلی ارسال شود.

ARP در ظاهر پروتکلی ساده است، اما اشکالات مربوط به آن می‌توانند باعث بروز مشکلاتی مانند قطع ارتباط با Gateway، IP Conflict، ارسال ترافیک به MAC اشتباه، حملات ARP Spoofing و ناپایداری شبکه شوند.

در این مقاله ابتدا عملکرد ARP را با یک داستان ساده توضیح می‌دهیم و سپس مفاهیم تخصصی مانند ARP Request، ARP Reply، ARP Cache، Gratuitous ARP، Proxy ARP، Local Proxy ARP، Reply Only و Static ARP را بررسی می‌کنیم. در ادامه نیز روش رزرو صحیح IP-MAC و عیب‌یابی ARP در MikroTik RouterOS v7 ارائه می‌شود.

نتیجه سریع: ARP برای یافتن MAC Address متناظر با یک IPv4 در شبکه محلی استفاده می‌شود. ARP Request معمولاً Broadcast و ARP Reply معمولاً Unicast است. جدول ARP فقط نگاشت‌های شناخته‌شده روتر را نشان می‌دهد و فهرست کامل کاربران شبکه نیست. برای اختصاص IP ثابت از DHCP Static Lease و برای تثبیت نگاشت IP به MAC از Static ARP استفاده می‌شود.

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

در شهری دیجیتال، هر ساختمان دو نوع نشانی داشت:

  • یک نشانی عمومی که همه آن را می‌شناختند؛ مشابه IP Address
  • یک شماره دقیق روی در ورودی؛ مشابه MAC Address

شخصی با نام 192.168.50.10 می‌خواست نامه‌ای برای همسایه خود با نام 192.168.50.20 ارسال کند. او نام منطقی همسایه را می‌دانست، اما شماره در ورودی ساختمان را نمی‌دانست.

بنابراین در محله اعلام کرد:

«چه دستگاهی آدرس IPv4 برابر با 192.168.50.20 دارد؟ لطفاً آدرس MAC خود را اعلام کند.»

این پیام برای تمام اعضای محله ارسال شد. تمام دستگاه‌ها درخواست را دریافت کردند، اما فقط دستگاهی که آدرس 192.168.50.20 را داشت پاسخ داد:

«این آدرس متعلق به من است و MAC Address من برابر با AA:BB:CC:DD:EE:FF است.»

فرستنده این اطلاعات را در دفترچه موقتی خود با نام ARP Cache ذخیره کرد. از آن پس، تا زمانی که این ورودی معتبر بود، دیگر نیازی به ارسال درخواست Broadcast جدید نداشت.

ARP چیست؟

ARP مخفف عبارت Address Resolution Protocol است. وظیفه آن یافتن آدرس سخت‌افزاری یا Link-Layer Address متناظر با یک آدرس پروتکلی است.

در شبکه‌های Ethernet مبتنی بر IPv4، کاربرد معمول ARP به شکل زیر است:

IPv4 Address → MAC Address

نمونه نگاشت:

192.168.50.20 → AA:BB:CC:DD:EE:FF

ARP مستقیماً داخل Ethernet Frame حمل می‌شود و بسته IP نیست. مقدار EtherType مربوط به ARP در Ethernet برابر با مقدار زیر است:

0x0806

به همین دلیل معمولاً ARP را پروتکلی میان لایه دوم و لایه سوم در نظر می‌گیرند؛ زیرا آدرس منطقی IPv4 را به آدرس لایه لینک تبدیل می‌کند.

چرا شبکه به ARP نیاز دارد؟

IP و Ethernet از آدرس‌های متفاوتی استفاده می‌کنند:

نوع آدرسنمونهکاربرد
IPv4 Address192.168.50.20شناسایی منطقی و مسیریابی
MAC AddressAA:BB:CC:DD:EE:FFتحویل Frame داخل شبکه محلی

سیستم‌عامل با استفاده از Subnet Mask تشخیص می‌دهد مقصد در همان شبکه محلی قرار دارد یا باید بسته به Default Gateway تحویل داده شود.

در هر دو حالت، برای ساخت Ethernet Frame به MAC Address مقصد لایه دوم نیاز است.

ARP برای مقصد داخل همان Subnet چگونه کار می‌کند؟

سناریوی زیر را در نظر بگیرید:

Host A
IP: 192.168.50.10/24

Host B
IP: 192.168.50.20/24

Host A با استفاده از Prefix /24 متوجه می‌شود Host B داخل همان شبکه 192.168.50.0/24 قرار دارد.

در نتیجه Host A مستقیماً برای IP مقصد ARP Request ارسال می‌کند:

Who has 192.168.50.20?
Tell 192.168.50.10

پس از دریافت پاسخ، Frame مستقیماً به MAC Address مربوط به Host B ارسال می‌شود و نیازی به عبور از Router نیست.

ARP برای مقصد خارج از Subnet چگونه کار می‌کند؟

فرض کنید Host A می‌خواهد به آدرس عمومی زیر دسترسی پیدا کند:

8.8.8.8

Host A تشخیص می‌دهد این آدرس داخل شبکه محلی نیست. بنابراین ARP Request برای MAC آدرس 8.8.8.8 ارسال نمی‌کند.

در عوض MAC Address مربوط به Default Gateway را پیدا می‌کند:

Destination IP: 8.8.8.8
Ethernet Destination MAC: MAC Address of 192.168.50.1

بسته IP همچنان مقصد نهایی 8.8.8.8 را دارد، اما Ethernet Frame به MAC Address روتر تحویل داده می‌شود.

نکته مهم: دستگاه برای مقصدهای خارج از Subnet، MAC Address مقصد نهایی را پیدا نمی‌کند؛ بلکه MAC Address مربوط به Next Hop یا Default Gateway را با ARP Resolution به دست می‌آورد.

ARP Request چیست؟

ARP Request پیامی است که یک دستگاه برای یافتن MAC Address مرتبط با یک IPv4 ارسال می‌کند.

ازآنجاکه MAC مقصد هنوز ناشناخته است، Ethernet Destination در این پیام معمولاً Broadcast است:

FF:FF:FF:FF:FF:FF

در نتیجه تمام دستگاه‌های همان VLAN یا Broadcast Domain پیام را دریافت می‌کنند.

محتوای منطقی درخواست:

Sender IP: 192.168.50.10
Sender MAC: 00:11:22:33:44:55
Target IP: 192.168.50.20
Target MAC: Unknown
Operation: Request

ARP Reply چیست؟

دستگاهی که Target IP متعلق به آن است، با ARP Reply پاسخ می‌دهد.

پاسخ معمولاً به‌صورت Unicast مستقیماً برای دستگاه درخواست‌کننده ارسال می‌شود:

Sender IP: 192.168.50.20
Sender MAC: AA:BB:CC:DD:EE:FF
Target IP: 192.168.50.10
Target MAC: 00:11:22:33:44:55
Operation: Reply

پس از دریافت پاسخ، فرستنده نگاشت IP و MAC را داخل ARP Cache ذخیره می‌کند.

فیلدهای اصلی پیام ARP

فیلدتوضیح
Hardware Typeنوع شبکه لایه لینک؛ برای Ethernet معمولاً مقدار ۱
Protocol Typeپروتکل لایه شبکه؛ برای IPv4 مقدار 0x0800
Hardware Lengthطول MAC Address؛ معمولاً ۶ بایت
Protocol Lengthطول IPv4؛ برابر ۴ بایت
OperationRequest، Reply یا سایر Opcodeهای ARP
Sender Hardware AddressMAC Address فرستنده
Sender Protocol AddressIPv4 فرستنده
Target Hardware AddressMAC مقصد یا مقدار ناشناخته
Target Protocol AddressIPv4 مورد جست‌وجو

ARP Cache چیست؟

ARP Cache جدولی موقت است که نگاشت‌های شناخته‌شده IPv4 به MAC Address را نگهداری می‌کند.

نمونه:

IPv4MAC Addressوضعیت
192.168.50.1DC:2C:6E:AA:BB:01Reachable
192.168.50.20AA:BB:CC:DD:EE:FFStale

استفاده از Cache باعث می‌شود دستگاه برای هر بسته یک ARP Request جدید ارسال نکند.

ورودی‌های Dynamic پس از مدتی بدون استفاده یا پس از تغییر وضعیت Neighbor منقضی می‌شوند. مدت نگهداری به سیستم‌عامل و تنظیمات دستگاه بستگی دارد.

وضعیت‌های ARP در MikroTik RouterOS

RouterOS v7 می‌تواند وضعیت‌های زیر را برای ورودی‌های ARP نمایش دهد:

وضعیتمعنی
reachableMAC با موفقیت Resolve شده و Neighbor قابل دسترسی است
staleورودی هنوز معتبر است، اما مدتی ارتباطی با Neighbor انجام نشده است
delayاعتبارسنجی Neighbor برای مدت کوتاهی به تعویق افتاده است
probeRouterOS در حال Probe کردن Neighbor است
incompleteMAC Address هنوز پیدا نشده است
failedARP Resolution ناموفق بوده است
permanentورودی به‌صورت Static ثبت شده و منقضی نمی‌شود

مشاهده جدول ARP در MikroTik

در WinBox به مسیر زیر بروید:

IP → ARP

در Terminal:

/ip arp print

نمایش اطلاعات کامل:

/ip arp print detail

جست‌وجو براساس IP:

/ip arp print detail \
 where address=192.168.50.20

جست‌وجو براساس MAC:

/ip arp print detail \
 where mac-address=AA:BB:CC:DD:EE:FF

آیا جدول ARP تمام دستگاه‌های متصل را نشان می‌دهد؟

خیر. این یکی از برداشت‌های اشتباه رایج است.

جدول ARP فقط دستگاه‌هایی را نشان می‌دهد که:

  • در همان Broadcast Domain روتر قرار دارند
  • روتر اخیراً نیاز به ارتباط با آن‌ها داشته است
  • برای آن‌ها ARP Resolution انجام شده است
  • با DHCP و گزینه Add ARP وارد جدول شده‌اند
  • به‌صورت Static در جدول ثبت شده‌اند

دستگاهی که مدت زیادی ترافیکی با روتر نداشته یا فقط با دستگاه دیگری در همان Switch ارتباط داشته است، ممکن است در جدول ARP دیده نشود.

برای شناسایی دقیق‌تر تجهیزات از چند جدول استفاده کنید:

جدولاطلاعات
/ip arpنگاشت IPv4 به MAC در دید روتر
/interface bridge hostMAC Address، پورت و VLAN یادگرفته‌شده
/ip dhcp-server leaseIP، MAC، Client ID و Host Name مشتریان DHCP
Wireless Registration TableClientهای متصل به وایرلس

مشاهده MAC Table یا Bridge Host Table

/interface bridge host print

این جدول نشان می‌دهد هر MAC Address از کدام Bridge Port و VLAN یاد گرفته شده است.

تفاوت مهم:

  • ARP Table مشخص می‌کند IP متعلق به کدام MAC است.
  • Bridge Host Table مشخص می‌کند آن MAC از کدام پورت قابل دسترسی است.

تفاوت ARP Table، MAC Table و DHCP Lease

جدولنگاشت اصلیهدف
ARP TableIPv4 به MACارسال Frame به Neighbor لایه سوم
Bridge MAC TableMAC به Port و VLANForward کردن Frame داخل Bridge
DHCP LeaseClient به IP اجاره‌شدهاختصاص و مدیریت تنظیمات IPv4

آیا ARP در IPv6 استفاده می‌شود؟

خیر. ARP برای IPv4 استفاده می‌شود.

IPv6 برای کشف Neighbor و MAC Address از Neighbor Discovery Protocol مبتنی بر ICMPv6 استفاده می‌کند.

مقایسه:

IPv4IPv6
ARP RequestNeighbor Solicitation
ARP ReplyNeighbor Advertisement
BroadcastSolicited-Node Multicast

برای مطالعه بیشتر می‌توانید مقاله IPv6 چیست و انواع آدرس IPv6 را مطالعه کنید.

Gratuitous ARP چیست؟

Gratuitous ARP یا GARP پیامی است که دستگاه بدون دریافت درخواست قبلی، نگاشت IP و MAC خود را در شبکه اعلام می‌کند.

کاربردهای مهم:

  • به‌روزرسانی ARP Cache دستگاه‌های دیگر
  • اعلام تغییر MAC مربوط به یک IP
  • بررسی Duplicate IP
  • Failover میان Routerها یا Firewallها
  • فعال‌شدن Virtual IP روی دستگاه جدید
  • سناریوهای VRRP و High Availability

برای مثال پس از جابه‌جایی یک Virtual IP از Router اصلی به Router پشتیبان، Gratuitous ARP می‌تواند به کاربران اعلام کند که MAC Address جدیدی مسئول آن IP است.

Duplicate IP چگونه ایجاد می‌شود؟

IP Conflict زمانی رخ می‌دهد که دو دستگاه داخل یک Broadcast Domain از IPv4 یکسان استفاده کنند.

نشانه‌ها:

  • ارتباط به‌صورت مقطعی قطع و وصل می‌شود.
  • MAC مرتبط با یک IP مرتب تغییر می‌کند.
  • Ping گاهی از دو دستگاه پاسخ می‌گیرد.
  • سیستم‌عامل پیام Duplicate IP نمایش می‌دهد.
  • Sessionهای شبکه به‌طور ناگهانی قطع می‌شوند.

در MikroTik می‌توانید تغییرات MAC مربوط به یک IP را بررسی کنید:

/ip arp print detail \
 where address=192.168.50.20

همچنین ARP Packetها را Capture کرده و Sender MACهای متفاوت را بررسی کنید.

حالت‌های ARP در MikroTik RouterOS

RouterOS روی Interfaceهای لایه سوم چند حالت ARP ارائه می‌دهد:

حالتکاربرد
enabledیادگیری و پاسخ‌گویی عادی ARP
disabledغیرفعال‌شدن ARP روی Interface
reply-onlyپاسخ فقط براساس نگاشت‌های از قبل تعریف‌شده
proxy-arpپاسخ به ARP برای مقصدی که از Interface دیگری قابل دسترسی است
local-proxy-arpپاسخ Proxy ARP برای ترافیک ورودی و خروجی همان Interface

حالت Enabled

حالت پیش‌فرض بیشتر Interfaceها است:

arp=enabled

در این حالت:

  • RouterOS به ARP Requestهای مربوط پاسخ می‌دهد.
  • MAC Address همسایه‌ها را به‌صورت پویا یاد می‌گیرد.
  • ورودی‌های Dynamic در جدول ARP ایجاد می‌شوند.

نمونه روی Bridge:

/interface bridge
set [find where name="bridge-LAN"] \
 arp=enabled

حالت Disabled

در این حالت RouterOS از ARP روی Interface استفاده نمی‌کند:

arp=disabled

در نتیجه Clientها پاسخ عادی ARP از روتر دریافت نمی‌کنند. برای برقراری ارتباط باید روی هر دو سمت نگاشت Static تعریف شود.

هشدار: حالت Disabled برای شبکه‌های عادی توصیه نمی‌شود. فعال‌کردن آن از راه دور می‌تواند بلافاصله دسترسی مدیریتی به روتر را قطع کند.

حالت Reply Only چیست؟

در حالت reply-only، روتر فقط نگاشت‌هایی را می‌پذیرد که از قبل در جدول ARP ثبت شده باشند.

در این حالت RouterOS ورودی ARP پویا ایجاد نمی‌کند. بنابراین برای هر Client باید یک ورودی معتبر وجود داشته باشد.

فعال‌سازی روی Bridge:

/interface bridge
set [find where name="bridge-LAN"] \
 arp=reply-only

فعال‌سازی روی VLAN Interface:

/interface vlan
set [find where name="vlan10-STAFF"] \
 arp=reply-only

نکته مهم: اگر IP شبکه روی Bridge یا VLAN Interface قرار دارد، حالت ARP و ورودی Static ARP را روی همان Interface لایه سوم تنظیم کنید، نه روی یک پورت فیزیکی عضو Bridge.

Reply Only چه مزیتی دارد؟

Reply Only می‌تواند کمک کند فقط نگاشت‌های مشخص IP و MAC از طریق Gateway قابل استفاده باشند.

کاربردهای احتمالی:

  • شبکه کوچک با Clientهای ثابت
  • دوربین‌ها و تجهیزات کنترل‌شده
  • شبکه آزمایشگاهی
  • ترکیب با Static DHCP Lease
  • کاهش استفاده از IPهای دستی غیرمجاز

بااین‌حال Reply Only یک سیستم احراز هویت کامل نیست. مهاجم می‌تواند MAC Address یک دستگاه مجاز را جعل کند و دستگاه‌های داخل همان VLAN ممکن است مستقیماً در لایه دوم با یکدیگر ارتباط داشته باشند.

راه‌اندازی امن‌تر Reply Only همراه DHCP

روش پیشنهادی این است که ابتدا برای تمام دستگاه‌های مجاز Static Lease ایجاد شود.

نمونه Static Lease:

/ip dhcp-server lease
add server=dhcp-LAN \
 address=192.168.50.20 \
 mac-address=AA:BB:CC:DD:EE:FF \
 comment="Office Printer"

سپس DHCP Server را طوری تنظیم کنید که ARP Entry مربوط به Leaseها را ایجاد کند:

/ip dhcp-server
set [find where name="dhcp-LAN"] \
 add-arp=yes

اگر فقط Clientهای رزروشده باید IP دریافت کنند:

/ip dhcp-server
set [find where name="dhcp-LAN"] \
 address-pool=static-only \
 add-arp=yes

پس از اطمینان از ایجاد Entryها، حالت Reply Only فعال شود:

/interface bridge
set [find where name="bridge-LAN"] \
 arp=reply-only

ترتیب اجرا مهم است: ابتدا Static Leaseها و گزینه add-arp=yes را آزمایش کنید و سپس Interface را روی Reply Only قرار دهید. تغییر مستقیم از راه دور ممکن است دسترسی شما را قطع کند.

Static ARP چیست؟

Static ARP یک نگاشت ثابت میان IPv4 و MAC Address در جدول ARP است.

نمونه:

/ip arp
add address=192.168.50.20 \
 mac-address=AA:BB:CC:DD:EE:FF \
 interface=bridge-LAN \
 comment="Office Printer"

ورودی Static معمولاً با وضعیت permanent نمایش داده می‌شود و مانند Entry پویا منقضی نخواهد شد.

آیا Static ARP به دستگاه IP اختصاص می‌دهد؟

خیر. Static ARP فقط به روتر اعلام می‌کند:

«برای ارسال ترافیک به این IPv4، از این MAC Address استفاده کن.»

Static ARP باعث نمی‌شود Client به‌صورت خودکار همان IP را دریافت کند.

برای اختصاص IP ثابت از طریق DHCP باید Static Lease ایجاد شود:

/ip dhcp-server lease
add server=dhcp-LAN \
 address=192.168.50.20 \
 mac-address=AA:BB:CC:DD:EE:FF

در سناریوی کنترل‌شده می‌توان Static DHCP Lease و Static ARP را با یکدیگر استفاده کرد.

تفاوت Static DHCP Lease و Static ARP

ویژگیStatic DHCP LeaseStatic ARP
وظیفهاختصاص IP به Clientتثبیت نگاشت IP به MAC
نیاز Client به DHCPداردندارد
محل تنظیم/ip dhcp-server lease/ip arp
Gateway و DNSبه Client تحویل می‌دهدارائه نمی‌دهد
مناسب برای Reply Onlyهمراه Add ARPبله

Proxy ARP چیست؟

در حالت Proxy ARP، روتر برای یک IPv4 که مستقیماً روی همان Interface قرار ندارد پاسخ ARP ارسال می‌کند و MAC خود را به‌عنوان مقصد معرفی می‌کند.

پس از دریافت Frame، روتر بسته را براساس Routing Table به Interface دیگری Forward می‌کند.

نمونه فعال‌سازی:

/interface bridge
set [find where name="bridge-LAN"] \
 arp=proxy-arp

کاربردهای شناخته‌شده:

  • ارائه IP به PPP یا PPPoE Client از رنج LAN
  • برخی سناریوهای قدیمی VPN
  • مخفی‌کردن وجود Subnetهای جدا از دید Client
  • تجهیزاتی که امکان اصلاح Subnet Mask آن‌ها وجود ندارد

هشدار: Proxy ARP نباید به‌عنوان جایگزین طراحی صحیح Subnet و Routing استفاده شود. فعال‌سازی غیرضروری می‌تواند عیب‌یابی، امنیت و تشخیص مرزهای لایه دوم را دشوار کند.

Local Proxy ARP چیست؟

در Local Proxy ARP روتر برای Clientهایی که روی همان Interface قرار دارند با MAC خودش پاسخ می‌دهد.

در حالت عادی دو دستگاه داخل یک Subnet مستقیماً با یکدیگر ارتباط برقرار می‌کنند. با Local Proxy ARP، روتر ترافیک میان آن‌ها را دریافت و در لایه سوم Forward می‌کند.

نمونه:

/interface bridge
set [find where name="bridge-LAN"] \
 arp=local-proxy-arp

این قابلیت می‌تواند همراه با Port Isolation یا Bridge Horizon استفاده شود تا Clientهای یک Subnet فقط از طریق Router با یکدیگر ارتباط داشته باشند.

کاربردهای احتمالی:

  • شبکه Hotspot
  • شبکه مهمان
  • Client Isolation
  • شبکه‌ای با Bridge Portهای ایزوله
  • اعمال Firewall میان کاربران یک Subnet

تفاوت Proxy ARP و Local Proxy ARP

ویژگیProxy ARPLocal Proxy ARP
جهت Forwardingمعمولاً میان Interfaceهای متفاوتورودی و خروجی از همان Interface
هدفپنهان‌کردن مرز Routing از Clientعبور ارتباط Clientهای یک Interface از Router
کاربرد رایجPPP، VPN و شبکه‌های LegacyPort Isolation و شبکه مهمان

ARP Spoofing چیست؟

ARP Spoofing یا ARP Poisoning حمله‌ای است که در آن یک دستگاه پیام ARP جعلی ارسال می‌کند تا IP یک دستگاه دیگر را به MAC خود مرتبط کند.

برای مثال مهاجم ممکن است اعلام کند:

192.168.50.1 is at ATTACKER-MAC

اگر کاربران این نگاشت جعلی را بپذیرند، ترافیک Gateway به سمت مهاجم ارسال خواهد شد.

پیامدهای احتمالی:

  • حمله Man-in-the-Middle
  • شنود ترافیک رمزنگاری‌نشده
  • قطع ارتباط کاربران
  • Session Hijacking
  • تغییر مسیر DNS
  • جمع‌آوری اطلاعات شبکه

آیا ARP احراز هویت دارد؟

ARP در طراحی پایه خود مکانیزم احراز هویت یا امضای رمزنگاری‌شده ندارد. دستگاه‌ها ممکن است ARP Reply ناخواسته یا Gratuitous ARP را دریافت کرده و Cache خود را به‌روزرسانی کنند.

به همین دلیل امنیت ARP باید با کنترل‌های لایه دسترسی و تفکیک شبکه تقویت شود.

روش‌های کاهش ریسک ARP Spoofing

  • تفکیک کاربران در VLANهای کوچک‌تر
  • استفاده از 802.1X و NAC
  • فعال‌کردن Port Isolation برای شبکه مهمان
  • استفاده از Static ARP برای تجهیزات بسیار حساس
  • استفاده از Reply Only در شبکه‌های کوچک و کنترل‌شده
  • فعال‌کردن DHCP Snooping برای جلوگیری از DHCP Server جعلی
  • استفاده از Switch دارای Dynamic ARP Inspection و IP Source Guard
  • استفاده از HTTPS، SSH و VPN برای رمزنگاری ترافیک
  • مانیتورینگ تغییرات IP-to-MAC
  • محدودکردن دسترسی مدیریتی تجهیزات

نکته امنیتی: DHCP Snooping به‌تنهایی حملات ARP Spoofing را متوقف نمی‌کند. این قابلیت بیشتر برای جلوگیری از پاسخ DHCP Serverهای غیرمجاز طراحی شده است.

آیا Static ARP امنیت کامل ایجاد می‌کند؟

خیر. Static ARP فقط بخشی از مسئله را کنترل می‌کند.

محدودیت‌ها:

  • MAC Address قابل جعل است.
  • مدیریت تعداد زیاد Entry دشوار است.
  • تعویض کارت شبکه نیازمند تغییر تنظیمات است.
  • Clientها داخل یک VLAN ممکن است مستقیماً با یکدیگر ارتباط داشته باشند.
  • Static ARP احراز هویت کاربر انجام نمی‌دهد.
  • خطای انسانی می‌تواند دسترسی دستگاه مجاز را قطع کند.

برای شبکه سازمانی بهتر است Static ARP در کنار VLAN، 802.1X، Firewall و سیاست‌های Access Layer استفاده شود.

پاک‌کردن یک ARP Entry در MikroTik

ابتدا Entry را پیدا کنید:

/ip arp print \
 where address=192.168.50.20

سپس حذف کنید:

/ip arp remove \
 [find where address=192.168.50.20]

اگر Entry پویا باشد، پس از ایجاد ترافیک مجدداً ساخته خواهد شد.

هشدار: دستور حذف تمام Entryها می‌تواند ورودی‌های Static را نیز پاک کند. قبل از حذف گروهی از تنظیمات Export و Backup تهیه کنید.

مشاهده و پاک‌کردن ARP Cache در Windows

مشاهده جدول:

arp -a

مشاهده Neighborها با PowerShell:

Get-NetNeighbor -AddressFamily IPv4

حذف یک Entry:

arp -d 192.168.50.20

حذف تمام ورودی‌های Dynamic باید در Command Prompt دارای دسترسی Administrator انجام شود:

arp -d *

مشاهده ARP Cache در Linux

ip neigh show

فقط IPv4:

ip -4 neigh show

حذف یک Neighbor:

sudo ip neigh del \
 192.168.50.20 \
 dev eth0

نام Interface باید با سیستم واقعی جایگزین شود.

مشاهده ARP Cache در macOS

arp -an

حذف یک Entry:

sudo arp -d 192.168.50.20

Capture کردن ARP در MikroTik

برای مشاهده زنده ARP Packetها:

/tool sniffer quick \
 interface=bridge-LAN \
 filter-mac-protocol=arp

برای ذخیره Capture:

/tool sniffer
set filter-interface=bridge-LAN \
 filter-mac-protocol=arp \
 file-name=arp-analysis.pcapng

/tool sniffer start

پس از انجام آزمایش:

/tool sniffer stop

فایل را از بخش Files دریافت و در Wireshark بررسی کنید.

فیلتر Wireshark:

arp

نکته: ترافیکی که به‌طور کامل با Hardware Offloading داخل Switch Chip Forward می‌شود ممکن است در Packet Sniffer روتر دیده نشود. برای Capture کامل‌تر ممکن است Port Mirroring یا غیرفعال‌سازی موقت HW Offload در محیط آزمایشگاهی لازم باشد.

فیلترهای کاربردی Wireshark برای ARP

نمایش ARP Request:

arp.opcode == 1

نمایش ARP Reply:

arp.opcode == 2

جست‌وجوی یک IP:

arp.src.proto_ipv4 == 192.168.50.20
or
arp.dst.proto_ipv4 == 192.168.50.20

جست‌وجوی یک MAC:

arp.src.hw_mac == aa:bb:cc:dd:ee:ff

چرا ARP Entry در وضعیت Incomplete می‌ماند؟

وضعیت Incomplete نشان می‌دهد روتر برای IP موردنظر درخواست ARP ارسال کرده، اما هنوز MAC Address را دریافت نکرده است.

دلایل رایج:

  • دستگاه مقصد خاموش است.
  • IP مقصد در آن VLAN وجود ندارد.
  • VLAN Tagging اشتباه است.
  • Client و Router در Broadcast Domain متفاوت هستند.
  • کابل یا پورت شبکه مشکل دارد.
  • ARP روی Interface غیرفعال است.
  • Bridge Filter پیام ARP را Drop می‌کند.
  • Subnet Mask اشتباه تنظیم شده است.
  • Client از IP تکراری استفاده می‌کند.

چرا وضعیت ARP برابر Failed می‌شود؟

RouterOS پس از چند تلاش ناموفق برای Resolve کردن MAC، وضعیت Entry را Failed نمایش می‌دهد.

برای عیب‌یابی:

  1. Interface مربوط را بررسی کنید.
  2. از روی Router به IP مقصد Ping بگیرید.
  3. Bridge Host Table را بررسی کنید.
  4. VLAN ID و PVID را کنترل کنید.
  5. ARP Packetها را Capture کنید.
  6. IP و Subnet Mask دستگاه مقصد را بررسی کنید.
  7. وجود Reply Only یا Static ARP اشتباه را کنترل کنید.

چرا MAC مربوط به یک IP مرتب تغییر می‌کند؟

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

  • Duplicate IP
  • ARP Spoofing
  • Failover یا VRRP
  • جابه‌جایی ماشین مجازی
  • تغییر NIC یا Bonding
  • Load Balancer یا Cluster
  • تغییر MAC مجازی

اگر تغییر بخشی از طراحی HA نیست، موضوع را به‌عنوان رخداد احتمالی امنیتی یا خطای IP Addressing بررسی کنید.

مشکل ARP بعد از جابه‌جایی سرور یا تغییر MAC

اگر یک Server با همان IP ولی MAC جدید جایگزین شود، بعضی دستگاه‌ها ممکن است تا منقضی‌شدن Cache همچنان Frame را به MAC قبلی ارسال کنند.

راهکارها:

  • ارسال Gratuitous ARP از Server جدید
  • پاک‌کردن ARP Cache در Gateway
  • پاک‌کردن Neighbor Cache روی Clientهای حساس
  • بررسی Static ARPهای قدیمی
  • بررسی MAC Table سوئیچ

تنظیم ARP Timeout در MikroTik

تنظیم عمومی ARP Timeout را می‌توان مشاهده کرد:

/ip settings print

نمونه تغییر:

/ip settings
set arp-timeout=1m

هشدار: کاهش بیش از حد Timeout باعث افزایش ARP Broadcast می‌شود و افزایش بیش از حد آن می‌تواند نگاشت‌های قدیمی را مدت بیشتری حفظ کند. مقدار را فقط براساس نیاز واقعی تغییر دهید.

ARP در شبکه‌های بزرگ چه مشکلی ایجاد می‌کند؟

ARP Request یک Broadcast است و تمام دستگاه‌های VLAN آن را دریافت می‌کنند.

در Broadcast Domain بسیار بزرگ، افزایش تعداد Clientها می‌تواند باعث موارد زیر شود:

  • افزایش ARP Requestها
  • مصرف پهنای باند Broadcast
  • افزایش پردازش روی Clientها
  • بزرگ‌شدن Neighbor Table روتر
  • زمان بیشتر برای عیب‌یابی
  • افزایش دامنه حملات لایه دوم

راهکار اصلی، افزایش ARP Timeout نیست؛ بلکه طراحی صحیح VLAN و کوچک‌کردن Broadcast Domainها است.

حداکثر تعداد ARP Entry در MikroTik

ظرفیت جدول Neighbor به مقدار RAM دستگاه و تنظیمات RouterOS بستگی دارد.

مشاهده تنظیمات:

/ip settings print

پارامتر مرتبط:

max-neighbor-entries

نمونه تغییر:

/ip settings
set max-neighbor-entries=8192

افزایش این مقدار باید با توجه به RAM، تعداد Clientها و نوع Workload انجام شود. افزایش بی‌دلیل ممکن است مصرف حافظه را بیشتر کند.

آیا NAT به ARP وابسته است؟

NAT و ARP وظایف متفاوتی دارند، اما یک Router برای ارسال Frame روی Interface Ethernet همچنان به ARP نیاز دارد.

برای مثال:

  1. NAT آدرس Source را تغییر می‌دهد.
  2. Routing مشخص می‌کند بسته از کدام Interface خارج شود.
  3. ARP آدرس MAC مربوط به Next Hop را پیدا می‌کند.
  4. Ethernet Frame روی لینک ارسال می‌شود.

آیا Firewall می‌تواند جایگزین ARP Security شود؟

IP Firewall معمولاً بسته‌های مسیریابی‌شده را کنترل می‌کند، اما حمله ARP در لایه دوم و پیش از برقراری ارتباط IP رخ می‌دهد.

در RouterOS، Bridge Filter می‌تواند براساس فیلدهای ARP مانند موارد زیر Rule ایجاد کند:

  • ARP Opcode
  • Sender IP
  • Sender MAC
  • Target IP
  • Target MAC
  • Gratuitous ARP

بااین‌حال Ruleهای Bridge باید با دقت طراحی شوند. عبور ترافیک از CPU یا غیرفعال‌شدن Hardware Offloading می‌تواند Throughput را کاهش دهد.

اشتباهات رایج در تنظیم ARP میکروتیک

تصور اینکه Static ARP یک IP ثابت اختصاص می‌دهد

Static ARP فقط Mapping را ثبت می‌کند. برای واگذاری IP باید Static DHCP Lease ایجاد شود.

افزودن ARP Entry روی پورت فیزیکی اشتباه

اگر IP روی Bridge یا VLAN Interface قرار دارد، ARP Entry نیز باید به همان Interface لایه سوم مرتبط باشد.

فعال‌کردن Reply Only قبل از ایجاد Entryها

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

فعال‌کردن Proxy ARP برای حل مشکل Routing

ابتدا Subnet Mask، Gateway، Route و VLAN را اصلاح کنید. Proxy ARP راهکار عمومی برای پیکربندی اشتباه نیست.

استفاده از ARP Table به‌عنوان فهرست کامل کاربران

ARP Table فقط Neighborهای شناخته‌شده روتر را نمایش می‌دهد.

حذف تمام جدول ARP بدون Backup

ممکن است Static Entryهای حیاتی نیز حذف شوند.

نادیده‌گرفتن Random MAC

تلفن‌های همراه و لپ‌تاپ‌ها ممکن است برای Wi-Fi از MAC تصادفی استفاده کنند و Static Lease یا Static ARP قبلی اعمال نشود.

استفاده از Reply Only به‌عنوان تنها سیستم امنیتی

Reply Only جایگزین 802.1X، VLAN، Firewall و کنترل دسترسی نیست.

نادیده‌گرفتن Hardware Offloading در Capture

ممکن است Sniffer روتر تمام Frameهای Switch‌شده را مشاهده نکند.

چک‌لیست عیب‌یابی ARP در MikroTik

  1. IP و Prefix Interface روتر را بررسی کنید.
  2. Interface لایه سوم صحیح را مشخص کنید.
  3. حالت ARP Interface را مشاهده کنید.
  4. جدول ARP را با print detail بررسی کنید.
  5. وضعیت Entry را ثبت کنید.
  6. Bridge Host Table را بررسی کنید.
  7. DHCP Lease مرتبط را مشاهده کنید.
  8. VLAN و PVID را کنترل کنید.
  9. از روتر به Client Ping بگیرید.
  10. ARP Request و Reply را Capture کنید.
  11. Duplicate IP را بررسی کنید.
  12. Static ARPهای قدیمی را کنترل کنید.
  13. Proxy ARP یا Local Proxy ARP ناخواسته را بررسی کنید.
  14. Random MAC Client را کنترل کنید.
  15. پس از اصلاح، ARP Cache را به‌صورت هدفمند پاک کنید.

سناریوی عملی رزرو IP-MAC در MikroTik

فرض می‌کنیم یک Printer باید همیشه IP زیر را دریافت کند:

IP: 192.168.50.20
MAC: AA:BB:CC:DD:EE:FF

مرحله اول: ایجاد Static DHCP Lease

/ip dhcp-server lease
add server=dhcp-LAN \
 address=192.168.50.20 \
 mac-address=AA:BB:CC:DD:EE:FF \
 comment="Accounting Printer"

مرحله دوم: فعال‌کردن Add ARP

/ip dhcp-server
set [find where name="dhcp-LAN"] \
 add-arp=yes

مرحله سوم: تمدید DHCP Client

Printer را Restart یا DHCP Lease آن را Renew کنید.

مرحله چهارم: بررسی Lease

/ip dhcp-server lease print detail \
 where mac-address=AA:BB:CC:DD:EE:FF

مرحله پنجم: بررسی ARP

/ip arp print detail \
 where address=192.168.50.20

اگر تمام شبکه باید فقط از Static Lease استفاده کند، پس از ثبت تمام Clientها می‌توانید DHCP Server را روی Static Only تنظیم کنید:

/ip dhcp-server
set [find where name="dhcp-LAN"] \
 address-pool=static-only \
 add-arp=yes

در مرحله آخر و پس از آزمایش محلی، می‌توان ARP Interface را Reply Only کرد.

انتخاب تجهیزات MikroTik و طراحی شبکه با گروه بیستون

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

مشکلات ARP معمولاً تنها به یک Entry اشتباه محدود نمی‌شوند. ساختار VLAN، Bridge، DHCP، Routing، Client Isolation، ظرفیت Switch و سیاست امنیتی شبکه نیز باید هم‌زمان بررسی شوند.

خدمات مشاوره و پشتیبانی گروه بیستون می‌تواند شامل موارد زیر باشد:

  • انتخاب روتر و سوئیچ MikroTik مناسب
  • طراحی IP Addressing و VLAN
  • راه‌اندازی DHCP Server و Static Lease
  • تنظیم Static ARP و Reply Only
  • بررسی Proxy ARP و Local Proxy ARP
  • عیب‌یابی Duplicate IP
  • بررسی ARP Spoofing و مشکلات امنیتی
  • عیب‌یابی Bridge و MAC Table
  • بهبود امنیت Access Layer
  • توسعه و بازطراحی شبکه سازمانی

برای مشاهده روترها، سوئیچ‌ها و تجهیزات شبکه به صفحه محصولات میکروتیک گروه بیستون مراجعه کنید. برای بررسی تنظیمات ARP، DHCP، VLAN یا مشکلات ارتباطی نیز درخواست خود را در صفحه پشتیبانی و مشاوره فنی ثبت کنید.

گارانتی و خدمات پس از فروش بیستون

در خرید روتر، سوئیچ و تجهیزات زیرساختی، علاوه بر مشخصات فنی باید اصالت کالا، Part Number، وضعیت گارانتی و امکان دریافت خدمات پس از فروش بررسی شود.

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

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

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

شرایط پوشش ضمانت و موارد خارج از گارانتی در صفحه شرایط گارانتی گروه بیستون درج شده است.

سؤالات متداول درباره ARP

ARP چیست؟

ARP پروتکلی برای یافتن MAC Address متناظر با یک IPv4 در شبکه محلی است.

ARP در کدام لایه کار می‌کند؟

ARP میان مفاهیم لایه دوم و سوم قرار دارد و آدرس IPv4 را به آدرس لایه لینک تبدیل می‌کند. پیام ARP مستقیماً داخل Ethernet Frame حمل می‌شود.

ARP Request چیست؟

پیامی است که یک دستگاه برای پیدا کردن MAC مرتبط با یک IPv4 ارسال می‌کند و معمولاً Broadcast است.

ARP Reply چیست؟

پاسخ دستگاه مالک IPv4 است که MAC Address خود را اعلام می‌کند و معمولاً Unicast ارسال می‌شود.

ARP Cache چیست؟

جدولی موقت برای نگهداری نگاشت‌های شناخته‌شده IPv4 به MAC است.

دستور مشاهده ARP در MikroTik چیست؟

/ip arp print detail

آیا ARP Table تمام کاربران شبکه را نشان می‌دهد؟

خیر. فقط Neighborهایی را نشان می‌دهد که روتر برای آن‌ها ARP Resolution انجام داده یا به‌صورت Static و DHCP ثبت شده‌اند.

تفاوت ARP Table و MAC Table چیست؟

ARP Table نگاشت IPv4 به MAC و MAC Table نگاشت MAC به Bridge Port و VLAN را نشان می‌دهد.

Static ARP چیست؟

یک نگاشت دائمی و دستی بین IPv4 و MAC در جدول ARP روتر است.

آیا Static ARP باعث دریافت IP ثابت می‌شود؟

خیر. برای اختصاص IP ثابت باید Static DHCP Lease ایجاد شود.

Reply Only چیست؟

حالتی است که RouterOS فقط با نگاشت‌های از قبل ثبت‌شده در جدول ARP ارتباط برقرار می‌کند و Entry پویا ایجاد نمی‌شود.

آیا Reply Only امنیت کامل ایجاد می‌کند؟

خیر. MAC قابل جعل است و Reply Only جایگزین VLAN، 802.1X، Firewall و NAC نیست.

Proxy ARP چیست؟

حالتی است که روتر به درخواست ARP مربوط به دستگاهی در شبکه یا Interface دیگر با MAC خودش پاسخ می‌دهد.

Local Proxy ARP چیست؟

حالتی است که روتر میان Clientهای همان Interface واسطه لایه سوم می‌شود و با MAC خود به ARP آن‌ها پاسخ می‌دهد.

Gratuitous ARP چیست؟

پیامی بدون درخواست قبلی برای اعلام یا به‌روزرسانی نگاشت IP و MAC در شبکه است.

ARP Spoofing چیست؟

حمله‌ای است که مهاجم با پیام ARP جعلی، IP یک دستگاه مانند Gateway را به MAC خود مرتبط می‌کند.

آیا DHCP Snooping جلوی ARP Spoofing را می‌گیرد؟

به‌تنهایی خیر. DHCP Snooping برای کنترل DHCP Serverهای مجاز طراحی شده و برای مقابله کامل با ARP Spoofing به کنترل‌های دیگری نیاز است.

چرا ARP Entry در وضعیت Incomplete است؟

روتر درخواست ARP ارسال کرده، اما هنوز پاسخ و MAC Address مقصد را دریافت نکرده است.

چرا ARP Entry در وضعیت Failed است؟

RouterOS پس از چند تلاش نتوانسته MAC مربوط به IPv4 را پیدا کند.

چرا یک IP با دو MAC دیده می‌شود؟

ممکن است Duplicate IP، ARP Spoofing، Failover، VRRP یا تغییر NIC رخ داده باشد.

آیا IPv6 از ARP استفاده می‌کند؟

خیر. IPv6 از Neighbor Discovery مبتنی بر ICMPv6 استفاده می‌کند.

چگونه ARP Packet را در MikroTik مشاهده کنیم؟

/tool sniffer quick \
 interface=bridge-LAN \
 filter-mac-protocol=arp

آیا می‌توان ARP Timeout را تغییر داد؟

بله، اما مقدار بسیار کوتاه Broadcast را افزایش می‌دهد و مقدار بسیار طولانی ممکن است Entryهای قدیمی را حفظ کند.

جمع‌بندی

ARP یکی از پروتکل‌های پایه IPv4 است که آدرس منطقی IP را به MAC Address موردنیاز Ethernet تبدیل می‌کند.

اگر مقصد داخل همان Subnet باشد، دستگاه برای MAC خود مقصد ARP Request ارسال می‌کند. اگر مقصد خارج از Subnet باشد، MAC مربوط به Default Gateway یا Next Hop را پیدا خواهد کرد.

ARP Request معمولاً Broadcast و ARP Reply معمولاً Unicast است. نگاشت حاصل برای مدتی داخل ARP Cache ذخیره می‌شود تا تعداد Broadcastها کاهش پیدا کند.

جدول ARP با MAC Table و DHCP Lease تفاوت دارد. ARP Table نگاشت IP به MAC، Bridge Host Table محل MAC روی پورت و DHCP Lease اطلاعات IP واگذارشده به Client را نمایش می‌دهد.

در MikroTik، حالت‌های Enabled، Disabled، Reply Only، Proxy ARP و Local Proxy ARP برای سناریوهای متفاوت ارائه شده‌اند. فعال‌کردن هر حالت بدون شناخت توپولوژی می‌تواند ارتباط شبکه را مختل کند.

Static ARP باعث اختصاص IP نمی‌شود. برای رزرو صحیح IP-MAC باید Static DHCP Lease ایجاد شود و در صورت نیاز نگاشت ARP نیز به‌صورت Static یا با گزینه Add ARP ثبت شود.

ARP مکانیزم احراز هویت ندارد و در برابر ARP Spoofing آسیب‌پذیر است. برای افزایش امنیت باید از VLAN، 802.1X، Client Isolation، Switch Security، مانیتورینگ و پروتکل‌های رمزنگاری‌شده استفاده شود.

گروه بیستون با تأمین تجهیزات MikroTik، ارائه مشاوره تخصصی، طراحی VLAN و DHCP، عیب‌یابی ARP و خدمات پس از فروش، امکان توسعه شبکه‌های پایدار و قابل مدیریت را برای سازمان‌ها فراهم می‌کند.

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

منابع فنی مقاله