- اختيار المكون
- إطلاق واجهات الشبكة
- إعداد نقطة وصول 802.11ac (5 جيجا هرتز)
- تكوين SSID الظاهري باستخدام hostapd
على مدى السنوات العشر الماضية ، اشتريت معدات شبكة رخيصة وقمت بتثبيت 
DD-WRT عليها من أجل إرجاع "الوظائف" لأكثر من 500 دولار تمت إزالتها من نواة Linux ، والتي تستند إليها البرامج الثابتة للسهم.
على الرغم من الثغرات غير المستقرة والأخطاء 
والنزاعات غير المصححة ، لا يزال DD-WRT أفضل من البرامج الثابتة الخاصة بالأوراق المالية. لكن المكونات الجديرة الآن أرخص من أي وقت مضى ، وقد تحول مجتمع DIY تمامًا إلى Linux (أنا أنظر إليك يا السيد Raspberry) ، فلماذا لا تبني جهاز التوجيه اللاسلكي الخاص بك مرة واحدة وإلى الأبد؟
اختيار المكون
بادئ ذي بدء ، تحتاج إلى اتخاذ قرار بشأن النظام الأساسي: 
x86 أو 
ARM ؟ لن 
أناقش بالتفصيل الاختلافات الرئيسية ، ولكن باختصار: الأول لديه أداء أفضل ، في حين أن الأخير هو أرخص وأكثر كفاءة في استخدام الطاقة. تعتبر لوحات Raspberry Pi (ومكافئاتها) رخيصة للغاية وربما أكثر قوة من معظم أجهزة التوجيه التجارية اللاسلكية ، ولكن منصات x86 واسعة الانتشار وتتمتع بعوامل شكل موحدة ومنافذ توسع.
بالطبع ، أهم التفاصيل هي مجموعة الشرائح. اليوم ، فإن المعايير الفعلية هي 
802.11n (2.4 غيغاهرتز) و 
802.11 aac (5 غيغاهرتز) ، ولكن التقاط برامج تشغيل Linux 
لا يزال يمثل تحديًا ، خاصة مع دعم وضع AP (نقطة الوصول). باختصار ، إذا كنت لا تريد المشكلات ، فاختر شرائح 
Atheros . 
برامج تشغيل ath9k و 
ath10k مدعومة جيدًا ، يمكنك العثور عليها بسهولة باستخدام واجهات USB و / أو mini-PCIe.
وحدة تحكم واحدة على الأقل لواجهة الشبكة (NIC) هي الحد الأدنى الضروري ، واختر RAM وتخزينها حسب ذوقك.
قائمة المواد
بعد التضحية باستهلاك السعر والطاقة ، اخترت النظام الأساسي x86 للتكوين المعياري القوي نسبيا المتاح للترقية.
إذا كنت لا تحتاج إلى ARM ، فليس من الضروري وجود مروحة.السكن واسع ، به فتحتان معدتان لسد التيار المتردد / التيار المتردد. تم تثبيت اللوحة الأم وذاكرة الوصول العشوائي و Pico-PSU بسلاسة:
 حديد الاباحية
حديد الاباحيةلقد تبين أن تثبيت mini-PCIe WiFi هو الأصعب ، لأن اللوحة تدعم فقط البطاقات ذات الحجم الصغير: هنا تم تمديد كابل تمديد mPCIe. أخذت كبل FFC بحجم 20 سم (مضمن) لتوصيل كلاً من جانبي المهايئ وتثبيت mini-PCIe بالهيكل باستخدام شريط مزدوج الجوانب.


 مصغرة PCIe المتوسع
مصغرة PCIe المتوسعلحسن الحظ ، يأتي الهيكل مع ثلاثة فتحات للهواء مسبقة القطع. ها هي النتيجة النهائية:


