دليل عمليات ونشر OmniTWAG
تم إنشاؤه بواسطة Omnitouch
هذا الدليل مخصص لمشغلي الشبكات، ومديري الأنظمة، والعملاء الذين يقومون بنشر OmniTWAG.
جدول المحتويات
- مقدمة
- ما هو تحميل WiFi؟
- معمارية النشر
- تدفق الشحن
- تدفق المصادقة
- دليل التكوين
- إعداد نقطة الوصول
- تكامل Hotspot 2.0
- المراقبة والإدارة
- استكشاف الأخطاء وإصلاحها
- الامتثال للمعايير
مقدمة
OmniTWAG (بوابة الوصول الموثوق لشبكة WiFi) هو تنفيذ متوافق مع المعايير لـ 3GPP TWAG الذي يمكّن مشغلي الشبكات المحمولة من تحميل حركة مرور المشتركين من الشبكات الخلوية إلى نقاط وصول WiFi بشكل آمن مع الحفاظ على المصادقة الآمنة المعتمدة على SIM.
يقوم TWAG بمصادقة مشتركي WiFi باستخدام بيانات اعتماد SIM الخاصة بهم عبر EAP-AKA (بروتوكول المصادقة القابل للتوسيع - المصادقة واتفاق المفاتيح)، وهو نفس آلية المصادقة المستخدمة في الشبكات الخلوية. وهذا يوفر وصول WiFi سلس وآمن للمشتركين المحمولين دون الحاجة إلى كلمات مرور WiFi منفصلة.
الفوائد الرئيسية
للمستخدمين النهائيين:
- تكوين صفر: يعمل مباشرة مع SIM متوافق
- تجربة سلسة: اتصال تلقائي مثل الخلوية
- آمن: يستخدم دائمًا WiFi مشفر (WPA2)
- بدون كلمات مرور: مصادقة معتمدة على SIM
لمشغلي الشبكات المحمولة:
- تخفيف سعة الشبكة: يقلل الحمل على محطات القاعدة الخلوية
- تحميل محكوم: يمكن فقط للمشتركين المصرح لهم الاتصال
- تحسين تجربة المستخدم: عادةً ما يوفر WiFi عرض نطاق ترددي أعلى
- كفاءة التكلفة: بنية WiFi التحتية أقل تكلفة من الخلوية
- هوية متسقة: نفس IMSI المستخدمة لـ WiFi والخلوية
- تكامل الفوترة: يمكن أن يتم الشحن لاستخدام WiFi إذا رغبت في ذلك
للمواقع/الشركات:
- أمان على مستوى المشغل: لا يوجد خطر من مشاركة كلمات المرور
- قابلية التوسع: دعم لآلاف المستخدمين دون توفير يدوي
- إدارة مبسطة: لا حاجة لتوزيع كلمات مرور WiFi
ما هو تحميل WiFi؟
يسمح تحميل WiFi لمشغلي الشبكات المحمولة بإعادة توجيه حركة بيانات المشتركين من الشبكات الخلوية المزدحمة إلى شبكات WiFi.
كيف يمكّن TWAG التحميل
يعمل TWAG كبوابة المصادقة ��ين:
- نقاط وصول WiFi (عبر بروتوكول RADIUS)
- شبكة النواة المحمولة HSS/HLR (عبر واجهة Diameter SWx)
عندما يتصل جهاز المشترك بنقطة وصول WiFi مكونة للتحميل:
- يتعرف الجهاز على نفسه باستخدام IMSI الخاص به (من بطاقة SIM)
- تقوم نقطة وصول WiFi بإعادة توجيه طلبات المصادقة إلى TWAG عبر RADIUS
- يتواصل TWAG مع HSS الخاص بالمشغل لاسترداد متجهات المصادقة
- تحدث مصادقة التحدي والاستجابة EAP-AKA بين الجهاز وTWAG
- عند المصادقة الناجحة، يتم منح الجهاز وصول WiFi
- اختياريًا، يمكن توجيه الحركة مرة أخرى إلى النواة المحمولة أو الانفصال محليًا
معمارية النشر
طوبولوجيا الشبكة
أسطورة الواجهة:
- STa*: واجهة RADIUS/Diameter بين نقطة وصول WiFi وTWAG (غير 3GPP إلى AAA)
- SWx: واجهة Diameter بين TWAG (خادم AAA 3GPP) وHSS
- S2a/S2b: واجهة نفق GTP للعودة إلى الشبكة المنزلية (اختياري)
- SGi: واجهة لشبكات بيانات الحزمة الخارجية (الإنترنت)
- 802.11: واجهة الراديو WiFi
- EAPOL: EAP عبر LAN (مصادقة 802.1X)

