> ## Content Index
> Fetch the complete content index at: https://arabroot.io/llms.txt
> Use this file to discover other available public pages before exploring further.

# MikroTik في الواقع: سيناريوهات عملية للبيت والمكتب
- URL: https://arabroot.io/articles/mikrotik-في-الواقع-شبكة-الضيوف-وvlan-والvpn-وتوجيه-المنافذ/
- Published: 2026-10-06T11:45:00.000Z
- Updated: 2026-10-09T09:44:02.000Z
- Description: كيف تبني على RouterOS ما تحتاجه فعلاً في البيت والمكتب، من شبكة ضيوف معزولة إلى الوصول الآمن من الخارج عبر WireGuard.
- Author: فريق عرب رووت
- Tags: الأدلة التقنية, الشبكات والبنية التحتية, الشبكات والوصول, هوم لاب, الاستضافة الذاتية

في [المقال الأول](https://arabroot.io/articles/mikrotik-%D9%88-routeros-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86-%D8%A7%D9%88%D9%84-%D8%A7%D8%B9%D8%AF%D8%A7%D8%AF-%D8%A7%D9%85%D9%86/) أمنا الراوتر نفسه، وفي [المقال الثاني](https://arabroot.io/articles/%D8%AC%D8%AF%D8%A7%D8%B1-%D8%A7%D9%84%D8%AD%D9%85%D8%A7%D9%8A%D8%A9-%D9%81%D9%8A-mikrotik-routeros-%D8%A8%D8%A7%D9%84%D8%AA%D9%81%D8%B5%D9%8A%D9%84/) كتبنا جداراً نارياً وفهمنا كل قاعدة فيه، والآن تأتي الطلبات الحقيقية التي يسمعها كل من يدير شبكة مكتب أو بيت: الضيوف يريدون Wi-Fi ولا تريدهم أن يروا الطابعة والسيرفر، وأنت تريد أن تصل إلى الشبكة من خارج المكتب دون أن تفتح WinBox للعالم، وفي البيت سيرفر تريد أن تنشره، والمدير يسأل لماذا توقف كل شيء عندما انقطع المزود مع أن عندنا خطاً ثانياً. وكل هذه الطلبات تبنى على الأدوات نفسها التي رأيناها: الواجهات وقوائمها، والجدار الناري، وNAT.

المواضيع في السلسلة:

1. [MikroTik وRouterOS للمبتدئين](https://arabroot.io/articles/mikrotik-%D9%88-routeros-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86-%D8%A7%D9%88%D9%84-%D8%A7%D8%B9%D8%AF%D8%A7%D8%AF-%D8%A7%D9%85%D9%86/): الأجهزة والتراخيص وWinBox، وأول إعداد آمن.
2. [جدار الحماية في MikroTik RouterOS بالتفصيل](https://arabroot.io/articles/%D8%AC%D8%AF%D8%A7%D8%B1-%D8%A7%D9%84%D8%AD%D9%85%D8%A7%D9%8A%D8%A9-%D9%81%D9%8A-mikrotik-routeros-%D8%A8%D8%A7%D9%84%D8%AA%D9%81%D8%B5%D9%8A%D9%84/): السلاسل وتتبع الاتصالات والقوائم وNAT.
3. MikroTik في الواقع: شبكة الضيوف وVLAN وWireGuard وتوجيه المنافذ وأكثر من مزود إنترنت (الموضوع الحالي).

وفي هذا المقال سوف نتناول:

- شبكة ضيوف معزولة على VLAN خاص بها، مع DHCP وDNS وجدار يسمح لها بالإنترنت فقط، مجربة على RouterOS حقيقي.
- تقسيم الشبكة إلى VLANs بطريقة Bridge VLAN Filtering في RouterOS 7، ولماذا تفعلها في آخر خطوة.
- WireGuard على RouterOS للوصول من الخارج Road Warrior مع اتصال حقيقي، وربط فرعين Site-to-Site.
- نشر سيرفر منزلي بتوجيه منفذ بأقل خطر ممكن.
- أكثر من مزود إنترنت مع التحويل التلقائي Failover بالتوجيه المتداخل Recursive Routing.
- تحديد السرعة لكل جهاز ب Simple Queues، وأسماء محلية وحجب إعلانات في DNS الراوتر.
- حفظ الإعداد في Git ومراقبة الأجهزة.

وكل المخرجات في هذا المقال من CHR نفسه الذي بنيناه في [مختبر المقال الأول](https://arabroot.io/articles/mikrotik-%D9%88-routeros-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86-%D8%A7%D9%88%D9%84-%D8%A7%D8%B9%D8%AF%D8%A7%D8%AF-%D8%A7%D9%85%D9%86/#lab)، وبعد الجدار الناري الذي كتبناه في المقال الثاني، وما لم نستطع تجربته لأن المختبر فيه واجهتان فقط نقول ذلك صراحة في مكانه.

## شبكة الضيوف: إنترنت فقط، ولا شيء غيره

الطريقة البسيطة التي يفعلها كثيرون هي أن يعطوا الضيوف كلمة مرور Wi-Fi الشبكة نفسها، وهذا يعني أن هاتف الضيف أصبح جهازاً في شبكتك الداخلية يرى الطابعة والسيرفر وكاميرات المراقبة وصفحة إدارة الراوتر، وإذا كان مصاباً ببرنامج ضار فإنه يبحث فيها كما يشاء، وقد رأينا في [حادثة Mēris](https://arabroot.io/articles/mikrotik-%D9%88-routeros-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86-%D8%A7%D9%88%D9%84-%D8%A7%D8%B9%D8%AF%D8%A7%D8%AF-%D8%A7%D9%85%D9%86/#incidents) أن برامج ضارة حاولت إعادة إعداد أجهزة MikroTik من حاسوب داخل الشبكة نفسها. والحل الذي يليه هو شبكة Wi-Fi ثانية باسم مختلف ولكنها في ال Bridge نفسه، فيتغير الاسم فقط وتبقى الشبكة واحدة. والحل الصحيح أن تكون للضيوف شبكة منفصلة في الطبقة الثانية، أي VLAN خاص بها، وعنوان شبكة خاص بها، وقواعد في الجدار تسمح لها بالإنترنت فقط. والصورة التالية تبين الشكل:

![مخطط يبين راوتر MikroTik متصلاً بالإنترنت عبر WAN، ومن جهة LAN كابل واحد Trunk إلى نقطة وصول تبث شبكتين: شبكة المكتب على VLAN 10 بعناوين 192.168.88.0/24 فيها حاسوب وسيرفر وطابعة، وشبكة الضيوف على VLAN 20 بعناوين 192.168.20.0/24 فيها هواتف الضيوف، وسهم أخضر من الضيوف إلى الإنترنت، وسهم أحمر مقطوع من الضيوف إلى شبكة المكتب وإلى صفحة إدارة الراوتر](https://arabroot.io/content/images/2026/10/mikrotik-scenarios-01-guest-vlan.webp)

الضيوف في VLAN مستقل بعنوان شبكة مستقل، والجدار يسمح لهم بالإنترنت وDNS فقط

### الإعداد على الراوتر

في المختبر أنشأنا واجهة VLAN رقم 20 على المنفذ الداخلي `ether2`، أي أن المنفذ نفسه يحمل الشبكة الداخلية دون وسم Untagged وشبكة الضيوف موسومة Tagged، وهذا ما يحدث عندما يتصل الراوتر بنقطة وصول تبث شبكتين بكابل واحد. ثم أعطيناها عنواناً وسيرفر DHCP، ووضعناها في قائمة واجهات جديدة باسم GUEST، وأضفنا ثلاث قواعد للجدار:

```text
/interface vlan add interface=ether2 vlan-id=20 name=vlan20-guest
/interface list add name=GUEST
/interface list member add list=GUEST interface=vlan20-guest
/ip address add address=192.168.20.1/24 interface=vlan20-guest comment=GUEST
/ip pool add name=guest-pool ranges=192.168.20.100-192.168.20.200
/ip dhcp-server add name=guest-dhcp interface=vlan20-guest address-pool=guest-pool lease-time=1h
/ip dhcp-server network add address=192.168.20.0/24 gateway=192.168.20.1 dns-server=192.168.20.1
/ip dns set allow-remote-requests=yes
/ip firewall filter
add chain=input action=accept in-interface-list=GUEST protocol=udp dst-port=53,67 comment="guest: DNS and DHCP to router" place-before=[find comment="input: drop all not coming from LAN"]
add chain=input action=accept in-interface-list=GUEST protocol=tcp dst-port=53 comment="guest: DNS over TCP" place-before=[find comment="input: drop all not coming from LAN"]
add chain=forward action=drop in-interface-list=GUEST out-interface-list=!WAN comment="guest: internet only" place-before=[find comment="forward: drop invalid"]
```

في الإعداد أعلاه لاحظ التالي:

- الواجهة `vlan20-guest` ليست في قائمة LAN، ولذلك فإن قاعدة `drop all not coming from LAN` التي كتبناها في المقال الثاني تمنع الضيوف تلقائياً من كل خدمات الراوتر، ولم نحتج إلا أن نفتح لهم DNS وDHCP قبلها.
- قاعدة forward تقول: كل ما يأتي من الضيوف ولا يذهب إلى WAN يسقط، فلا يصلون إلى الشبكة الداخلية ولا إلى أي شبكة تضيفها لاحقاً، وهذا أفضل من أن تكتب قاعدة لكل شبكة تريد منعها، لأنك سوف تنسى واحدة.
- القاعدة وضعت بعد قبول established وrelated، فالردود على اتصالات بدأتها الشبكة الداخلية لا تتأثر.
- تفعيل `allow-remote-requests` آمن هنا لأن قاعدة الإسقاط العامة في input تمنع المنفذ 53 من WAN، وهذا ما حذرنا منه في [أخطاء المقال الثاني](https://arabroot.io/articles/%D8%AC%D8%AF%D8%A7%D8%B1-%D8%A7%D9%84%D8%AD%D9%85%D8%A7%D9%8A%D8%A9-%D9%81%D9%8A-mikrotik-routeros-%D8%A8%D8%A7%D9%84%D8%AA%D9%81%D8%B5%D9%8A%D9%84/#mistakes).

ثم أنشأنا في جهاز الاختبار واجهة VLAN رقم 20 على الكابل نفسه وطلبنا عنواناً عبر DHCP، والمخرج سوف يكون كما يلي:

```text
udhcpc: broadcasting discover
udhcpc: broadcasting select for 192.168.20.200, server 192.168.20.1
udhcpc: lease of 192.168.20.200 obtained from 192.168.20.1, lease time 3600

[netadmin@CHR] > /ip dhcp-server lease print
Flags: D - DYNAMIC
Columns: ADDRESS, MAC-ADDRESS, SERVER, STATUS, LAST-SEEN
#   ADDRESS         MAC-ADDRESS        SERVER      STATUS  LAST-SEEN
0 D 192.168.20.200  42:FA:F8:83:BE:2C  guest-dhcp  bound   4s
```

### هل الضيف معزول فعلاً؟

جربنا من عنوان الضيف ست حالات: ping إلى الراوتر، وسؤال DNS، وSSH إلى الراوتر على عنوان الضيوف، وSSH إلى الراوتر على عنوانه الداخلي، وطلب HTTP إلى جهاز في الشبكة الداخلية، وطلب HTTPS إلى الإنترنت، والمخرج سوف يكون كما يلي، حيث `exit=28` هو رمز انتهاء المهلة في curl:

```text
--- 1 ping router
2 packets transmitted, 2 received, 0% packet loss, time 1011ms
rtt min/avg/max/mdev = 3.335/30.654/57.974/27.319 ms
--- 2 DNS via router
Name:	example.com
Address: 172.66.147.243
--- 3 SSH to router from guest
exit=28
--- 4 router LAN address from guest
exit=28
--- 5 a LAN host from guest
exit=28
--- 6 internet from guest
200

[netadmin@CHR] > /ip firewall filter print stats where comment~"guest|drop all not coming"
Columns: CHAIN, ACTION, BYTES, PACKETS
# CHAIN    ACTION  BYTES  PACKETS
;;; guest: DNS and DHCP to router
0 input    accept    114        2
;;; guest: DNS over TCP
1 input    accept      0        0
;;; input: drop all not coming from LAN
2 input    drop      360        6
;;; guest: internet only
3 forward  drop      180        3
```

في المخرج أعلاه لاحظ التالي:

- ping وصل لأن قاعدة قبول ICMP في input عامة لكل الواجهات، وإذا لم ترد أن يرى الضيف الراوتر إطلاقاً فاجعلها لقائمة LAN وWAN فقط.
- الحالتان 3 و4 أسقطتهما قاعدة input العامة، والحالة 4 مهمة: الضيف حاول الوصول إلى عنوان الراوتر في الشبكة الداخلية `192.168.88.1`، ومع ذلك مر الطلب على سلسلة input وليس forward لأن العنوان للراوتر نفسه، وهذا ما يجعل قاعدة forward وحدها غير كافية لعزل الضيوف.
- الحالة 5 أسقطتها قاعدة `guest: internet only` في forward، وعدادها 3 حزم هي محاولات SYN المتكررة.
- قاعدة DHCP عدت حزمتي DNS فقط، لأن أغلب حزم DHCP لا تمر على جدار IP أصلاً كما يذكر التوثيق في [Building Advanced Firewall](https://manual.mikrotik.com/docs/firewall-and-quality-of-service/user-guides/building-advanced-firewall?ref=arabroot.io)، ومع ذلك نبقيها لأن بعض الحزم تمر عليه.

وفي نقطة الوصول نفسها فعل عزل العملاء Client Isolation إن كان متاحاً، حتى لا يرى هاتف ضيف هاتف ضيف آخر في VLAN نفسه، لأن الراوتر لا يرى هذه الحركة إطلاقاً. وإذا أردت أن تفكر في هذه الشبكة بطريقة منظمة، ما الذي قد يسوء ومن قد يهاجم من، فطريقة [نمذجة التهديدات Threat Modeling](https://arabroot.io/articles/%D9%86%D9%85%D8%B0%D8%AC%D8%A9-%D8%A7%D9%84%D8%AA%D9%87%D8%AF%D9%8A%D8%AF%D8%A7%D8%AA-threat-modeling-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86/) تنطبق على الشبكات كما تنطبق على التطبيقات.

## VLANs على السويتش المدمج: Bridge VLAN Filtering

في المختبر وضعنا VLAN الضيوف على منفذ واحد مباشرة، لأن CHR لا يحتوي سويتشاً، أما في جهاز مثل hAP أو RB5009 أو CRS فالمنافذ كلها في Bridge واحد، وتريد أن يكون منفذ للمكتب ومنفذ للضيوف ومنفذ موسوم إلى نقطة الوصول. والطريقة الموصى بها في RouterOS 7 هي Bridge VLAN Filtering، وتعمل في عتاد السويتش دون أن تحمل المعالج على الأجهزة التي تدعم ذلك كما في [Basic VLAN Switching](https://manual.mikrotik.com/docs/bridging-and-switching/user-guides/basic-vlan-switching?ref=arabroot.io)، وهي في الصفحة نفسها الطريقة المقترحة للأجهزة التي لا يدعم سويتشها ذلك، فتعمل عندها على المعالج. والصورة التالية تبين المنافذ:

![مخطط يبين bridge1 في راوتر MikroTik وتحته ثلاثة منافذ: ether2 منفذ Access للمكتب بالرقم PVID 10 يستقبل إطارات بلا وسم، وether3 منفذ Access للضيوف بالرقم PVID 20، وether5 منفذ Trunk إلى نقطة الوصول يحمل VLAN 10 و20 موسومة، وفوق ال Bridge واجهتا VLAN في الراوتر vlan10-lan بعنوان 192.168.88.1 وvlan20-guest بعنوان 192.168.20.1، والإطار يأخذ وسم VLAN عند دخوله من منفذ Access ويفقده عند خروجه من منفذ Access آخر](https://arabroot.io/content/images/2026/10/mikrotik-scenarios-02-bridge-vlan.webp)

منفذ Access يضيف الوسم ويزيله، ومنفذ Trunk يمرر الإطارات موسومة، وال Bridge نفسه يجب أن يكون عضواً موسوماً حتى يصل الراوتر إلى كل VLAN

والإعداد التالي بنيناه على مثال [Basic VLAN Switching](https://manual.mikrotik.com/docs/bridging-and-switching/user-guides/basic-vlan-switching?ref=arabroot.io) و[Bridge VLAN Table](https://manual.mikrotik.com/docs/bridging-and-switching/user-guides/bridge-vlan-table?ref=arabroot.io)، وهو لجهاز فيه Bridge جديد اسمه `bridge1` ومنافذ ether2 وether3 وether5، ولم نشغله في المختبر لأن CHR فيه منفذ داخلي واحد نستخدمه للإدارة:

```text
/interface bridge add name=bridge1 frame-types=admit-only-vlan-tagged vlan-filtering=no
/interface bridge port
add bridge=bridge1 interface=ether2 pvid=10 frame-types=admit-only-untagged-and-priority-tagged
add bridge=bridge1 interface=ether3 pvid=20 frame-types=admit-only-untagged-and-priority-tagged
add bridge=bridge1 interface=ether5 frame-types=admit-only-vlan-tagged
/interface bridge vlan
add bridge=bridge1 tagged=bridge1,ether5 vlan-ids=10
add bridge=bridge1 tagged=bridge1,ether5 vlan-ids=20
/interface vlan
add interface=bridge1 vlan-id=10 name=vlan10-lan
add interface=bridge1 vlan-id=20 name=vlan20-guest
/ip address
add address=192.168.88.1/24 interface=vlan10-lan
add address=192.168.20.1/24 interface=vlan20-guest
/interface list member
add list=LAN interface=vlan10-lan
add list=GUEST interface=vlan20-guest
# the last step, from a port outside the bridge or the serial console:
/interface bridge set bridge1 vlan-filtering=yes
```

في الإعداد أعلاه لاحظ التالي:

- منافذ Access لا تحتاج أن تكتبها في جدول VLAN كأعضاء بلا وسم، لأن RouterOS يضيفها تلقائياً بالرقم الذي في `pvid`، ولكن هذا الرقم لا يعمل إطلاقاً حتى تفعل `vlan-filtering`.
- `bridge1` نفسه عضو موسوم في VLAN 10 و20، لأن ال Bridge هو منفذ المعالج CPU Port، وبدونه لا تصل الإطارات إلى واجهتي VLAN في الراوتر، فلا يعمل DHCP ولا التوجيه.
- `frame-types=admit-only-vlan-tagged` على ال Bridge يمنع وصول الإطارات غير الموسومة إلى الراوتر، والتوثيق يحذر أن ال Bridge يضاف تلقائياً كعضو بلا وسم في VLAN 1، فيصبح باب إدارة غير مقصود عبر منفذ Trunk، لذلك افحص `/interface bridge vlan print` بعد التفعيل.
- تفعيل `vlan-filtering=yes` هو آخر خطوة، والتوثيق يقول صراحة لا تفعله قبل أن تجهز طريق الإدارة لأنك قد تغلق الجهاز على نفسك، ويوصي بأن تعمل من الكونسول التسلسلي Serial Console، أو من منفذ خارج ال Bridge، لأن ال Bridge يعيد ضبط نفسه عند التفعيل فتنقطع الجلسات حتى عبر MAC-Telnet.
- في جهاز بالإعداد الافتراضي ال Bridge اسمه `bridge` وعليه عنوان الشبكة الداخلية، فنقل هذا العنوان إلى `vlan10-lan` يقطع اتصالك، فخطط لذلك من منفذ احتياطي.
- التوثيق يوصي بأن تكون الإدارة على VLAN مستقل مثل 99 بدلاً من شبكة المكتب، وهذا ممتاز إذا كان عندك أجهزة كثيرة، وللبيت يكفي أن تبقى الإدارة في LAN.

وأي السويتشات تدعم التسريع في العتاد، وما الذي يوقفه، مثل بروتوكول RSTP في بعض الأجهزة، تجده في [الصفحة نفسها](https://manual.mikrotik.com/docs/bridging-and-switching/user-guides/basic-vlan-switching?ref=arabroot.io)، فراجع شريحة السويتش في جهازك قبل أن تبني عليها شبكة كبيرة.

## WireGuard على RouterOS: الوصول من الخارج دون فتح WinBox

RouterOS 7 فيه WireGuard مدمج، وهو ما توصي به MikroTik للوصول عن بعد بدلاً من فتح منافذ الإدارة. وإذا كنت لا تعرف WireGuard أو الفرق بين الوصول عن بعد وربط الفروع فابدأ ب [ما هو VPN؟](https://arabroot.io/articles/%D9%85%D8%A7-%D9%87%D9%88-vpn-%D8%B4%D8%B1%D8%AD-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86/)، ثم [ما هو النفق Tunnel في الشبكات؟](https://arabroot.io/articles/%D9%85%D8%A7-%D9%87%D9%88-%D8%A7%D9%84%D9%86%D9%81%D9%82-tunnel-%D9%81%D9%8A-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA/)، وإذا كنت تريد سيرفر WireGuard على Linux بواجهة ويب فهو في [شبكة خاصة مع WireGuard وwg-easy](https://arabroot.io/articles/%D8%B4%D8%A8%D9%83%D8%A9-%D8%AE%D8%A7%D8%B5%D8%A9-%D9%85%D8%B9-wireguard-%D9%88-wg-easy/). والصورة التالية تبين الحالتين على RouterOS:

![مخطط من جزأين: في الأعلى حاسوب محمول خارج المكتب بالعنوان 192.168.100.2 يتصل بنفق WireGuard إلى راوتر MikroTik على المنفذ 13231 UDP، والراوتر عنده الواجهة wireguard1 بالعنوان 192.168.100.1، ومن خلاله يصل الحاسوب إلى SSH في الراوتر وإلى الشبكة الداخلية، وفي الأسفل راوتران في فرعين Office1 وOffice2 بشبكتين 10.1.202.0/24 و10.1.101.0/24 بينهما نفق WireGuard بعنواني 10.255.255.1 و10.255.255.2 ومسار في كل راوتر إلى شبكة الفرع الآخر](https://arabroot.io/content/images/2026/10/mikrotik-scenarios-03-wireguard.webp)

في Road Warrior الراوتر سيرفر لعدة أجهزة، وفي Site-to-Site راوتران متكافئان وكل منهما يعرف شبكة الآخر

### Road Warrior: حاسوبك من أي مكان

اتبعنا مثال [صفحة WireGuard](https://manual.mikrotik.com/docs/virtual-private-networks/wireguard?ref=arabroot.io) كما هو تقريباً: واجهة WireGuard بعنوان من شبكة جديدة، وPeer لكل جهاز بمفتاحه العام وعنوانه، وقاعدة تقبل منفذ WireGuard في أول سلسلة input، وقاعدة تسمح لأجهزة النفق ب SSH إلى الراوتر، ثم أضفنا شبكة النفق إلى العناوين المسموح لها بخدمة SSH:

```text
/interface wireguard add name=wireguard1 listen-port=13231
/ip address add address=192.168.100.1/24 interface=wireguard1 comment=VPN
:put [/interface wireguard get [find name=wireguard1] public-key]
/interface wireguard peers add interface=wireguard1 name=laptop public-key="5+/7T4CZcwFYoEBLBoI6UKsSCRLcDMiSrKriwQQ51lQ=" allowed-address=192.168.100.2/32 comment=laptop
/ip firewall filter add chain=input action=accept protocol=udp dst-port=13231 comment="allow WireGuard" place-before=0
/ip firewall filter add chain=input action=accept in-interface=wireguard1 src-address=192.168.100.0/24 protocol=tcp dst-port=22 comment="VPN: SSH to router" place-before=[find comment="input: drop all not coming from LAN"]
/ip service set ssh available-from=192.168.88.0/24,192.168.100.0/24
```

في الإعداد أعلاه لاحظ التالي:

- عندما تنشئ واجهة WireGuard ينشئ RouterOS زوج المفاتيح تلقائياً، والأمر `:put` يطبع المفتاح العام لتضعه في الجهاز الآخر، والمفتاح الخاص لا يخرج من الراوتر.
- `allowed-address=192.168.100.2/32` يعني أن الراوتر يقبل من هذا الجهاز حزماً بهذا المصدر فقط، فلا يستطيع أن ينتحل عنوان جهاز آخر في النفق.
- لم نضع الواجهة في قائمة LAN، وكتبنا بدلاً من ذلك قاعدة تسمح ب SSH فقط، لأن التوثيق يذكر أن إضافتها إلى LAN تعطي أجهزة VPN كل ما تعطيه للشبكة الداخلية، وهذا قرار يجب أن تتخذه عن وعي.
- في المختبر لا يستطيع جهاز الاختبار أن يصل إلى واجهة WAN مباشرة بسبب طريقة بناء شبكة QEMU، فاتصل من شبكة الضيوف، وهي شبكة غير موثوقة مثل الإنترنت تماماً من وجهة نظر الجدار، فلم يصل إلى الراوتر حتى أضفنا قاعدة قبول المنفذ 13231.

وفي جهاز الاختبار أنشأنا واجهة WireGuard بالأداة `wg`، ثم أرسلنا ping عبر النفق، ثم دخلنا إلى الراوتر عبر SSH على عنوانه داخل النفق وطبعنا قائمة الأجهزة، والمخرج سوف يكون كما يلي:

```text
3 packets transmitted, 3 received, 0% packet loss, time 2005ms
rtt min/avg/max/mdev = 20.957/26.195/32.033/4.541 ms
interface: wg0
  public key: 5+/7T4CZcwFYoEBLBoI6UKsSCRLcDMiSrKriwQQ51lQ=
  private key: (hidden)
  listening port: 59529

peer: 4S65g9jyGhdDhlCOcV+R7yWMZh208klSfHMyeSPfJxI=
  endpoint: 192.168.20.1:13231
  allowed ips: 192.168.100.1/32
  latest handshake: 5 seconds ago
  transfer: 476 B received, 564 B sent
  persistent keepalive: every 25 seconds

[netadmin@CHR] > /interface wireguard peers print detail
0  ;;; laptop
   interface=wireguard1 name="laptop"
   public-key="5+/7T4CZcwFYoEBLBoI6UKsSCRLcDMiSrKriwQQ51lQ="
   endpoint-address="" endpoint-port=0 current-endpoint-address=192.168.20.200
   current-endpoint-port=59529 allowed-address=192.168.100.2/32
   client-endpoint="" client-allowed-address="" rx=5.5KiB tx=5.0KiB
   last-handshake=41s
```

في المخرج أعلاه لاحظ التالي:

- `latest handshake` عند الجهاز و`last-handshake` عند الراوتر هما أول ما تنظر إليه عند أي مشكلة، فإذا لم تظهر مصافحة إطلاقاً فالمشكلة في المنفذ أو المفاتيح أو الجدار، وقد جمعنا أسباب ذلك في [لا توجد مصافحة](https://arabroot.io/articles/%D8%B4%D8%A8%D9%83%D8%A9-%D8%AE%D8%A7%D8%B5%D8%A9-%D9%85%D8%B9-wireguard-%D9%88-wg-easy/#no-handshake).
- `current-endpoint-address` هو العنوان الذي جاء منه الجهاز هذه المرة، والراوتر يتعلمه من الحزم، ولهذا لا تحتاج أن تكتب عنوان الحاسوب المحمول الذي يتغير مع كل شبكة.
- `allowed ips: 192.168.100.1/32` عند الجهاز يعني نفقاً جزئياً Split Tunnel يحمل حركة الراوتر فقط، ولكي يصل إلى الشبكة الداخلية أضف `192.168.88.0/24`، وأضف في الراوتر قاعدة forward تسمح لشبكة النفق بها.

والإصدارات الحديثة من RouterOS تولد ملف إعداد الجهاز أو رمز QR مباشرة بالأمر `/interface/wireguard/peers/show-client-config`، والقيمة الافتراضية فيه `AllowedIPs = 0.0.0.0/0, ::/0` أي نفق كامل، ومنذ RouterOS 7.21 يمكن تغييرها بالخاصية `client-allowed-address` كما في التوثيق. وإذا كان عنوانك العام يتغير فتحتاج اسماً ثابتاً له، وقد شرحنا الطرق في [DNS الديناميكي DDNS](https://arabroot.io/articles/%D8%A7%D9%84-dns-%D8%A7%D9%84%D8%AF%D9%8A%D9%86%D8%A7%D9%85%D9%8A%D9%83%D9%8A-ddns-%D9%84%D8%B9%D9%86%D9%88%D8%A7%D9%86-%D9%85%D9%86%D8%B2%D9%84%D9%83/)، ولاحظ أن خدمة الاسم المدمجة في RouterOS IP/Cloud تحتاج ترخيصاً مدفوعاً في CHR حسب [صفحة ترخيص CHR](https://manual.mikrotik.com/docs/getting-started/routeros-licensing/chr/chr-licensing?ref=arabroot.io).

### Site-to-Site: ربط فرعين

في ربط الفروع يكون الطرفان راوترين، وكل منهما يعرف شبكة الآخر، وهذا إعداد الفرع الأول من [التوثيق](https://manual.mikrotik.com/docs/virtual-private-networks/wireguard?ref=arabroot.io)، والفرع الثاني مثله بالعناوين المعكوسة، ولم نشغله لأن المختبر فيه راوتر واحد:

```text
/interface/wireguard
add listen-port=13231 name=wireguard1
/interface/wireguard/peers
add allowed-address=10.1.101.0/24,10.255.255.2/32 \
    endpoint-address=192.168.80.1 endpoint-port=13231 \
    interface=wireguard1 \
    public-key="<Office2-public-key>"
/ip/address
add address=10.255.255.1/30 interface=wireguard1
/ip/route
add dst-address=10.1.101.0/24 gateway=wireguard1
/ip/firewall/filter
add chain=input action=accept \
    dst-port=13231 protocol=udp src-address=192.168.80.1 \
    place-before=([find chain=input]->0)
add chain=forward action=accept \
    dst-address=10.1.202.0/24 src-address=10.1.101.0/24 \
    place-before=([find chain=forward]->0)
add chain=forward action=accept \
    dst-address=10.1.101.0/24 src-address=10.1.202.0/24 \
    place-before=([find chain=forward]->0)
```

في الإعداد أعلاه لاحظ التالي:

- `allowed-address` هنا فيه شبكة الفرع الآخر كاملة، لأنها كلها تأتي عبر النفق، ومعها عنوان طرف النفق.
- المسار `dst-address=10.1.101.0/24 gateway=wireguard1` هو الذي يرسل حركة الفرع الآخر في النفق، فالواجهة وحدها لا تكفي.
- القاعدتان في forward ضروريتان مع الجدار الافتراضي، لأن الحركة بين الفرعين جديدة من وجهة نظر كل راوتر، و`place-before` يضعهما في أول السلسلة قبل أي قاعدة إسقاط.
- يجب ألا تتداخل شبكتا الفرعين، فإذا كان الفرعان كلاهما `192.168.88.0/24` وهو الافتراضي في MikroTik فغير أحدهما قبل الربط.

## نشر سيرفر منزلي بتوجيه منفذ بأقل خطر

رأينا في [المقال الثاني](https://arabroot.io/articles/%D8%AC%D8%AF%D8%A7%D8%B1-%D8%A7%D9%84%D8%AD%D9%85%D8%A7%D9%8A%D8%A9-%D9%81%D9%8A-mikrotik-routeros-%D8%A8%D8%A7%D9%84%D8%AA%D9%81%D8%B5%D9%8A%D9%84/#dst-nat) قاعدة dst-nat حقيقية توجه المنفذ 8443 إلى سيرفر داخلي، وقبل أن تفتح أي منفذ تأكد أن عندك عنواناً عاماً وأنك لست خلف CGNAT، كما في [اكتشاف CGNAT](https://arabroot.io/articles/%D8%AA%D8%B4%D8%BA%D9%8A%D9%84-%D8%AE%D8%A7%D8%AF%D9%85%D9%83-%D9%85%D9%86-%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA-%D8%A7%D9%84%D9%85%D9%86%D8%B2%D9%84/#cgnat)، فإذا كنت خلفه فلن يصل أي توجيه منفذ، وتحتاج إحدى الطرق الأخرى في المقال نفسه. وإذا قررت أن تفتح منفذاً، فهذه الأمور تقلل الخطر:

1. **ضع السيرفر في شبكة منفصلة:** مثل VLAN 30 للسيرفرات بقاعدة forward تمنعه من الشبكة الداخلية، كما فعلنا مع الضيوف، حتى إذا اخترق السيرفر لا يصبح المهاجم داخل شبكة المكتب. وهذا ما يسمى DMZ في الشبكات.
2. **افتح أقل عدد من المنافذ:** منفذ 443 واحد خلف Reverse Proxy أفضل من منفذ لكل تطبيق، ولا تفتح أبداً منافذ إدارة مثل SSH أو RDP أو لوحات قواعد البيانات.
3. **احصر المصدر عندما تستطيع:** إذا كان المستخدمون معروفين فأضف `src-address-list` إلى قاعدة dst-nat، فلا ترى بقية الإنترنت المنفذ إطلاقاً.
4. **احم التطبيق نفسه:** الراوتر يرى المنافذ ولا يرى طلبات HTTP، فالحماية من محاولات الدخول والطلبات المريبة مكانها أمام التطبيق، كما في [حماية تطبيقات الويب على مستوى HTTP](https://arabroot.io/articles/%D8%AD%D9%85%D8%A7%D9%8A%D8%A9-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D9%88%D9%8A%D8%A8-%D8%B9%D9%84%D9%89-%D9%85%D8%B3%D8%AA%D9%88%D9%89-http/).
5. **اختبر من الخارج:** من بيانات الهاتف وليس من شبكة البيت، وإلا فإنك تختبر Hairpin NAT وليس توجيه المنفذ.

## أكثر من مزود إنترنت: التحويل التلقائي Failover

الطريقة البسيطة أن تضع مسارين افتراضيين، الأول بمسافة Distance أقل فيفضله الراوتر، والثاني احتياطي، مع `check-gateway=ping` الذي يرسل ping إلى البوابة ويعطل المسار إذا لم ترد. ولكن هذه الطريقة تفشل في الحالة الأكثر شيوعاً، وهي أن مودم المزود نفسه يعمل ويرد على ping، والانقطاع بعده في شبكة المزود، فيبقى المسار الأول نشطاً والإنترنت مقطوعاً. والحل الذي تشرحه MikroTik في [Failover WAN Backup](https://manual.mikrotik.com/docs/high-availability-solutions/load-balancing/failover-wan-backup?ref=arabroot.io) هو التوجيه المتداخل Recursive Routing، أي أن تفحص عنواناً على الإنترنت عبر كل مزود بدلاً من البوابة، والصورة التالية تبين الفكرة:

![مخطط يبين راوتر MikroTik متصلاً بمزودين: ISP1 عبر البوابة 10.111.0.1 وISP2 عبر البوابة 10.112.0.1، ومسار خاص إلى 8.8.8.8 يمر دائماً عبر ISP1، ومسار خاص إلى 8.8.4.4 يمر دائماً عبر ISP2، والمسار الافتراضي الأول بمسافة 1 بوابته 8.8.8.8 مع check-gateway، والثاني بمسافة 2 بوابته 8.8.4.4، فإذا انقطع الإنترنت بعد مودم ISP1 لا يرد 8.8.8.8 فيتعطل المسار الأول وتنتقل الحركة إلى ISP2](https://arabroot.io/content/images/2026/10/mikrotik-scenarios-04-dual-wan.webp)

الراوتر يفحص الإنترنت نفسه عبر كل مزود، وليس المودم الذي أمامه فقط

وهذا الإعداد كما في التوثيق، حيث `10.111.0.1` بوابة المزود الأول و`10.112.0.1` بوابة الثاني، ولم نشغله لأن المختبر فيه مزود واحد:

```text
/ip/firewall/nat
add chain=srcnat action=masquerade out-interface=ether1
add chain=srcnat action=masquerade out-interface=ether2
/ip/route
add dst-address=8.8.8.8 scope=10 gateway=10.111.0.1
add dst-address=8.8.4.4 scope=10 gateway=10.112.0.1
add distance=1 gateway=8.8.8.8 target-scope=11 check-gateway=ping
add distance=2 gateway=8.8.4.4 target-scope=11 check-gateway=ping
```

في الإعداد أعلاه لاحظ التالي:

- المساران الأولان يقولان: اذهب إلى 8.8.8.8 دائماً عبر المزود الأول، وإلى 8.8.4.4 دائماً عبر الثاني، فيصبح كل عنوان منهما مقياساً لمزود واحد.
- المساران الافتراضيان بوابتهما هذان العنوانان وليس بوابة المزود، و`target-scope=11` مع `scope=10` هو ما يسمح للراوتر أن يحل البوابة البعيدة عبر المسار الخاص بها، وهذا معنى التوجيه المتداخل.
- إذا انقطع الإنترنت بعد المزود الأول توقف 8.8.8.8 عن الرد، فيعطل `check-gateway` المسار الأول وتنتقل الحركة إلى الثاني.
- العنوانان مثال من التوثيق، ويمكن أن تستخدم أي عنوانين موثوقين يردان على ping، ولكن لا تستخدمهما في شيء آخر، لأن الوصول إليهما مربوط بمزود واحد دائماً، والتوثيق يقترح أن تضيف عنواناً ثانياً لكل مزود حتى لا يتحول الراوتر بسبب انقطاع عنوان واحد.
- تذكر ما قلناه في [masquerade أم src-nat](https://arabroot.io/articles/%D8%AC%D8%AF%D8%A7%D8%B1-%D8%A7%D9%84%D8%AD%D9%85%D8%A7%D9%8A%D8%A9-%D9%81%D9%8A-mikrotik-routeros-%D8%A8%D8%A7%D9%84%D8%AA%D9%81%D8%B5%D9%8A%D9%84/#masquerade): مع أكثر من مزود قد تتسرب عناوين داخلية بعد عودة المزود الأول، والتوثيق يقترح مساراً احتياطياً من نوع blackhole لهذه الحالة.

وهذا الإعداد تحويل احتياطي فقط Failover، أي أن المزود الثاني لا يستخدم إلا عند انقطاع الأول، أما توزيع الحركة على المزودين معاً Load Balancing فطريقته في RouterOS هي PCC، وهي موضوع أطول مما يتسع له هذا المقال.

## تحديد السرعة لكل جهاز ب Simple Queues

إذا كان جهاز واحد في المكتب يأخذ الخط كله بالتنزيلات، فإن أبسط حل هو Simple Queue له، كما في [صفحة Queues](https://manual.mikrotik.com/docs/firewall-and-quality-of-service/queues/?ref=arabroot.io)، والقيمة `max-limit` تكتب رفعاً ثم تنزيلاً من وجهة نظر الجهاز:

```text
/queue simple add name=lan-pc target=192.168.88.10/32 max-limit=256k/256k comment="limit one PC"
```

ثم نزلنا نصف ميغابايت من الجهاز الداخلي، والمخرج سوف يكون كما يلي:

```text
206 500000B total=19.285125s speed=25926B/s

[netadmin@CHR] > /queue simple print stats
0  ;;; limit one PC
   name="lan-pc" target=192.168.88.10/32 rate=6.7kbps/257.2kbps total-rate=0bps
   packet-rate=21/21 total-packet-rate=0 queued-bytes=0/0 total-queued-bytes=0
   queued-packets=0/0 total-queued-packets=0 bytes=19738/535312 total-bytes=0
   packets=347/393 total-packets=0 dropped=0/11 total-dropped=0
```

في المخرج أعلاه لاحظ التالي:

- السرعة 25926 بايت في الثانية تساوي حوالي 207 كيلوبت، تحت الحد 256k، وكانت قبل الطابور حوالي 0.9 ميغابت محدودة بترخيص CHR المجاني كما رأينا في المقال الأول.
- `dropped=0/11` يعني أن الطابور أسقط 11 حزمة في اتجاه التنزيل حتى يبقي السرعة تحت الحد، وهذه هي طريقة TCP في التباطؤ.
- الطابور عمل رغم قاعدة FastTrack، لأننا رأينا في [المقال الثاني](https://arabroot.io/articles/%D8%AC%D8%AF%D8%A7%D8%B1-%D8%A7%D9%84%D8%AD%D9%85%D8%A7%D9%8A%D8%A9-%D9%81%D9%8A-mikrotik-routeros-%D8%A8%D8%A7%D9%84%D8%AA%D9%81%D8%B5%D9%8A%D9%84/#fasttrack) أن أي حزمة لم تمر فعلاً بطريق FastTrack في هذا المختبر، أما في جهاز يعمل فيه FastTrack فالتوثيق ينص على أن الحزم المسرعة تتجاوز Simple Queues، فاستثن الجهاز من FastTrack كما شرحنا هناك.
- لعدد كبير من الأجهزة لا تكتب طابوراً لكل جهاز، فطابور واحد من نوع PCQ يقسم السرعة بالتساوي بينها، كما في [مثال PCQ](https://manual.mikrotik.com/docs/firewall-and-quality-of-service/queues/pcq-example?ref=arabroot.io)، والسبب أن Simple Queues تقرأ بالترتيب لكل حزمة، فألف طابور يعني ألف مقارنة.

## أسماء محلية وحجب الإعلانات في DNS الراوتر

بعد أن جعلنا الراوتر سيرفر DNS للضيوف، نستطيع أن نضيف له أسماء محلية مثل `nas.lan` بدلاً من حفظ العناوين، وقوائم حجب Adlists تجيب على أسماء الإعلانات ب `0.0.0.0`، كما في [صفحة DNS](https://manual.mikrotik.com/docs/network-management/dns?ref=arabroot.io). وفي المختبر أضفنا اسماً محلياً وقائمة حجب صغيرة من ملف:

```text
/ip dns static add name=nas.lan address=192.168.88.20
/file add name=adlist.txt contents="0.0.0.0 ads.example.net\ntracker.example.net\n"
/ip dns adlist add file=adlist.txt
```

ثم سألنا الراوتر من جهاز الضيف، والمخرج سوف يكون كما يلي:

```text
Server:		192.168.20.1
Address:	192.168.20.1:53

Non-authoritative answer:
Name:	ads.example.net
Address: 0.0.0.0

Server:		192.168.20.1
Address:	192.168.20.1:53

Non-authoritative answer:
Name:	nas.lan
Address: 192.168.88.20

[netadmin@CHR] > /ip dns static print
Columns: NAME, TYPE, ADDRESS, TTL
# NAME     TYPE  ADDRESS        TTL
0 nas.lan  A     192.168.88.20  1d

[netadmin@CHR] > /ip dns adlist print
0  file=adlist.txt match-count=4 name-count=2
```

في المخرج أعلاه لاحظ التالي:

- `name-count=2` لأن القائمة تقبل صيغة ملف hosts وصيغة الأسماء وحدها، و`match-count=4` هي الأسئلة التي حجبتها القائمة، أي سؤالا A وAAAA لكل من الاسمين.
- القوائم الحقيقية مثل [قائمة StevenBlack](https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts?ref=arabroot.io) فيها عشرات آلاف الأسماء، والتوثيق يقول إن الراوتر يحفظها في ذاكرة DNS Cache، فارفع `cache-size` قبل إضافتها، وإلا توقف الاستيراد وكتب في السجل `max cache size reached`.
- الأسماء المحلية تعمل فقط للأجهزة التي تستخدم الراوتر سيرفراً لل DNS، ولماذا تختار `.lan` أو اسماً تحت نطاقك، وما معنى السجلات الأخرى، تجده في [شرح DNS وسجلاته للمبتدئين](https://arabroot.io/articles/%D8%B4%D8%B1%D8%AD-dns-%D9%88%D8%B3%D8%AC%D9%84%D8%A7%D8%AA%D9%87-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86/).

## حفظ الإعداد في Git

في [المقال الأول](https://arabroot.io/articles/mikrotik-%D9%88-routeros-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86-%D8%A7%D9%88%D9%84-%D8%A7%D8%B9%D8%AF%D8%A7%D8%AF-%D8%A7%D9%85%D9%86/#backup-export) رأينا أن `/export` ملف نصي قصير، وهذا يجعله مناسباً لحفظه في Git، فتعرف ماذا تغير ومتى ومن غيره، وتستطيع أن ترجع إلى أي نسخة سابقة. وإذا لم تكن تعرف Git فابدأ ب [إدارة النسخ وGit للمبتدئين](https://arabroot.io/articles/%D8%A7%D8%AF%D8%A7%D8%B1%D8%A9-%D8%A7%D9%84%D9%86%D8%B3%D8%AE-%D9%88-git-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86/). وفي المختبر حفظنا التصدير من حاسوب الإدارة عبر SSH في مستودع Git، ثم غيرنا حد الطابور، ثم صدرنا مرة أخرى:

```bash
ssh -i labkey -p 21180 netadmin@127.0.0.1 '/export terse' | tr -d '\r' | sed '1d' > router.rsc
git add router.rsc && git commit -m "router: baseline"
ssh -i labkey -p 21180 netadmin@127.0.0.1 '/queue simple set [find name=lan-pc] max-limit=512k/512k'
ssh -i labkey -p 21180 netadmin@127.0.0.1 '/export terse' | tr -d '\r' | sed '1d' > router.rsc
git diff
```

والمخرج سوف يكون كما يلي:

```text
diff --git a/router.rsc b/router.rsc
index 0118615..9e18f20 100644
--- a/router.rsc
+++ b/router.rsc
@@ -9,7 +9,7 @@
 /interface list add name=GUEST
 /ip pool add name=guest-pool ranges=192.168.20.100-192.168.20.200
 /ip dhcp-server add address-pool=guest-pool interface=vlan20-guest lease-time=1h name=guest-dhcp
-/queue simple add comment="limit one PC" max-limit=256k/256k name=lan-pc target=192.168.88.10/32
+/queue simple add comment="limit one PC" max-limit=512k/512k name=lan-pc target=192.168.88.10/32
 /ip neighbor discovery-settings set discover-interface-list=LAN
 /interface list member add interface=ether1 list=WAN
 /interface list member add interface=ether2 list=LAN
```

في الإعداد أعلاه لاحظ التالي:

- `terse` يكتب كل أمر كاملاً في سطر واحد مع مساره، فيصبح الفرق في Git سطراً واحداً بدلاً من أسطر مقطعة.
- `sed '1d'` يحذف السطر الأول الذي فيه تاريخ التصدير، لأنه يتغير في كل مرة فيظهر كتغيير حتى لو لم يتغير شيء.
- التصدير يخفي القيم الحساسة افتراضياً، فالمفتاح الخاص لواجهة WireGuard لم يظهر في الملف، ولا تقم بإضافة `show-sensitive` لملف يذهب إلى مستودع، والسبب أن كل من يقرأ المستودع يستطيع أن ينتحل الراوتر، كما شرحنا في [الأسرار في Git](https://arabroot.io/articles/%D8%A7%D8%AF%D8%A7%D8%B1%D8%A9-%D8%A7%D9%84%D9%86%D8%B3%D8%AE-%D9%88-git-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86/#secrets).
- هذا لا يغني عن النسخة الاحتياطية الثنائية المشفرة، لأن التصدير لا يحتوي المستخدمين ولا المفاتيح.

وبهذا الشكل يكفي سكربت صغير يعمل كل ليلة على سيرفر الإدارة ويصدر ويعمل commit إذا تغير شيء، فيصبح عندك سجل كامل لكل تغيير في كل راوتر.

## المراقبة: كيف تعرف أن شيئاً تغير؟

الراوتر الذي لا تراقبه تعرف أنه توقف عندما يتصل بك أحد، وهذه أشهر الطرق:

- **SNMP:** مدمج في RouterOS ومعطل افتراضياً، وتقرأه أغلب أنظمة المراقبة، والتوثيق في [صفحة SNMP](https://manual.mikrotik.com/docs/diagnostics-monitoring-and-troubleshooting/snmp?ref=arabroot.io) يقول إن الإصدارين v1 وv2c يعتمدان على اسم مجتمع Community نصي واضح، ويوصي بالإصدار v3 في الإنتاج لأنه يضيف التحقق والتشفير، فإذا فعلته فاستخدم v3 واحصره في عنوان سيرفر المراقبة.
- **The Dude:** برنامج MikroTik القديم لرسم الشبكة ومراقبتها، والتوثيق في [صفحة Dude](https://manual.mikrotik.com/docs/management-tools/dude?ref=arabroot.io) يقول إن تطويره توقف رسمياً وأصبح برنامجاً قديماً Legacy بلا تحديثات قادمة، لذلك لا ننصح بأن تبني عليه مراقبة جديدة.
- **Prometheus عبر مصدرات من المجتمع:** مثل [mktxp](https://github.com/akpw/mktxp?ref=arabroot.io) و[mikrotik-exporter](https://github.com/nshttpd/mikrotik-exporter?ref=arabroot.io)، وهي تقرأ من API الراوتر وتعرض المقاييس ل Prometheus وGrafana، وهي مشاريع من المجتمع وليست من MikroTik، فراجع نشاطها وصلاحيات المستخدم الذي تعطيه لها، وأعطه مجموعة قراءة فقط وليس full.

وأياً كانت الأداة، فأهم ما تراقبه: هل الراوتر يعمل، والمعالج والذاكرة، وحركة واجهة WAN، وعدد الاتصالات في جدول التتبع، وأي تغيير في الإعداد لم تفعله أنت، وهذا الأخير يكشفه سكربت Git السابق.

## الأخطاء الشائعة

- **شبكة ضيوف بالاسم فقط:** اسم Wi-Fi مختلف في ال Bridge نفسه لا يعزل شيئاً.
- **عزل الضيوف في forward فقط:** فيصلون إلى صفحة إدارة الراوتر وDNS وكل خدماته عبر input، كما رأينا في الحالة 4.
- **تفعيل vlan-filtering قبل تجهيز الإدارة:** فتغلق الجهاز على نفسك وتحتاج الكونسول أو إعادة الضبط.
- **نسيان bridge1 في جدول VLAN:** فيعمل التبديل بين المنافذ ولا يصل DHCP من الراوتر.
- **شبكات متداخلة بين الفروع:** فرعان على `192.168.88.0/24` لا يمكن ربطهما بالتوجيه.
- **إضافة واجهة WireGuard إلى LAN دون تفكير:** فيحصل كل جهاز VPN على كل صلاحيات الشبكة الداخلية.
- **check-gateway على بوابة المزود فقط:** فلا يتحول الراوتر عندما يكون الانقطاع بعد المودم.
- **Simple Queue مع FastTrack يعمل:** فيظهر الطابور في القائمة ولا يحدد شيئاً.
- **تصدير بالقيم الحساسة إلى Git:** فتنتشر مفاتيح WireGuard وكلمات مرور PPPoE مع المستودع.

## قائمة التحقق

1. الضيوف في VLAN مستقل وقائمة واجهات مستقلة، لا يصلون إلا إلى DNS وDHCP في الراوتر والإنترنت، وعزل العملاء مفعل في نقطة الوصول.
2. VLANs ب Bridge VLAN Filtering، وال Bridge عضو موسوم، وvlan-filtering فعل في النهاية، وجدول VLAN مراجع.
3. الوصول من الخارج عبر WireGuard فقط، ومنفذ WireGuard مقبول في input، وصلاحيات أجهزة VPN محددة بقواعد.
4. كل منفذ موجه له سبب، والسيرفر في شبكة منفصلة، والمصدر محصور حيث أمكن.
5. التحويل بين المزودين يفحص عنواناً على الإنترنت وليس البوابة.
6. الطوابير مستثناة من FastTrack أو FastTrack لا يعمل عليها.
7. التصدير في Git دون قيم حساسة، والنسخة الثنائية مشفرة خارج الجهاز.
8. مراقبة بـ SNMP v3 أو API بمستخدم قراءة فقط.

## تدريب عملي

1. أنشئ شبكة ضيوف في جهازك، ثم جرب من هاتف عليها الحالات الست التي جربناها، وطابق كل نتيجة بالقاعدة التي سببتها.
2. صدر إعداد راوترك إلى مستودع Git، ثم غير شيئاً من WinBox وصدر مرة أخرى، واقرأ الفرق.

## الخلاصة

وصلنا لنهاية الموضوع ولنهاية السلسلة، وأهم ما فيه:

- شبكة الضيوف تحتاج VLAN وعنوان شبكة وقائمة واجهات خاصة بها، وقاعدة input تمنعها من الراوتر، وقاعدة forward تسمح لها بالإنترنت فقط، وقد جربنا الحالات الست فعلاً.
- Bridge VLAN Filtering هي طريقة RouterOS 7 لتقسيم المنافذ، وال Bridge عضو موسوم، وتفعيلها آخر خطوة.
- WireGuard مدمج في RouterOS 7، وهو طريق الإدارة من الخارج، وكل Peer بمفتاحه وعنوانه، وصلاحياته في الجدار وليس في قائمة LAN تلقائياً.
- توجيه المنافذ يحتاج عنواناً عاماً، والأفضل أن يكون السيرفر في شبكة منفصلة وخلف حماية HTTP.
- التحويل بين مزودين يعتمد على فحص الإنترنت عبر كل مزود بالتوجيه المتداخل.
- Simple Queues تحدد السرعة لكل جهاز إذا لم يتجاوزها FastTrack، وDNS الراوتر يعطيك أسماء محلية وحجباً للإعلانات.
- التصدير النصي في Git يعطيك سجلاً لكل تغيير، والمراقبة بـ SNMP v3 أو Prometheus، وThe Dude توقف تطويره.

وفي مقالات قادمة بإذن الله من المرحلة نفسها سوف نشرح البدائل المفتوحة، OpenWrt على أجهزة البيت وOPNsense على صندوق صغير، وسوف ترى أن المفاهيم نفسها تتكرر بأسماء مختلفة، وتجد هذه المقالات في [مرحلة معدات الشبكة](https://arabroot.io/start/#stage-netgear).

[![](https://arabroot.io/content/images/2026/10/mikrotik-basics-cover-cover.webp)دليلMikroTik وRouterOS للمبتدئين: أول إعداد آمنتعرف على أجهزة MikroTik وتراخيص RouterOS، ثم قم بتأمين جهازك من أول دخول حتى لا يصبح جزءاً من شبكة مخترقة.](https://arabroot.io/articles/mikrotik-%D9%88-routeros-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86-%D8%A7%D9%88%D9%84-%D8%A7%D8%B9%D8%AF%D8%A7%D8%AF-%D8%A7%D9%85%D9%86/)[![](https://arabroot.io/content/images/2026/10/mikrotik-firewall-cover-cover.webp)دليلجدار الحماية Firewall في MikroTik RouterOS بالتفصيلكيف تمر الحزمة داخل جدار الحماية في RouterOS، وكيف تكتب قواعد مرتبة تحمي الراوتر والشبكة خلفه دون أن تفقد الوصول إليه.](https://arabroot.io/articles/%D8%AC%D8%AF%D8%A7%D8%B1-%D8%A7%D9%84%D8%AD%D9%85%D8%A7%D9%8A%D8%A9-%D9%81%D9%8A-mikrotik-routeros-%D8%A8%D8%A7%D9%84%D8%AA%D9%81%D8%B5%D9%8A%D9%84/)[![](https://arabroot.io/content/images/2026/10/network-devices-cover-cover.webp)دليلأجهزة الشبكة في البيت والمكتب: ماذا يفعل كل جهاز؟نأخذ كل جهاز في شبكة البيت والمكتب على حدة، من المودم إلى ال Router وال Switch، ونعرف ماذا يفعل ولماذا تحتاجه.](https://arabroot.io/articles/%D8%A7%D9%84%D9%85%D9%88%D8%AF%D9%85-%D9%88%D8%A7%D9%84%D8%B1%D8%A7%D9%88%D8%AA%D8%B1-%D9%88%D8%A7%D9%84%D8%B3%D9%88%D9%8A%D8%AA%D8%B4-%D9%85%D8%A7-%D8%A7%D9%84%D9%81%D8%B1%D9%82-%D8%A8%D9%8A%D9%86%D9%87%D8%A7/)[![](https://arabroot.io/content/images/2026/10/bridge-mode-cover-cover.webp)دليلBridge Mode: متى تجعل راوتر المزود مجرد مودملماذا يفشل توجيه المنافذ عندما تضع Router خاصاً بك خلف جهاز المزود، وكيف يحل وضع الجسر مشكلة ال Double NAT.](https://arabroot.io/articles/%D9%88%D8%B6%D8%B9-%D8%A7%D9%84%D8%AC%D8%B3%D8%B1-bridge-mode-%D9%84%D8%B1%D8%A7%D9%88%D8%AA%D8%B1-%D8%A7%D9%84%D9%85%D8%B2%D9%88%D8%AF/)[![](https://arabroot.io/content/images/2026/10/nat-explained-cover-cover.webp)دليلما هو NAT؟ شرح ترجمة العناوين وتوجيه المنافذلماذا تخرج كل أجهزة بيتك بعنوان عام واحد، وكيف يترجم ال Router العناوين، ولماذا يفشل توجيه المنافذ خلف CGNAT.](https://arabroot.io/articles/%D9%85%D8%A7-%D9%87%D9%88-nat-%D8%B4%D8%B1%D8%AD-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86/)[![](https://arabroot.io/content/images/2026/10/vpn-basics-cover-cover.webp)دليلما هو VPN؟ الشبكة الخاصة الافتراضية من المشكلة إلى الأنواعلماذا تحتاج شبكة خاصة افتراضية VPN، وكيف تغلف حزمك وتشفرها داخل نفق، وأي نوع منها يناسب فريقك.](https://arabroot.io/articles/%D9%85%D8%A7-%D9%87%D9%88-vpn-%D8%B4%D8%B1%D8%AD-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86/)

## سجل التحديثات

- أكتوبر 2026: كتابة المقال على RouterOS 7.24.5 (stable)، مع شبكة ضيوف وWireGuard وطابور وDNS وتصدير Git مجربة على CHR في QEMU داخل Docker، وإعدادات VLAN Filtering وSite-to-Site والتحويل بين مزودين من التوثيق الرسمي دون تشغيل.