البرمجيات
من الواضح أننا نضع لينكس. حسب الجهاز ، يمكن أن يكون توزيعًا 
محسنًا مثل 
Raspbian (لـ Raspberry Pi) أو أي توزيع Linux آخر تريده. منذ أن كنت أستخدم Ubuntu لسنوات عديدة ، اخترت 
Ubuntu Server 18.04 LTS ، وأنا معتاد على العمل معه ولديه دعم طويل الأجل.
تفترض بقية هذه المقالة أنك تستخدم توزيعًا يستند إلى دبيان.إذا تمت عملية التثبيت بشكل جيد وذهبت إلى وحدة التحكم ، فحدد أسماء الواجهة:
$ ip -br a | awk '{print $1}' lo enp1s0 enp2s0 wlp5s0 
هناك نوعان من بطاقات NIC مدمجة على اللوحة الأم: وهما 
enp1s0 و 
enp2s0 . تظهر البطاقة اللاسلكية كـ 
wlp5s0 وتدعم وضع AP ، على النحو المقصود:
 $ iw list ... Supported interface modes: * managed * AP * AP/VLAN * monitor * mesh point 
الآن يمكننا تحديد ما نحتاج إليه: لقد وضعنا بطاقة واجهة الشبكة (NIC) الأولى كمنفذ لشبكة WAN ، والثاني وصلنا بالواجهة اللاسلكية:

الشبكة
إذا كان لديك Ubuntu 18.04 ، فتخلص من 
netplan الفور للعودة إلى دعم / etc / network / واجهات:
 $ sudo apt-get install ifupdown bridge-utils $ sudo systemctl stop networkd-dispatcher $ sudo systemctl disable networkd-dispatcher $ sudo systemctl mask networkd-dispatcher $ sudo apt-get purge nplan netplan.io 
كخادم DHCP / DNS ، حدد 
dnsmasq :
 $ sudo apt-get install dnsmasq 
نظرًا لأننا سنبدأ عملية 
dnsmasq وتكوينها من خلال ربط 
post-up ، تذكر تعطيل البرنامج الخفي في وقت التمهيد:
 $ sudo sed -i "s/^ENABLED=1$/ENABLED=0/g" /etc/default/dnsmasq 
سنكتب التكوين 
الأولي لواجهات الشبكة وفقًا للمخطط ، بما في ذلك التكوين الأدنى لـ 
dnsmasq :
 $ cat /etc/network/interfaces  
الوثائق /etc/network/interfaces هناكما ترون من قسم 
post-up ، يبدأ dnsmasq بمجرد ارتفاع الجسر. يتم إجراء التكوين الخاص به فقط بواسطة وسيطات سطر الأوامر ( 
--conf-file=/dev/null ) ، وستتوقف العملية عند إيقاف تشغيل الواجهة.
لم يتم 
bridge_ports واجهة 
bridge_ports وجه التحديد في 
wlp5s0 ، لأن 
hostapd إلى الجسر تلقائيًا (قد يرفض brctl القيام بذلك قبل بدء hostapd لتغيير وضع الواجهة).
انظر وثائق dnsmasq .يمكنك الآن إعادة تشغيل الشبكة (إعادة تشغيل شبكة 
sudo service networking restart ) أو ببساطة إعادة التشغيل للتحقق من صحة تكوين الشبكة.
يرجى ملاحظة: على الرغم من أنه يمكننا حاليًا استلام DHCP من 
enp2s0 ، فلن يكون لدينا 
اتصال لاسلكي (أكثر في هذا لاحقًا) 
أو الوصول إلى الإنترنت (انظر أدناه).
التوجيه
في هذه المرحلة ، تحتاج إلى توجيه الحزم بين 
enp2s0 LAN ( 
enp2s0 ) و WAN ( 
enp1s0 ) وتمكين 
ترجمة عنوان الشبكة .
تمكين إعادة توجيه الحزم أمر سهل:
 $ sudo sysctl -w net.ipv4.ip_forward=1 $ echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf 
يضمن الأمر الأخير أن يتم حفظ التكوين حتى إعادة التمهيد التالي.تعتبر ترجمة عنوان الشبكة مسألة أخرى ، عادة ما يتعين عليك التعامل مع (أو بالأحرى محاربة) 
iptables . لحسن الحظ ، انتهى العصر الحجري الطويل ، وبذل شباب FireHol الكثير من الجهد لإضافة المستوى الضروري من التجريد:
 $ sudo apt-get install firehol 
FireHOL هي لغة جدار حماية آمنة على أحدث طراز ، تكوينها سهل الفهم ويمكن الوصول إليها. لم تعد بحاجة لكتابة عبارات 
iptables : يتم ترجمة ملف التكوين نفسه إلى عبارات 
iptables وتطبيقه حسب الحاجة. لا الخفي في الخلفية.
يتم تمكين ترجمة عناوين الشبكة لواجهات LAN مع إضافة الحد الأدنى من قواعد جدار الحماية بشكل أساسي:
 $ cat /etc/firehol/firehol.conf version 6  