سيناريوهات النشر
السيناريو 1: الانفصال المحلي (موصى به للأداء)
الفوائد:
- انخفاض زمن الانتقال (لا يوجد توجيه إلى النواة)
- تقليل الحمل على الشبكة الأساسية
- تجربة مستخدم أفضل للتطبيقات عالية النطاق
- توفير التكاليف على سعة العودة
السيناريو 2: توجيه الشبكة المنزلية (نفق GTP)
الفوائد:
- تنفيذ سياسة متسقة
- فوترة مركزية
- تطبيق سياسات VPN/الأمان المؤسسية
- تنقل سلس بين WiFi والخلوية
خيارات اتصال SWx
الخيار 1: اتصال مباشر بـ HSS
حالة الاستخدام: نشرات بسيطة، بيئات مختبرية، HSS واحد
الفوائد:
- زمن انتقال أقل (لا يوجد قفز عبر DRA)
- تكوين مبسط
- سهولة استكشاف الأخطاء
الخيار 2: عبر DRA (وكيل توجيه Diameter)
حالة الاستخدام: نشرات متعددة لـ HSS، سيناريوهات التجوال، الشبكات الكبيرة
الفوائد:
- منطق توجيه مركزي
- توزيع الحمل عبر عدة HSS
- دعم التجوال (التوجيه إلى HSS المنزلي)
- تكرار وفشل
- الالتصاق بالجلسة
تدفق الشحن
يمكن تكامل TWAG بالكامل لإرسال طلبات الشحن عبر Diameter Gy إلى نظام الشحن عبر الإنترنت (OCS).
يسمح ذلك بحساب جميع البيانات المستهلكة على WiFi، مقابل رصيد ��لعميل، ويتم تسليمه عبر AP على RADIUS ويتم تحويله إلى Gy بواسطة TWAG ويتم إرساله إلى DRA/OCS.
في جميع الأوضاع، يتم تتبع الاستخدام بواسطة مقاييس TWAG.

