
وقتی دفتر مرکزی روتر MikroTik دارد و شعبه یا شرکت همکار روتر Cisco، مطمئنترین راه اتصال دو شبکه، تونل IPsec سایتبهسایت است. IPsec یک استاندارد است و هر دو برند آن را پشتیبانی میکنند؛ فقط نام تنظیمات در دو طرف فرق دارد و باید دقیقاً با هم جور شوند.
در این آموزش تونل را با IKEv2 و کلید مشترک (Pre-Shared Key) میسازیم. دستورها برای RouterOS 7 و Cisco IOS / IOS-XE نوشته شدهاند.
سناریو
- سایت A (MikroTik): آدرس عمومی
203.0.113.10، شبکهٔ داخلی192.168.10.0/24 - سایت B (Cisco): آدرس عمومی
198.51.100.20، شبکهٔ داخلی192.168.20.0/24، اینترفیس اینترنتGigabitEthernet0/0
آدرسها نمونهاند؛ آدرسهای خودتان را جایگزین کنید. دو شبکهٔ داخلی نباید محدودهٔ آدرس یکسان داشته باشند.
پیشنیازها
- هر دو روتر IP عمومی ثابت داشته باشند. اگر یکی پشت NAT است، پورتهای UDP 500 و 4500 باید به آن برسند.
- ساعت هر دو روتر درست باشد (NTP).
- روی سیسکو، نسخهٔ IOS از IKEv2 پشتیبانی کند (IOS 15 به بعد و لایسنس Security).
- یک کلید مشترک طولانی و تصادفی آماده کنید. در این مقاله
Str0ng-Shared-Keyنوشته شده؛ کلید خودتان را بگذارید.
پارامترهایی که باید در دو طرف یکی باشند
بیشترین علت بالا نیامدن تونل، ناهماهنگی همین پارامترهاست. قبل از هر کاری آنها را روی کاغذ بنویسید:

- فاز ۱ (IKE): نسخهٔ IKEv2، رمزنگاری AES-256، هش SHA-256، گروه دیفیهلمن ۱۴ (در میکروتیک
modp2048)، طول عمر ۲۴ ساعت - فاز ۲ (IPsec / ESP): رمزنگاری AES-256، احراز SHA-256، PFS گروه ۱۴، طول عمر ۱ ساعت
- احراز هویت: کلید مشترک یکسان
- شبکهها: هر طرف باید شبکهٔ مقابل را دقیقاً آینهٔ طرف دیگر تعریف کند
مراحل کار در یک نگاه