مكتوب FireHOL من قبل الناس للأشخاص ، والوثائق هنا .يمكنك التحقق من الإعدادات عن طريق بدء 
firehol يدويًا ( 
sudo firehol start ) وتوصيل الكمبيوتر المحمول بمنفذ LAN: 
يمكنك الآن الاتصال بالإنترنت إذا كان منفذ WAN متصلاً.
قبل إعادة التشغيل ، 
تأكد من تعديل 
/etc/default/firehol للسماح لـ 
/etc/default/firehol ببدء التشغيل:
 $ sudo sed -i -E "s/^START_FIREHOL=.+$/START_FIREHOL=YES/g" /etc/default/firehol 
لن أخوض في تفاصيل بناء جملة firehol بالكامل ، يشرح ملف التكوين نفسه ، أوصي firehol إلى الوثائق في حالة تكوين أكثر تعقيدًا. إذا كنت مهتمًا حقًا بما فعله firehol مع iptables ، فاكتب sudo firehol status في سطر الأوامر.نقطة اتصال لاسلكية
من الواضح أننا 
سندير نقطة الوصول باستخدام 
hostapd :
 $ sudo apt-get install hostapd 
ستجد أدناه ملف تكوين 802.11 ن / 2.4 غيغاهرتز / WPA2-AES الحد الأدنى وغير المبرر تقريبًا:
 $ cat /etc/hostapd/hostapd-simple.conf  
راجع hostpad.conf الوثائق على /usr/share/doc/hostapd/examples/hostapd.conf .
يمكن اختبار التكوين الموصوف يدويًا:
 $ sudo hostapd /etc/hostapd/hostapd-simple.conf 
إذا سارت الأمور على ما يرام ، 
فسيظهر اتصال لاسلكي . إذا كنت راضيًا عن النتيجة ، 
فلا تنسَ تغيير التكوين لبدء 
hostapd بمجرد ارتفاع الواجهة (كما هو موضح أدناه).
إليك واجهاتك النهائية /etc/network/interfaces: $ cat /etc/network/interfaces  
إعداد نقطة وصول 802.11ac (5 جيجا هرتز)
المسح السلبي
وفقًا 
لوثائق Airetos AEX-QCA9880-NX ، تدعم الشرائح 802.11ac ، حتى نتمكن من ترك قنوات 2.4 جيجا هرتز المزدحمة في الجنة 5 جيجاهرتز.
لنرى ما هي الترددات المدعومة:
 $ iw list ... Frequencies: * 2412 MHz [1] (20.0 dBm) * 2417 MHz [2] (20.0 dBm) * 2422 MHz [3] (20.0 dBm) * 2427 MHz [4] (20.0 dBm) * 2432 MHz [5] (20.0 dBm) * 2437 MHz [6] (20.0 dBm) * 2442 MHz [7] (20.0 dBm) * 2447 MHz [8] (20.0 dBm) * 2452 MHz [9] (20.0 dBm) * 2457 MHz [10] (20.0 dBm) * 2462 MHz [11] (20.0 dBm) * 2467 MHz [12] (disabled) * 2472 MHz [13] (disabled) * 2484 MHz [14] (disabled) ... Frequencies: * 5180 MHz [36] (17.0 dBm) (no IR) * 5200 MHz [40] (17.0 dBm) (no IR) * 5220 MHz [44] (17.0 dBm) (no IR) * 5240 MHz [48] (17.0 dBm) (no IR) * 5260 MHz [52] (23.0 dBm) (no IR, radar detection) * 5280 MHz [56] (23.0 dBm) (no IR, radar detection) * 5300 MHz [60] (23.0 dBm) (no IR, radar detection) * 5320 MHz [64] (23.0 dBm) (no IR, radar detection) * 5500 MHz [100] (23.0 dBm) (no IR, radar detection) * 5520 MHz [104] (23.0 dBm) (no IR, radar detection) * 5540 MHz [108] (23.0 dBm) (no IR, radar detection) * 5560 MHz [112] (23.0 dBm) (no IR, radar detection) * 5580 MHz [116] (23.0 dBm) (no IR, radar detection) * 5600 MHz [120] (23.0 dBm) (no IR, radar detection) * 5620 MHz [124] (23.0 dBm) (no IR, radar detection) * 5640 MHz [128] (23.0 dBm) (no IR, radar detection) * 5660 MHz [132] (23.0 dBm) (no IR, radar detection) * 5680 MHz [136] (23.0 dBm) (no IR, radar detection) * 5700 MHz [140] (23.0 dBm) (no IR, radar detection) * 5720 MHz [144] (23.0 dBm) (no IR, radar detection) * 5745 MHz [149] (30.0 dBm) (no IR) * 5765 MHz [153] (30.0 dBm) (no IR) * 5785 MHz [157] (30.0 dBm) (no IR) * 5805 MHz [161] (30.0 dBm) (no IR) * 5825 MHz [165] (30.0 dBm) (no IR) ... 