أوضاع الشحن
يدعم TWAG ثلاثة أوضاع شحن عبر الإنترنت:
1. الشحن معطل
لا يتم إرسال طلبات التحكم في الائتمان. لا يتم إجراء أي مصادقة للرصيد.
حالات الاستخدام:
- شبكات WiFi مفتوحة/مجانية
- بيئات مختبرية/اختبارية
- الشبكات التي تعتمد فقط على الشحن غير المتصل (محاسبة RADIUS إلى الفوترة)
التدفق:
2. المصادقة فقط
يتم إرسال CCR-Initial (طلب التحكم في الائتمان) إلى OCS في بداية جلسة WiFi للتحقق من أن المشترك لديه رصيد، ولكن لا يتم سحب الرصيد خلال الجلسة.
حالات الاستخدام:
- التحقق من أن المشترك لديه حساب/رصيد نشط
- منع الوصول إلى WiFi للحسابات المعلقة
- التحقق من أهلية الخدمة دون تتبع الحصة
- السماح لـ WiFi كخدمة مكافأة/غير محدودة للعملاء المدفوعين
التدفق:
التكوين:
- يتم استعلام OCS في بداية الجلسة (CCR-I) ونهايتها (CCR-T)
- لا يتم إرسال رسائل CCR-Update خلال الجلسة
- يتم اعتماد المشترك بناءً على حالة الحساب، وليس الحصة
- يتم الإبلاغ عن الاستخدام في نهاية الجلسة لأغراض إعلامية فقط
3. شحن Gy عبر الإنترنت بالكامل (تنفيذ كامل)
يتم اتباع تدفق الشحن عبر الإنترنت القياسي 3GPP. يتم تمرير جميع الاستخدامات على WiFi إلى OCS للشحن، مع قطع المشترك بمجرد تجاوزهم حصتهم.
حالات الاستخدام:
- خدمات البيانات المدفوعة مسبقًا
- WiFi حسب الاستخدام
- خطط قائمة على الحصة (مثل، 10GB بدل شهري)
- الشحن الفوري وقطع الاتصال
التدفق:
التكوين:
- يتم استعلام OCS في بداية الجلسة (CCR-I)، خلال الجلسة (CCR-U)، وفي النهاية (CCR-T)
- يتم طلب الحصة في كتل قابلة للتكوين (مثل، 10MB، 50MB، 100MB)
- يتم تفعيل CCR-Update عند عتبة قابلة للتكوين (مثل، 80% من الحصة الممنوحة)
- يتم تشغيل مؤقت الصلاحية لإعادة المصادقة إذا لم يتم استنفاد الحصة
- قطع الاتصال الإجباري عند استنفاد الحصة
- خصم الرصيد في الوقت الفعلي
تدفق المصادقة
تسلسل المصادقة الكامل EAP-AKA
النقاط الرئيسية في تدفق المصادقة
-
MAR/MAA هو نهاية التواصل مع HSS: بعد تلقي MAA (إجابة المصادقة متعددة الوسائط) مع XRES، يتولى TWAG جميع عمليات التحقق اللاحقة محليًا.
-
يقوم TWAG بإجراء تحقق RES: يوفر HSS الاستجابة المتوقعة (XRES)، لكن TWAG يقارنها مع RES الفعلي من UE. HSS ليس له دور في هذه المقارنة.
-
تحدث المصادقة في TWAG: هذا يختلف عن بعض المخططات التي تظهر HSS يقوم بالتحقق — في الهيكلية الفعلية لـ 3GPP، يقوم خادم AAA (TWAG) بإجراء المقارنة.
تنسيق الهوية
يستجيب الجهاز بهويته الدائمة (IMSI) بتنسيق NAI:
5055700000000000001@wlan.mnc057.mcc505.3gppnetwork.org
التنسيق: 0<IMSI>@wlan.mnc<MNC>.mcc<MCC>.3gppnetwork.org
ملاحظة - الرقم الأول، قبل IMSI هو الهوية، وعادة ما يكون 0 ولكن قد يكون رقمًا فرديًا آخر لبطاقات SIM / الهواتف متعددة IMSI.
مفتاح الجلسة الرئيسي (MSK)
مفتاح الجلسة الرئيسي (MSK) هو مفتاح تشفير بحجم 512 بت (64 بايت) يتم اشتقاقه أثناء مصادقة EAP-AKA. ويعمل كمادة المفتاح الجذرية لتأمين اتصال WiFi.
اشتقاق MSK:
- يقوم كل من UE وTWAG باشتقاق نفس MSK بشكل مستقل
- يشتق UE من CK/IK المحسوبة بواسطة SIM
- يشتق TWAG من CK/IK المستلمة من HSS
- MSK = PRF'(CK || IK، "المصادقة الكاملة"، IMSI، ...)
استخدام MSK:
- اشتقاق PMK: PMK = أول 256 بت (32 بايت) من MSK
- مصافحة WPA2 الرباعية: يستخدم كل من UE وAP PMK لاشتقاق PTK
- تشفير البيانات: جميع إطارات بيانات WiFi مشفرة باستخدام المفتاح الزمني (TK) من PTK
لماذا MSK حاسم:
- السرية: بدون MSK، ستكون حركة مرور WiFi غير مشفرة
- السلامة: يمنع العبث بإطارات WiFi
- ربط المصادقة: يربط مصادقة EAP بتشفير WiFi
- حماية من الإعادة: يمنع MSK الجديد هجمات الإعادة
- سرية مثالية للأمام: لا يؤثر اختراق MSK واحد على الآخرين
استعادة التزامن
إذا اكتشف الجهاز عدم تطابق رقم التسلسل (SQN خارج التزامن)، فإنه يبدأ عملية الاستعادة:
- يحسب الجهاز AUTS (رمز المصادقة - التزامن)
- يرسل EAP-AKA Synchronization-Failure مع AT-AUTS
- يقوم TWAG بإعادة توجيه AUTS إلى HSS
- يقوم HSS بإعادة تزامن رقم التسلسل وتوليد متجهات جديدة
- تتم إعادة المصادقة باستخدام متجهات جديدة
هذا يكون شفافًا للمستخدم النهائي ولا يتطلب تدخل المشغل.
دليل التكوين
يتم تكوين TWAG عبر ملفات تكوين Elixir في دليل config/. التكوين الرئيسي في وقت التشغيل موجود في config/runtime.exs.
للنشر في الإنتاج، يتم إدارة التكوين مركزيًا. أدناه هو مرجع فقط، أي قيم تم تغييرها على عقدة الإنتاج ستفقد في المرة القادمة التي يتم فيها تشغيل الأتمتة.
تكوين Diameter
موجود في config :diameter_ex:
config :diameter_ex,
diameter: %{
# اسم الخدمة لكتلة Diameter
service_name: :omnitouch_twag,
# عنوان IP المحلي لربط خدمة Diameter
listen_ip: "10.5.198.200",
# المنفذ المحلي لاتصالات Diameter (المعيار هو 3868)
listen_port: 3868,
# مضيف Diameter Origin-Host
host: "omnitwag",
# مجال Diameter Origin-Realm (يتطابق مع مجال شبكتك)
realm: "epc.mnc057.mcc505.3gppnetwork.org",
# الأقران Diameter (HSS، DRA، خوادم AAA)
peers: [
%{
# مضيف Diameter Origin-Host
host: "omni-hss01.epc.mnc057.mcc505.3gppnetwork.org",
# مجال Diameter Origin-Realm
realm: "epc.mnc057.mcc505.3gppnetwork.org",
# عنوان IP للند
ip: "10.179.2.140",
# منفذ الند (المعيار هو 3868)
port: 3868,
# استخدام TLS لأمان النقل
tls: false,
# بروتوكول النقل (:diameter_tcp أو :diameter_sctp)
transport: :diameter_tcp,
# بدء الاتصال بالند (true) أو الانتظار حتى يتصل الند (false)
initiate_connection: true
}
]
}
تنسيق المجال يتبع 3GPP TS 23.003:
epc.mnc<MNC>.mcc<MCC>.3gppnetwork.org
حيث:
- MNC = رمز الشبكة المحمولة (مثل، 057)
- MCC = رمز الدولة المحمولة (مثل، 505 لأستراليا)

