خدمات شبكة أومنيتوتش - نظام نشر أنسيبل
نظرة عامة
تحتوي هذه المستودع على كتيبات أنسيبل، والأدوار، والتكوين لنشر حلول الشبكة الخلوية الكاملة (4G EPC، 5G Core، IMS، SS7) من خدمات شبكة أومنيتوتش. يمكّن النظام من نشرات آلية وقابلة للتكرار للبنية التحتية للاتصالات من الدرجة الإنتاجية.
ما الذي يتم نشره
أومنيكور (منصة 4G/5G Packet Core)
- OmniHSS - خادم المشتركين المنزلي
- OmniSGW - بوابة الخدمة (طبقة التحكم)
- OmniPGW - بوابة الحزم (طبقة التحكم)
- OmniUPF - وظيفة مستوى المستخدم
- OmniDRA - وكيل توجيه القطر
- OmniTWAG - بوابة الوصول WLAN الموثوقة
انظر: https://docs.omnitouch.com.au/docs/repos/OmniCore
أومنيكول (منصة الصوت والرسائل)
- OmniCall CSCF - التحكم في جلسة المكالمات (P-CSCF، I-CSCF، S-CSCF)
- OmniTAS - خادم تطبيق IMS (VoLTE، VoNR، VoWiFi)
- OmniMessage - مركز الرسائل القصيرة (SMS-C)
- OmniMessage SMPP - دعم بروتوكول SMPP
- OmniSS7 - مكونات إشارات SS7 (STP، HLR، CAMEL)
- VisualVoicemail - وظيفة البريد الصوتي
انظر: https://docs.omnitouch.com.au/docs/repos/OmniCall
أومنيتشارج/أومنيCRM
- OmniCRM - إدارة علاقات العملاء، التسجيل الذاتي، الفوترة
انظر: https://docs.omnitouch.com.au/docs/repos/OmniCharge
خدمات الدعم
- License Server - ترخيص مركزي
- DNS - حل DNS الشبكي
- Monitoring - بروميثيوس وغرافانا
- APT Cache - مستودع حزم محلي (اختياري)
الوثائق
البدء
- مقدمة في نشر أنسيبل
- نظرة عامة على كيفية استخدام أنسيبل لنشر الشبكات الخلوية
- المفاهيم الأساسية: الجرد، الأدوار، كتيبات اللعب، المتغيرات
- سير العمل والفوائد للنشر
المفاهيم الأساسية
-
- بنية الشبكة وتخصيص الشبكات الفرعية
- نموذج نشر بأربع شبكات فرعية
- إرشادات تخصيص عنوان IP
- التعامل مع IP العامة
- طرق التنفيذ (بطاقات NIC المنفصلة مقابل VLANs)
-
- تعريف طوبولوجيا الشبكة الخاصة بك
- تكوين وظائف الشبكة ومعلماتها
- فهم تكوين PLMN
- العمل مع قوالب جينجا2
-
- دليل كامل لجميع متغيرات التكوين
- إعدادات مكونات أومنيكور (HSS، PGW، SGW، DRA)
- إعدادات مكونات أومنيكول (TAS، رسالة، CSCF)
- شرح تكوين وقت التشغيل
- مرجع المتغيرات مع أمثلة
-
- تخصيص النشرات دون تعديل الأدوار
- أسبقية المتغيرات والدمج
- دمج قوالب جينجا2
- أفضل الممارسات لتجاوز التكوين
البنية التحتية
-
- خيارات توزيع الحزم (ذاكرة التخزين المؤقت المحلية مقابل المستودع العام)
- كيفية تسليم الحزم المجمعة مسبقًا
- إعداد نشرات غير متصلة/معزولة
- تكوين ذاكرة التخزين المؤقت APT المحلية
-
- إدارة الترخيص المركزية
- نماذج النشر (محلي، سحابي، هجين)
- الميزات التي يتم التحكم فيها بواسطة الترخيص
- التوافر العالي واستكشاف الأخطاء وإصلاحها
الأدوات
- كتيبات الأدوات
- فحص الصحة: إنشاء تقارير HTML عن صحة النظام، حالة الخدمة والإصدارات
- المستخدمون المشتركون/الإعداد: تكوين النظام الأساسي والمستخدم
- إعادة التشغيل: إعادة تشغيل النظام بشكل سلس
- مولد خطة IP: توثيق طوبولوجيا الشبكة
- نسخ احتياطي HSS: أدوات نسخ احتياطي لقاعدة البيانات
- استكشاف الأخطاء وإصلاحها: استرجاع التقاط الحزم، تحديثات MTU
الصورة الكاملة
- نظرة عامة على بنية النشر
- كيف تتناسب جميع المكونات معًا
- تقسيم الشبكة والأمان
- تبعيات الخدمة وترتيب النشر
- أنماط التوسع والتوافر العالي
البدء السريع
المتطلبات المسبقة
- عقدة تحكم Ubuntu 20.04+
- Python 3.8+
- وصول SSH إلى المضيفين المستهدفين
- بيانات اعتماد مناسبة لمستودع APT
- ترخيص أومنيتوتش صالح
التثبيت
-
احصل على المستودع
-
أنشئ بيئة افتراضية Python:
python3 -m venv venv
source venv/bin/activate
- قم بتثبيت أنسيبل والاعتماديات:
pip install -r requirements.txt
- تحقق من التثبيت:
ansible --version
التكوين
- أنشئ ملف المضيفين الخاص بك بناءً على تصميم الشبكة الخاص بك:
cp services/hosts/Example/host_files/template.yml services/hosts/YourCustomer/host_files/production.yml
انظر: تكوين ملف المضيفين
- تخصيص مع group_vars (اختياري):
mkdir -p services/hosts/YourCustomer/group_vars
# أنشئ ملفات التخصيص حسب الحاجة
انظر: تكوين المتغيرات الجماعية
- تكوين الوصول إلى مستودع APT في ملف المضيفين الخاص بك:
للنشرات مع خادم ذاكرة التخزين المؤقت APT محلي (موصى به):
apt_cache_servers:
hosts:
your-apt-cache:
ansible_host: 192.168.1.100
gateway: 192.168.1.1
# لا حاجة لتكوين إضافي!
# use_apt_cache و apt_repo.apt_server يتم تعيينهما تلقائيًا
أو للوصول المباشر إلى المستودع:
all:
vars:
apt_repo:
apt_server: "packages.omnitouch.com"
apt_repo_username: "your-username"
apt_repo_password: "your-password"
use_apt_cache: false # استخدم المستودع العام مباشرة (ليس ذاكرة التخزين المؤقت)
انظر: نظام ذاكرة التخزين المؤقت APT
- تكوين خادم الترخيص:
all:
vars:
license_server_api_urls: ["https://licenses.omnitouch.com/api"]
license_enforced: true
انظر: خادم الترخيص
النشر
قم بنشر شبكتك الكاملة:
# نشر الشبكة بالكامل
ansible-playbook -i services/hosts/YourCustomer/host_files/production.yml services/all.yml
# أو نشر مكونات محددة:
ansible-playbook -i services/hosts/YourCustomer/host_files/production.yml services/epc.yml
ansible-playbook -i services/hosts/YourCustomer/host_files/production.yml services/ims.yml
ansible-playbook -i services/hosts/YourCustomer/host_files/production.yml services/infra.yml
هيكل المستودع
Omnicore/
├── README.md # هذا الملف
├── docs/ # الوثائق
│ ├── ansible-introduction.md
│ ├── IP_Planning_Standard.md
│ ├── hosts-file-configuration.md
│ ├── group-vars-configuration.md
│ ├── apt-cache-system.md
│ ├── license-server.md
│ ├── health-check-utility.md # دليل كتيبات الأدوات
│ └── deployment-architecture.md
├── services/ # كتيبات أنسيبل
│ ├── hosts/ # تكوينات خاصة بالعميل
│ │ └── Customer_Name/
│ │ ├── host_files/ # ملفات الجرد
│ │ └── group_vars/ # تجاوزات المتغيرات
│ ├── epc.yml # نشر النواة 4G
│ ├── ims.yml # نشر IMS
│ ├── omniss7.yml # نشر مجموعة SS7
│ ├── infra.yml # نشر خدمات الدعم
│ ├── all.yml # نشر كل شيء
│ ├── common.yml # تكوين النظام الأساسي
│ ├── setup_users.yml # إدارة المستخدمين
│ ├─�� reboot.yml # أداة إعادة التشغيل السلسة
│ └── ... # كتيبات خاصة بالمكونات
├── util_playbooks/ # أدوات تشغيلية
│ ├── health_check.yml # تقارير صحة النظام
│ ├── ip_plan_generator.yml # توثيق الشبكة
│ ├── hss_backup.yml # النسخ الاحتياطي لقاعدة البيانات
│ ├── getLocalCapture.yml # استرجاع التقاط الحزم
│ └── ... # أدوات أخرى
├── roles/ # أدوار أنسيبل
│ ├── common/ # التكوين الأساسي
│ ├── omnihss/ # نشر OmniHSS
│ ├── omnisgwc/ # نشر OmniSGW
│ ├── omnipgwc/ # نشر OmniPGW
│ ├── omni_tas/ # نشر OmniTAS
│ ├── omnimessage/ # نشر OmniMessage
│ ├── license_server/ # خادم الترخيص
│ ├── monitoring/ # بروميثيوس/غرافيانا
│ └── ... # أدوار مكونات أخرى
└── requirements.txt # اعتمادات بايثون
الميزات الرئيسية
النشر الآلي
- شبكة خلوية كاملة يتم نشرها في ساعات
- تكوين متسق عبر البيئات
- نشرات قابلة للتكرار للتطوير، الاختبار، والإنتاج
تكوين مرن
- قوالب جينجا2 لتوليد التكوين الديناميكي
- group_vars لتخصيصات خاصة بالعميل
- لا حاجة لتعديل الأدوار الأساسية
إدارة الحزم
- حزم ثنائية مسبقة التجميع (.deb)
- ذاكرة تخزين مؤقت APT محلية للنشرات غير المتصلة
- مستودع عام للمواقع المتصلة بالإنترنت
البنية التحتية ككود
- جميع التكوينات في نظام التحكم في إصدار Git
- تتبع التغييرات وتمكين التراجع
- مراجعة التغييرات قبل النشر
كتيبات شائعة
| كتيب | الغرض |
|---|---|
services/all.yml | نشر الشبكة الكاملة |
services/epc.yml | نشر مكونات 4G EPC |
services/ims.yml | نشر خدمات الصوت IMS |
services/omniss7.yml | نشر مجموعة SS7 |
services/infra.yml | نشر خدمات الدعم |
services/monitoring.yml | نشر المراقبة فقط |
services/license_server.yml | نشر خادم الترخيص فقط |
services/apt.yml | إعداد ذاكرة التخزين المؤقت APT المحلية |
services/proxmox.yml | إنشاء VMs على Proxmox |
المنصات المدعومة
Hypervisors
- Proxmox VE
- VMware vSphere
- مثيلات سحابية (Vultr / AWS / GCP)
نماذج النشر
- محلي (مركز بيانات العميل)
- سحابي (AWS، Azure، GCP عبر vLab)
- هجين (مزيج من المحلي والسحابي)
- معزول (غير متصل تمامًا)
الحصول على المساعدة
- تحقق من الوثائق للحصول على أدلة مفصلة
- راجع ملفات المضيفين النموذجية للرجوع إليها
- استشر الوثائق الخاصة بالمنتج على https://docs.omnitouch.com.au/
- اتصل بدعم أومنيتوتش للحصول على مساعدة في النشر
الخطوات التالية
- اقرأ مقدمة في نشر أنسيبل
- راجع معيار تخطيط IP لتخطيط بنية الشبكة الخاصة بك
- راجع نظرة عامة على بنية النشر
- أنشئ ملف المضيفين الخاص بك
- خصص مع group_vars حسب الحاجة
- قم بنشر شبكتك!