في القائمة أعلاه ، نرى أن الشرائح تدعم القنوات 1-14 (2.4 جيجا هرتز) والقنوات 36-165 (5 جيجا هرتز) ، لكن هل لاحظت 
no IR إشارة 
no IR ؟
تشير إشارة 
no IR إلى 
عدم بدء الإشعاع (أي 
المسح السلبي ). هذا يعني أن هذا الوضع محظور في الحالة التي يكون فيها الجهاز هو أول من يطلق الإشعاع (بما في ذلك 
المنارات ). بمعنى آخر ، 
لا يمكنك تشغيل نقطة الوصول على هذه القنوات !
المتطلبات التنظيمية
يتم شرح الموقف أعلاه من خلال 
المتطلبات التنظيمية لنظام Linux ، والتي تنظم استخدام طيف الترددات الراديوية 
حسب البلد .
لكن مهلا!
أنا أعيش في الولايات المتحدة الأمريكية ، ويقول الرابط إن لي الحق في إطلاق الإشعاع على القنوات 36-48 ، فما الأمر؟ لنرى النطاق التنظيمي المستخدم حاليًا:
 $ iw reg get country 00: DFS-UNSET (2402 - 2472 @ 40), (N/A, 20), (N/A) (2457 - 2482 @ 40), (N/A, 20), (N/A), NO-IR (2474 - 2494 @ 20), (N/A, 20), (N/A), NO-OFDM, NO-IR (5170 - 5250 @ 80), (N/A, 20), (N/A), NO-IR (5250 - 5330 @ 80), (N/A, 20), (0 ms), DFS, NO-IR (5490 - 5730 @ 160), (N/A, 20), (0 ms), DFS, NO-IR (5735 - 5835 @ 80), (N/A, 20), (N/A), NO-IR (57240 - 63720 @ 2160), (N/A, 0), (N/A) 
توضح المشكلة أن النطاق 
العالمي نشط حاليًا (أو غير مثبت) ، أي 
الحد الأدنى للقيم المسموح بها في كل بلد .
لسوء الحظ ، لا يمكنك تثبيت مجال 
sudo iw reg set يدويًا ، لأن المجال محمي في EEPROM:
 $ dmesg | grep EEPROM [ 12.123068] ath: EEPROM regdomain: 0x6c 
التصحيح!
لحسن الحظ ، تتم معالجة المتطلبات التنظيمية على مستوى برنامج التشغيل ، بحيث يمكن تغييرها بسهولة: نجد التصحيح في 
التعليمات البرمجية المصدر Open-WRT .
أولاً وقبل كل شيء ، لا تنس توصيل مستودع شفرة المصدر من 
/etc/apt/sources.list :
 $ cat /etc/apt/sources.list ... deb-src http://us.archive.ubuntu.com/ubuntu/ bionic main restricted ... 
ثم قم بإعداد البيئة عن طريق تثبيت التبعيات اللازمة:
 $ sudo apt-get install build-essential fakeroot $ sudo apt-get build-dep linux 
قم بتنزيل مصادر kernel:
 $ apt-get source linux 
نظرًا لأنه لا يمكن تطبيق تصحيح Open-WRT 
الأصلي "كما هو" على شجرة نواة Ubuntu نظرًا للاختلافات الطفيفة في نظام البناء ، كان علي إصلاحها:
 $ VERSION=$(uname -r) $ cd linux-${VERSION%%-*} $ wget -O - https://gist.github.com/renaudcerrato/02de8b2e8dc013bc71326defd2ef062c/raw/a2db325e520e6442c8c12f7599d64ac1b7596a3e/402-ath_regd_optional.patch | patch -p1 -b 