بخش اول: تنظیم MikroTik
همهٔ این تنظیمات در Winbox از منوی IP → IPsec هم در دسترس است؛ نام هر زبانه را کنار دستور نوشتهام.
۱. Profile (فاز ۱)
زبانهٔ Profiles:
/ip ipsec profile add name=cisco-p1 enc-algorithm=aes-256 hash-algorithm=sha256 dh-group=modp2048 lifetime=1d dpd-interval=30s dpd-maximum-failures=5۲. Proposal (فاز ۲)
زبانهٔ Proposals:
/ip ipsec proposal add name=cisco-p2 enc-algorithms=aes-256-cbc auth-algorithms=sha256 pfs-group=modp2048 lifetime=1h۳. Peer و Identity
زبانهٔ Peers، روتر مقابل را معرفی میکند:
/ip ipsec peer add name=cisco address=198.51.100.20/32 exchange-mode=ike2 profile=cisco-p1زبانهٔ Identities، کلید مشترک را نگه میدارد:
/ip ipsec identity add peer=cisco auth-method=pre-shared-key secret="Str0ng-Shared-Key"۴. Policy
زبانهٔ Policies مشخص میکند کدام ترافیک رمز شود:
/ip ipsec policy add peer=cisco tunnel=yes src-address=192.168.10.0/24 dst-address=192.168.20.0/24 proposal=cisco-p2 action=encrypt level=require۵. NAT Bypass
اگر این قانون را ننویسید، ترافیک شبکهٔ مقابل قبل از رسیدن به IPsec با masquerade ترجمه میشود و تونل کار نمیکند. این قانون باید بالاتر از masquerade باشد:
/ip firewall nat add chain=srcnat action=accept src-address=192.168.10.0/24 dst-address=192.168.20.0/24 place-before=0 comment="IPsec bypass to Cisco"
۶. قوانین فایروال
به روتر مقابل اجازه بدهید تونل را برقرار کند (این قوانین را بالای قانون drop زنجیرهٔ input بگذارید):
/ip firewall filter add chain=input action=accept protocol=udp dst-port=500,4500 src-address=198.51.100.20 comment="IKE from Cisco"
/ip firewall filter add chain=input action=accept protocol=ipsec-esp src-address=198.51.100.20 comment="ESP from Cisco"اگر FastTrack فعال است، ترافیک تونل را از آن مستثنا کنید؛ وگرنه اتصالها بعد از چند بسته قطع میشوند. این دو قانون باید بالاتر از قانون fasttrack در زنجیرهٔ forward باشند:
/ip firewall filter add chain=forward action=accept src-address=192.168.10.0/24 dst-address=192.168.20.0/24 comment="IPsec out, before fasttrack"
/ip firewall filter add chain=forward action=accept src-address=192.168.20.0/24 dst-address=192.168.10.0/24 comment="IPsec in, before fasttrack"بخش دوم: تنظیم Cisco
وارد حالت پیکربندی شوید (configure terminal) و مراحل زیر را به ترتیب بزنید.
۱. IKEv2 Proposal و Policy (فاز ۱)
crypto ikev2 proposal MT-PROP
encryption aes-cbc-256
integrity sha256
group 14
!
crypto ikev2 policy MT-POL
proposal MT-PROP۲. Keyring و Profile
crypto ikev2 keyring MT-KEYS
peer MIKROTIK
address 203.0.113.10
pre-shared-key Str0ng-Shared-Key
!
crypto ikev2 profile MT-PROF
match identity remote address 203.0.113.10 255.255.255.255
authentication remote pre-share
authentication local pre-share
keyring local MT-KEYS
lifetime 86400
dpd 30 5 on-demand۳. Transform Set (فاز ۲)
crypto ipsec transform-set MT-TS esp-aes 256 esp-sha256-hmac
mode tunnel۴. ترافیک مورد نظر (ACL)
این ACL باید آینهٔ Policy میکروتیک باشد: مبدأ شبکهٔ سیسکو، مقصد شبکهٔ میکروتیک.
ip access-list extended VPN-TO-MIKROTIK
permit ip 192.168.20.0 0.0.0.255 192.168.10.0 0.0.0.255۵. Crypto Map و اعمال روی اینترفیس اینترنت
crypto map MT-MAP 10 ipsec-isakmp
set peer 203.0.113.10
set transform-set MT-TS
set ikev2-profile MT-PROF
set pfs group14
set security-association lifetime seconds 3600
match address VPN-TO-MIKROTIK
!
interface GigabitEthernet0/0
crypto map MT-MAP۶. NAT Exemption
در سیسکو هم ترافیک تونل نباید NAT شود. در ACL مربوط به NAT، ابتدا ترافیک تونل را deny کنید:
ip access-list extended NAT-INTERNET
deny ip 192.168.20.0 0.0.0.255 192.168.10.0 0.0.0.255
permit ip 192.168.20.0 0.0.0.255 any
!
ip nat inside source list NAT-INTERNET interface GigabitEthernet0/0 overloadاگر روی اینترفیس اینترنت ACL ورودی دارید، UDP 500، UDP 4500 و پروتکل ESP را از آدرس میکروتیک مجاز کنید:
ip access-list extended OUTSIDE-IN
permit udp host 203.0.113.10 any eq isakmp
permit udp host 203.0.113.10 any eq non500-isakmp
permit esp host 203.0.113.10 anyدر پایان پیکربندی را ذخیره کنید:
end
write memoryآزمایش تونل
تونل با اولین ترافیک بین دو شبکه بالا میآید. پینگ را با آدرس مبدأ شبکهٔ داخلی بزنید؛ پینگ از آدرس عمومی روتر وارد تونل نمیشود.
از میکروتیک:
/ping 192.168.20.1 src-address=192.168.10.1از سیسکو:
ping 192.168.10.1 source 192.168.20.1بررسی در MikroTik
/ip ipsec active-peers print
/ip ipsec installed-sa print
/ip ipsec policy printدر active-peers وضعیت باید established باشد و در خروجی policy، ستون PH2-STATE مقدار established را نشان بدهد. در installed-sa دو SA (یکی برای هر جهت) میبینید که شمارندهٔ بایت آنها با پینگ بالا میرود.
بررسی در Cisco
show crypto ikev2 sa
show crypto ipsec sa
show crypto sessionدر show crypto ikev2 sa وضعیت باید READY باشد. در show crypto ipsec sa شمارندههای pkts encaps و pkts decaps باید هر دو زیاد شوند؛ اگر فقط یکی بالا میرود، مشکل در مسیر برگشت یا NAT طرف مقابل است.
خطاهای رایج و رفع آنها
- NO_PROPOSAL_CHOSEN: پارامترهای فاز ۱ یا فاز ۲ در دو طرف یکی نیست. رمزنگاری، هش، گروه DH و PFS را دوباره مقایسه کنید.
- AUTHENTICATION_FAILED: کلید مشترک یکسان نیست یا آدرس همتا در keyring و
match identityاشتباه است. - TS_UNACCEPTABLE: شبکههای Policy میکروتیک و ACL سیسکو آینهٔ هم نیستند؛ حتی اختلاف در ماسک (مثلاً
/24و/16) تونل را متوقف میکند. - تونل بالا است اما پینگ جواب نمیدهد: قانون NAT Bypass را در هر دو طرف بررسی کنید؛ در میکروتیک باید بالاتر از masquerade باشد.
- اتصال برقرار میشود و بعد از چند ثانیه قطع میشود: FastTrack در میکروتیک؛ قوانین forward را بالاتر از fasttrack بگذارید.
- پینگ کار میکند اما سایتها و فایلهای بزرگ باز نمیشوند: مشکل MTU است. در میکروتیک MSS را محدود کنید و در سیسکو روی اینترفیس داخلی
ip tcp adjust-mss 1360بزنید:
/ip firewall mangle add chain=forward action=change-mss new-mss=1360 protocol=tcp tcp-flags=syn tcp-mss=1361-65535 src-address=192.168.10.0/24 dst-address=192.168.20.0/24 passthrough=yes- تونل هر چند ساعت قطع میشود: طول عمر (lifetime) دو طرف را یکی کنید و DPD را در هر دو طرف فعال نگه دارید.
دیدن جزئیات خطا
در میکروتیک، لاگ IPsec را فعال کنید و بعد از رفع مشکل دوباره خاموشش کنید:
/system logging add topics=ipsec,!packet
/log print where topics~"ipsec"در سیسکو:
debug crypto ikev2
undebug allاگر روتر سیسکو IKEv2 ندارد
در IOSهای قدیمیتر باید از IKEv1 استفاده کنید. در میکروتیک در تنظیم Peer مقدار exchange-mode=main بگذارید و در سیسکو به جای بخشهای IKEv2، سیاست ISAKMP و کلید را اینطور تعریف کنید:
crypto isakmp policy 10
encryption aes 256
hash sha256
authentication pre-share
group 14
lifetime 86400
!
crypto isakmp key Str0ng-Shared-Key address 203.0.113.10بقیهٔ مراحل (Transform Set، ACL، Crypto Map و NAT) همان است؛ فقط خط set ikev2-profile را از Crypto Map بردارید.
نکتههای امنیتی
- از الگوریتمهای قدیمی مثل DES، 3DES، MD5 و DH گروه ۲ استفاده نکنید.
- کلید مشترک را طولانی و تصادفی انتخاب کنید و در ایمیل یا پیامرسان نفرستید.
- دسترسی IKE را به آدرس روتر مقابل محدود کنید، نه به همهٔ اینترنت.
- بعد از راهاندازی، از پیکربندی هر دو روتر نسخهٔ پشتیبان بگیرید.
جمعبندی
تونل IPsec بین MikroTik و Cisco به چهار چیز بستگی دارد: پارامترهای یکسان در فاز ۱ و ۲، کلید مشترک یکسان، شبکههایی که آینهٔ هم تعریف شدهاند و NAT Bypass در هر دو طرف. اگر این چهار مورد درست باشد، تونل با اولین پینگ بالا میآید. برای آشنایی با انواع NAT در میکروتیک، مقالهٔ انواع NAT در MikroTik و برای امنسازی روتر، برقراری امنیت در شبکه با میکروتیک را بخوانید. اگر برای اتصال شعب یا راهاندازی VPN سازمانی کمک میخواهید، صفحهٔ راهاندازی فایروال و امنیت شبکه را ببینید.