ملاحظة حول استخدام DRA: لاستخدام OmniDRA، قم بتكوين عنوان IP للند للإشارة إلى DRA بدلاً من HSS مباشرة. سيقوم DRA بعد ذلك بتوجيه الرسائل إلى HSS المناسب بناءً على قواعد التوجيه (مجال الوجهة، نطاق IMSI، إلخ).
تكوين RADIUS
موجود في config :omnitwag:
config :omnitwag,
radius_config: %{
# قائمة الشبكات الفرعية المسموح بها لمصادر عملاء RADIUS
# قائمة فارغة = السماح للجميع (غير موصى به للإنتاج)
allowed_source_subnets: ["10.7.15.0/24", "192.168.1.0/24"],
# السر المشترك لعملاء RADIUS
# يجب أن تستخدم جميع نقاط الوصول هذا السر
secret: "YOUR_STRONG_SECRET_HERE"
}

أفضل ممارسات الأمان:
- استخدم أسرار RADIUS مشتركة قوية (20+ حرف)
- قم بتكوين
allowed_source_subnetsلتقييد وصول AP - استخدم قواعد جدار الحماية لتقييد الوصول إلى المنافذ 1812/1813
مثال على تكوين الشبكة الفرعية:
allowed_source_subnets: ["10.7.15.0/24", "192.168.1.0/24"]
إذا كانت فارغة، يتم السماح بجميع المصادر (مناسب فقط للمختبر/الاختبار).
تكوين مراقبة Prometheus
موجود في config :omnitwag:
config :omnitwag,
prometheus: %{
# المنفذ لنقطة نهاية مقاييس Prometheus
port: 9568
}
يمكن الوصول إلى المقاييس على: http://<twag-ip>:9568/metrics
ملخص المنافذ
| المنفذ | البروتوكول | الغرض |
|---|---|---|
| 1812 | UDP | مصادقة RADIUS |
| 1813 | UDP | محاسبة RADIUS |
| 3868 | TCP | Diameter (SWx إلى HSS/DRA) |
| 443 | TCP | لوحة التحكم على الويب HTTPS |
| 8444 | TCP | واجهة REST API HTTPS |
| 9568 | TCP | مقاييس Prometheus |
إعداد نقطة الوصول
نقاط الوصول المدعومة
يعمل OmniTWAG مع أي نقطة وصول WiFi تدعم:
- WPA2-Enterprise (مصادقة 802.1X)
- وظيفة عميل RADIUS
- طريقة المصادقة EAP-AKA
المنصات المختبرة: Cisco Aironet، Aruba، Ubiquiti UniFi، Ruckus، نقاط الوصول المعتمدة على hostapd
متطلبات تكوين AP العامة
- وضع الأمان WPA2-Enterprise (802.1X)
- خادم RADIUS يشير إلى عنوان IP لـ TWAG
- منفذ مصادقة RADIUS: 1812
- منفذ محاسبة RADIUS: 1813 (اختياري ولكن موصى به)
- السر المشترك لـ RADIUS: يجب أن يتطابق مع تكوين TWAG
- طريقة EAP: EAP-AKA (أو "الجميع")
مثا�� تكوين AP من Cisco
تكوين CLI:
! تكوين خادم RADIUS
radius-server host 10.5.198.200 auth-port 1812 acct-port 1813 key YOUR_SHARED_SECRET
! تكوين SSID مع 802.1X
dot11 ssid OPERATOR-WIFI
vlan 10
authentication open eap eap_methods
authentication network-eap eap_methods
authentication key-management wpa version 2
! ربط SSID بواجهة الراديو
interface Dot11Radio0
encryption mode ciphers aes-ccm
ssid OPERATOR-WIFI
واجهة الويب:
- انتقل إلى الأمان → AAA → خادم RADIUS
- أضف خادم RADIUS:
10.5.198.200:1812مع السر المشترك - انتقل إلى تكوين WLAN
- اضبط الأمان على WPA2-Enterprise
- اضبط طريقة EAP على EAP-AKA أو الجميع
- قم بتعيين مجموعة خادم RADIUS
مثال تكوين hostapd
لنقاط الوصول المعتمدة على Linux (OpenWrt، الأنظمة المدمجة):
# /etc/hostapd/hostapd.conf
interface=wlan0
driver=nl80211
ssid=OPERATOR-WIFI
# WPA2-Enterprise
wpa=2
wpa_key_mgmt=WPA-EAP
wpa_pairwise=CCMP
ieee8021x=1
# تكوين RADIUS
auth_server_addr=10.5.198.200
auth_server_port=1812
auth_server_shared_secret=YOUR_SHARED_SECRET
acct_server_addr=10.5.198.200
acct_server_port=1813
acct_server_shared_secret=YOUR_SHARED_SECRET
# تكوين EAP
eap_server=0
# Hotspot 2.0 (اختياري - للتحميل التلقائي)
interworking=1
internet=1
anqp_3gpp_cell_net=505,057
domain_name=wlan.mnc057.mcc505.3gppnetwork.org
nai_realm=0,wlan.mnc057.mcc505.3gppnetwork.org,0,21[2:1][5:7]
roaming_consortium=505057
hs20=1
أفضل ممارسات بنية الشبكة
مهم: ضع APs وTWAG على مقاطع شبكة موثوقة. استخدم قواعد جدار الحماية لـ:
- السماح فقط لـ APs بالوصول إلى منافذ TWAG 1812/1813
- السماح لـ TWAG بالوصول إلى منفذ HSS 3868
- تقييد الوصول الإداري إلى لوحة تحكم TWAG (المنفذ 443)
تكامل Hotspot 2.0
نظرة عامة على Hotspot 2.0 (Passpoint)
Hotspot 2.0 (يسمى أيضًا Passpoint أو 802.11u) هو معيار من WiFi Alliance يمكّن اكتشاف الشبكات WiFi الآمنة والتلقائية والاتصال دون تفاعل المستخدم. إنها التقنية الرئيسية لتحميل WiFi السلس.
الميزات الرئيسية:
- اكتشاف الشبكة التلقائي: يجد الجهاز الشبكات المتوافقة بناءً على المعايير
- المصادقة التلقائية: يستخدم بيانات اعتماد SIM (EAP-AKA) دون إدخال المستخدم
- الربط الأولي المشفر: OSEN (مصادقة خادم OSU فقط) للتوفير الآمن
- اتفاقيات التجوال: يدعم الشبكات المزارعة (مثل التجوال الخلوي)
- الأولوية: يفضل الجهاز الشبكات المملوكة للمشغل
تكوين AP لـ Hotspot 2.0
متطلبات AP:
- دعم 802.11u: قدرة استعلام/استجابة ANQP
- WPA2-Enterprise: مصادقة 802.1X
- دعم EAP-AKA: يجب أن يدعم طريقة EAP-AKA
- تكوين ANQP: الإعلان عن معلومات المشغل الصحيحة
مثال على التكوين (AP المعتمد على hostapd):
# تكوين Hotspot 2.0 / Passpoint
interworking=1
internet=1
asra=0
esr=0
uesa=0
# تكوين ANQP
anqp_3gpp_cell_net=505,057
domain_name=omnitouchns.com,wlan.mnc057.mcc505.3gppnetwork.org
# تكوين نطاق NAI
nai_realm=0,wlan.mnc057.mcc505.3gppnetwork.org,0,21[2:1][5:7]
# التنسيق: <التشفير>,<النطاق>,<طريقة-eap>[معرف-المصادقة:قيمة-المصادقة]
# 21 = EAP-AKA
# 2:1 = نوع الاعتماد: SIM
# 5:7 = طريقة EAP الممررة: لا شيء (EAP-AKA المباشر)
# اتحاد التجوال
roaming_consortium=505057
# MCC=505 (الولايات المتحدة)، MNC=057 (محدد للمشغل)
# معلومات المكان (اختياري)
venue_group=1
venue_type=8
venue_name=eng:Operator Public WiFi
# تكوين WPA2-Enterprise
wpa=2
wpa_key_mgmt=WPA-EAP
rsn_pairwise=CCMP
ieee8021x=1
# تكوين RADIUS (يشير إلى OmniTWAG)
auth_server_addr=10.5.198.200
auth_server_port=1812
auth_server_shared_secret=YOUR_SHARED_SECRET
acct_server_addr=10.5.198.200
acct_server_port=1813
acct_server_shared_secret=YOUR_SHARED_SECRET
# تكوين SSID
ssid=OperatorWiFi
utf8_ssid=1
# إشارة Hotspot 2.0
hs20=1
hs20_oper_friendly_name=eng:Operator WiFi Network
سلوك التحميل التلقائي
كيف يعمل التحميل التلقائي:
- يقوم الجهاز الذي يحتوي على ملف تعريف Passpoint بإجراء مسح WiFi دوري
- يرسل استعلام ANQP إلى نقاط الوصول المكتشفة
- إذا كانت استجابة ANQP تتطابق مع الملف الشخصي (MCC/MNC، اتحاد التجوال):
- تكون الأولوية عالية (الشبكة المنزلية) أو متوسطة (شريك التجوال)
- إذا كانت الأولوية ≥ العتبة والإشارة > الحد الأدنى:
- مصادقة EAP-AKA تلقائية
- إذا كانت المصادقة ناجحة والأولوية > الاتصال الحالي:
- التبديل إلى WiFi، قطع بيانات الخلوية
- مراقبة جودة الإشارة والحفاظ على الاتصال
عوامل الأولوية:
- الوطن مقابل التجوال: تفضل الشبكة المنزلية (مطابقة MCC/MNC) على التجوال
- قوة الإشارة: تفضل الإشارة الأقوى
- الأمان: تفضل WPA2-Enterprise على المفتوح/WPA2-PSK
- السياسة: يمكن للمشغل تكوين الشبكات المفضلة
- تجاوز المستخدم: يمكن للمستخدم تعطيل WiFi يدويًا أو تفضيل الخلوية
المراقبة والإدارة
لوحة التحكم على الويب
يمكن الوصول إلى لوحة المراقبة في الوقت الفعلي على: https://<twag-ip>/
الميزات:
- عرض عملاء RADIUS: المشتركين النشطين، حالة المصادقة، تفاصيل الجلسة
- عرض نقاط الوصول: نقاط الوصول المتصلة، عدد العملاء، معلومات SSID
- عرض استخدام العملاء: بيانات المحاسبة، وقت الجلسة، استخدام البيانات
- عرض أقران Diameter: حالة اتصال HSS/DRA
تكامل Prometheus
قم بتكوين Prometheus لجمع مقاييس TWAG:
# prometheus.yml
scrape_configs:
- job_name: 'omnitwag'
static_configs:
- targets: ['10.5.198.200:9568']
metrics_path: '/metrics'
scrape_interval: 15s
المقاييس المتاحة:
مقاييس خادم RADIUS:
radius_access_request_count- إجمالي حزم طلب وصول RADIUS المستلمةradius_access_accept_count- إجمالي حزم قبول الوصول المرسلةradius_access_reject_count- إجمالي حزم رفض الوصول المرسلةradius_access_challenge_count- إجمالي حزم التحدي المرسلةradius_accounting_request_count{status_type}- إجمالي حزم طلب المحاسبة (موسومة حسب الحالة: بدء، إيقاف، تحديث مؤقت، المحاسبة على، المحاسبة خارج)radius_active_clients_count- العملاء المعتمدين حاليًا (يتم استقصاؤهم كل 5 ثوانٍ)radius_access_points_count- نقاط الوصول المسجلة (يتم استقصاؤها كل 5 ثوانٍ)
مقاييس مصادقة EAP-AKA:
eap_aka_identity_count- تبادلات هوية EAP-AKAeap_aka_challenge_count- تبادلات تحدي EAP-AKAeap_aka_sync_failure_count- فشل التزامن (أحداث إعادة تزامن SQN)eap_aka_auth_success_count- المصادقات الناجحةeap_aka_auth_reject_count- المصادقات المرفوضة
مقاييس بروتوكول Diameter:
diameter_message_count{application, command, direction}- إجمالي رسائل Diameter (موسومة حسب التطبيق، نوع الأمر، والاتجاه)
مقاييس ذاكرة VM Erlang:
vm_memory_total- إجمالي كمية الذاكرة المخصصة (بايت)vm_memory_processes- الذاكرة المستخدمة بواسطة عمليات Erlang (بايت)vm_memory_processes_used- الذاكرة المستخدمة بواسطة عمليات Erlang باستثناء الذاكرة المخصصة غير المستخدمة (بايت)vm_memory_system- الذاكرة المستخدمة بواسطة نظام تشغيل Erlang (بايت)vm_memory_atom- الذاكرة المستخدمة بواسطة الذرات (بايت)vm_memory_atom_used- الذاكرة المستخدمة بواسطة الذرات باستثناء الذاكرة المخصصة غير المستخدمة (بايت)vm_memory_binary- الذاكرة المستخدمة بواسطة الثنائيات (بايت)vm_memory_code- الذاكرة المستخدمة بواسطة الشيفرة المحملة (بايت)vm_memory_ets- الذاكرة المستخ��مة بواسطة جداول ETS (بايت)
مقاييس نظام VM Erlang:
vm_system_info_process_count- العدد الحالي لعمليات Erlangvm_system_info_port_count- العدد الحالي للمنافذvm_system_info_atom_count- العدد الحالي للذراتvm_system_info_schedulers- عدد خيوط المجدولvm_system_info_schedulers_online- عدد المجدولين المتصلين حاليًا
مقاييس جدولة VM Erlang:
vm_statistics_run_queue- الطول الإجمالي لجميع قوائم التشغيلvm_total_run_queue_lengths_total- الطول الإجمالي لجميع قوائم التشغيل (مجدول إجمالي)vm_total_run_queue_lengths_cpu- الطول الإجمالي لقوائم تشغيل مجدول CPUvm_total_run_queue_lengths_io- الطول الإجمالي لقوائم تشغيل مجدول IO
جمع المقاييس:
- يتم إصدار مقاييس RADIUS وEAP-AKA في الوقت الفعلي عند حدوث الأحداث
- يتم استقصاء عدد العملاء ونقاط الوصول النشطة كل 5 ثوانٍ
- يتم استقصاء مقاييس VM كل 5 ثوانٍ من وقت تشغيل Erlang
- يتم عرض جميع المقاييس بتنسيق Prometheus على
http://<twag-ip>:9568/metrics
السجلات
يستخدم TWAG مسجل Elixir لتسجيل السجلات المنهجية.
عرض السجلات (systemd):
# ذيل السجل في الوقت الفعلي
journalctl -u twag -f
# آخر 100 سطر
journalctl -u twag -n 100
# السجلات منذ آخر تشغيل
journalctl -u twag -b
# السجلات لفترة زمنية محددة
journalctl -u twag --since "2025-10-12 10:00:00" --until "2025-10-12 11:00:00"
رسائل السجل الرئيسية:
خادم RADIUS يستمع على المنفذ 1812- بدأ الخادممن {IP}: تم استلام طلب وصول- طلب RADIUS من APالمرحلة 1: استجابة الهوية- الهوية الأولية لـ EAPالمرحلة 2: تحدي AKA- التحدي المرسل إلى الجهازتم قبول المصادقة- المصادقة الناجحةفشلت المصادقة- فشلت المصادقةAP مسجلة: {IP}- تم اكتشاف AP جديدة
معايير الأداء
يتم قياس إنتاجية المصادقة وإشارات التحكم (المصادقات في الثانية، زمن تأخير الترميز، والذاكرة لكل عملية) ونشرها في مرجع معايير الأداء. تغطي الأرقام تكلفة التشفير لكل مصادقة (توليد متجه Milenage، تسلسل مفاتيح EAP-AKA، إعادة المصادقة السريعة ERP) وإنتاجية الترميز في إشارات (ترميز/فك ترميز EAP وWLCP).
استكشاف الأخطاء وإصلاحها
فشل المصادقة
العرض: لا يمكن للعميل الاتصال بـ WiFi
خطوات التشخيص:
- تحقق من سجلات TWAG:
journalctl -u twag -f - تحقق من أن السر المشترك لـ RADIUS يتطابق بين AP وTWAG
- تأكد من وصول حزم RADIUS إلى TWAG:
tcpdump -i eth0 port 1812 - تحقق من توفير المشترك في HSS/التكوين
الأسباب الشائعة:
- سر مشترك لـ RADIUS غير صحيح
- جدار الحماية يحظر UDP 1812/1813
- عدم تطابق RES/XRES (Ki SIM خاطئ أو تكوين HSS)
- رقم التسلسل (SQN) خارج التزامن (يجب أن يتعافى تلقائيًا عبر إعادة التزامن)
- مشكلات الاتصال الشبكي بين AP وTWAG
مشكلات اتصال Diameter
العرض: لم يتصل الند Diameter بـ HSS/DRA
خطوات التشخيص:
- تحقق من الاتصال الشبكي:
telnet <hss-ip> 3868 - تحقق من تكوين Diameter (Origin-Host، Origin-Realm، IP الند)
- راجع سجلات HSS/DRA لمحاولات الاتصال
- تحقق من أن جدار الحماية يسمح TCP 3868
الأسباب الشائعة:
- IP/منفذ الند غير صحيح في التكوين
- جدار الحماية يحظر TCP 3868
- عدم تطابق Origin-Host/Realm
- HSS/DRA لا يقبل الاتصال من TWAG
مشكلات الأداء
العرض: مصادقة بطيئة (>5 ثوانٍ)
خطوات التشخيص:
- تحقق من زمن استجابة HSS
- قياس زمن الانتقال الشبكي:
ping <hss-ip>،mtr <hss-ip> - مراقبة استخدام موارد TWAG:
top،htop - مراجعة إعدادات مهلة طلب Diameter
الأسباب الشائعة:
- مهلة استعلام HSS أو استجابة بطيئة
- زمن انتقال شبكي مرتفع
- استنفاد موارد TWAG (CPU/ذاكرة)
- عدد كبير جدًا من المصادقات المتزامنة
أدوات التصحيح
التقاط الحزم
# التقاط حركة مرور RADIUS
tcpdump -i eth0 -n port 1812 or port 1813 -w radius.pcap
# التقاط حركة مرور Diameter
tcpdump -i eth0 -n port 3868 -w diameter.pcap
# الالتقاط من AP محدد
tcpdump -i eth0 -n host 10.7.15.72 and port 1812 -w radius-ap1.pcap
تحليل باستخدام Wireshark (يدعم مفككات RADIUS وDiameter).
وحدة التحكم التفاعلية
قم بالاتصال بـ TWAG قيد التشغيل للتصحيح المباشر:
# قشرة بعيدة إلى TWAG قيد التشغيل
iex --sname debug --remsh twag@hostname --cookie <cookie>
من وحدة تحكم IEx:
# قائمة بجميع العملاء المعتمدين
CryptoState.keys()
# الحصول على حالة عميل محدد
CryptoState.get("0505338057900001867@wlan.mnc057.mcc505.3gppnetwork.org")
# قائمة بجميع APs
APState.list()
# قائمة بجلسات المحاسبة
ClientUsage.list()
رسائل الخطأ الشائعة
| رسالة الخطأ | المعنى | الحل |
|---|---|---|
فشل التحقق من Message-Authenticator | عدم تطابق السر المشترك | تحقق من أن السر المشترك لـ RADIUS يتطابق على AP وTWAG |
فشل التحقق من RES: المتوقع <XRES>، حصلت على <RES> | استجابة المصادقة غير صحيحة | تحقق من Ki SIM، تحقق من توفير HSS |
مهلة اتصال الند Diameter | لا يمكن الوصول إلى HSS | تحقق من الشبكة، جدار الحماية، تكوين HSS |
فشل فك تشفير رسالة EAP | حزمة EAP مشوهة | تحقق من برنامج AP الثابت، قد تحتاج إلى تحديث AP |
نوع EAP-AKA غير معروف | رسالة EAP-AKA غير مدعومة | يستخدم الجهاز إصدار غير قياسي من EAP-AKA |
مطلوب تزامن رقم التسلسل | SQN خارج التزامن | عادي، سيقوم الجهاز بإعادة التزامن تلقائيًا |
الامتثال للمعايير
يطبق OmniTWAG المواصفات التالية من 3GPP وIETF:
- 3GPP TS 23.402: تحسينات المعمارية للوصولات غير 3GPP
- 3GPP TS 24.302: الوصول إلى EPC عبر الشبكات غير 3GPP
- 3GPP TS 29.273: واجهات SWx/SWm المعتمدة على Diameter
- 3GPP TS 33.402: جوانب الأمان للوصولات غير 3GPP
- 3GPP TS 35.206: مواصفة خوارزمية Milenage
- RFC 2865: مصادقة RADIUS
- RFC 2866: محاسبة RADIUS
- RFC 3579: دعم RADIUS لـ EAP
- RFC 4187: بروتوكول المصادقة EAP-AKA
- RFC 5448: EAP-AKA' (الإصدار المحسن)
تم نشر أداء مستوى ��لتحكم المقاس ضد هذه البروتوكولات في مرجع معايير الأداء.
الملخص
يوفر OmniTWAG، الذي أنشأته Omnitouch، حلاً كاملاً متوافقًا مع المعايير لتحميل WiFi 3GPP:
- نشر مرن: يدعم الانفصال المحلي أو حركة المرور الموجهة إلى المنزل
- معتمد على المعايير: ينفذ بروتوكولات 3GPP SWx، EAP-AKA، RADIUS
- مصادقة آمنة: مصادقة متبادلة معتمدة على SIM مع إعادة تزامن تلقائية
- تشفير قوي: مفاتيح مشتقة من MSK توفر تشفير WPA2
- جاهز لـ Hotspot 2.0: يمكّن التحميل التلقائي بالكامل بدون لمس
- تحكم المشغل: يحافظ على الهوية، والسياسة، والفوترة الاختيارية
- اتصال مرن: اتصال مباشر بـ HSS أو عبر OmniDRA للتوجيه/توزيع الحمل
إصدار الوثيقة: 2.0 آخر تحديث: 2025 OmniTWAG - بوابة الوصول الموثوق لشبكة WiFi حقوق الطبع والنشر © 2025 Omnitouch. جميع الحقوق محفوظة.