كل شيء جاهز للتجميع:
 $ fakeroot debian/rules clean $ fakeroot debian/rules binary-generic 
إذا لم تكن هناك مشكلات ، يمكنك الآن تثبيت kernel الثابت أعلى السابقة:
 $ cd .. $ sudo dpkg -i linux*.deb 
إعادة التشغيل ، وفويلا:
 $ sudo iw reg set US $ iw list ... Frequencies: * 5180 MHz [36] (17.0 dBm) * 5200 MHz [40] (17.0 dBm) * 5220 MHz [44] (17.0 dBm) * 5240 MHz [48] (17.0 dBm) * 5260 MHz [52] (23.0 dBm) (radar detection) * 5280 MHz [56] (23.0 dBm) (radar detection) * 5300 MHz [60] (23.0 dBm) (radar detection) * 5320 MHz [64] (23.0 dBm) (radar detection) * 5500 MHz [100] (23.0 dBm) (radar detection) * 5520 MHz [104] (23.0 dBm) (radar detection) * 5540 MHz [108] (23.0 dBm) (radar detection) * 5560 MHz [112] (23.0 dBm) (radar detection) * 5580 MHz [116] (23.0 dBm) (radar detection) * 5600 MHz [120] (23.0 dBm) (radar detection) * 5620 MHz [124] (23.0 dBm) (radar detection) * 5640 MHz [128] (23.0 dBm) (radar detection) * 5660 MHz [132] (23.0 dBm) (radar detection) * 5680 MHz [136] (23.0 dBm) (radar detection) * 5700 MHz [140] (23.0 dBm) (radar detection) * 5720 MHz [144] (23.0 dBm) (radar detection) * 5745 MHz [149] (30.0 dBm) * 5765 MHz [153] (30.0 dBm) * 5785 MHz [157] (30.0 dBm) * 5805 MHz [161] (30.0 dBm) * 5825 MHz [165] (30.0 dBm) ... 
لتجنب التحديثات التلقائية ، قد تحتاج إلى إصلاح إصدار Linux kernel .التكوين
سيكون 
hostapd تكوين 
hostapd الجديد بسيطًا جدًا: 
hw_mode=a يتضمن نطاقات 5 جيجاهرتز ، و 
ieee80211ac=1 يتضمن 802.11ac (VHT). 
ieee80211d=1 الخيار 
ieee80211d=1 مع 
country_code=US المجال التنظيمي الذي نعمل بموجبه.
لتحقيق أقصى استفادة من النطاق الترددي ، يجب أن يعكس 
ht_capab و 
vht_capab قدرات الجهاز:
 $ iw list ... Band 1: Capabilities: 0x19e3 RX LDPC HT20/HT40 Static SM Power Save RX HT20 SGI RX HT40 SGI TX STBC RX STBC 1-stream Max AMSDU length: 7935 bytes DSSS/CCK HT40 ... Band 2: VHT Capabilities (0x338001b2): Max MPDU length: 11454 Supported Channel Width: neither 160 nor 80+80 RX LDPC short GI (80 MHz) TX STBC RX antenna pattern consistency TX antenna pattern consistency 
مع وضع ذلك في الاعتبار ، 
إليك هو hostapd.conf النهائي :
 $ cat /etc/hostapd/hostapd.conf  
راجع hostpad.conf الوثائق على /usr/share/doc/hostapd/examples/hostapd.conf .
في هذه المرحلة ، يعمل جهاز التوجيه اللاسلكي بالكامل ، وإذا كنت بحاجة إلى تكوين أكثر تعقيدًا ، فيمكنك الآن الغوص في ملفات التكوين.
تكوين SSID الظاهري باستخدام hostapd
بغض النظر عما إذا كنت ترغب في تكوين نقطة وصول ضيف أو شبكة لاسلكية مخصصة لشبكة VPN الخاصة بك ، في مرحلة ما سيكون عليك تكوين SSID افتراضي.
الرسم البياني
استنادًا إلى 
التكوين الحالي ، إليك رسم تخطيطي محدث لما نريد الحصول عليه. بافتراض أن 
wlp5s0 هي الواجهة اللاسلكية المادية ، فسوف تعمل SSID الافتراضية على الواجهة الافتراضية 
wlan0 باستخدام الشبكة الفرعية 
192.168.2.0/24 الخاصة بها:

التحضير
أولاً ، تحقق من أن جهازك اللاسلكي يدعم معرفات SSID متعددة:
 $ iw list ... valid interface combinations: *  
كما ترون ، تدعم الشرائح ما يصل إلى ثماني نقاط وصول على قناة واحدة. هذا يعني أنه يمكنك تكوين ما يصل إلى سبعة معرفات SSID افتراضية ، وستعمل جميعها على نفس القناة.
واجهة الشبكة
وفقًا للوثائق الموجودة في hostapd.conf ، يوجد اتصال صارم بين عنوان MAC الخاص بالواجهة الفعلية و BSSID للواجهات الافتراضية:
سيقوم hostapd بإنشاء قناع BSSID استنادًا إلى BSSIDs التي تم تكوينها. سيتحقق hostapd من أن dev_addr & MASK == dev_addr . إذا لم تكن هذه هي الحالة ، فيجب تغيير عنوان MAC للراديو قبل بدء hostapd. إذا تم تكوين BSSID لكل BSS ثانوي ، فلن يتم تطبيق هذا القيد على hostapd ويمكن استخدام أقنعة أخرى إذا كان برنامج التشغيل يدعمها (على سبيل المثال ، تبديل البت المُدار محليًا)
يتم تعيين BSSID من أجل كل BSS ، إلا إذا تم تحديد BSSID صريح باستخدام المعلمة 'bssid'.
إذا تم تحديد BSSID صريح ، فيجب اختياره بحيث:
- ينتج قناعًا صالحًا يغطيه و dev_addr
- ليس هو نفسه عنوان MAC للراديو
- ليس هو نفسه أي BSSID المحدد صراحة
للوفاء بهذه المتطلبات والسماح لـ 
hostapd بتعيين 
hostapd تلقائيًا للواجهة (الواجهات) الافتراضية ، نقوم بتحديث عنوان MAC الخاص بالواجهة اللاسلكية الفعلية عن طريق التخلص من البتات الأربعة الأقل أهمية. هذا يكفي لمدة 15 BSSID الظاهري - أكثر بكثير من اللازم.
أولاً ، حدد عنوان MAC الحالي:
 $ ip addr show wlp5s0 | grep link | awk '{print $2}' 44:c3:06:00:03:eb 
إذا قمت بمسح البتات الأربعة الأخيرة وقمت بتعيين بت 
U / L ، فستحصل على عنوان MAC 
46:c3:06:00:03:e0 .
سنقوم الآن بتحديث التكوين لضبط عنوان MAC الصحيح قبل تحميل الواجهة ، ونعلن أيضًا عن واجهة لاسلكية افتراضية وفقًا للمخطط:
 $ cat /etc/network/interfaces ...  
عظيم يمكنني استخدام 
dnsmasq DHCP - لا تتردد في استبدال مع ما تريد. يرجى ملاحظة أنه لكي تعمل الواجهة الافتراضية بشكل صحيح ، يجب 
allow-hotplug .
تكوين نقطة الوصول
الآن أبسط شيء: إضافة SSID الظاهري إلى تكوين 
hostapd الحالي. فقط أضف هذا 
إلى نهاية ملف 
hostapd.conf الموجود:
 $ cat /etc/hostapd/hostapd.conf ...  
في المثال ، استخدمت تشفير WPA2 ، لكن معظم خيارات واجهة الراديو متاحة هنا (على سبيل المثال ، 
channel ). يمكنك إضافة المزيد من معرفات مجموعة الخدمات (SSIDs) الافتراضية عن طريق إضافة الأسطر في ملف التكوين ببساطة وفقًا للواجهات الظاهرية المعلنة والمكوّنة بشكل صحيح.
الآن أعد التشغيل - وشاهد SSID الجديد مع الواجهة اللاسلكية الجديدة (انتبه إلى عنوان MAC):
 $ ip addr show wlan0 | grep link | awk '{print $2}' 46:c3:06:00:03:e1 
هذا كل شيء يا رفاق!