انتقل إلى المحتوى الرئيسي

خدمات شبكة أومنيتوتش - نظام نشر أنسيبل

نظرة عامة

تحتوي هذه المستودع على كتيبات أنسيبل، والأدوار، والتكوين لنشر حلول الشبكة الخلوية الكاملة (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 - مستودع حزم محلي (اختياري)

الوثائق

البدء

  1. مقدمة في نشر أنسيبل
    • نظرة عامة على كيفية استخدام أنسيبل لنشر الشبكات الخلوية
    • المفاهيم الأساسية: الجرد، الأدوار، كتيبات اللعب، المتغيرات
    • سير العمل والفوائد للنشر

المفاهيم الأساسية

  1. معيار تخطيط IP

    • بنية الشبكة وتخصيص الشبكات الفرعية
    • نموذج نشر بأربع شبكات فرعية
    • إرشادات تخصيص عنوان IP
    • التعامل مع IP العامة
    • طرق التنفيذ (بطاقات NIC المنفصلة مقابل VLANs)
  2. تكوين ملف المضيفين

    • تعريف طوبولوجيا الشبكة الخاصة بك
    • تكوين وظائف الشبكة ومعلماتها
    • فهم تكوين PLMN
    • العمل مع قوالب جينجا2
  3. مرجع التكوين

    • دليل كامل لجميع متغيرات التكوين
    • إعدادات مكونات أومنيكور (HSS، PGW، SGW، DRA)
    • إعدادات مكونات أومنيكول (TAS، رسالة، CSCF)
    • شرح تكوين وقت التشغيل
    • مرجع المتغيرات مع أمثلة
  4. المتغيرات الجماعية والتكوين

    • تخصيص النشرات دون تعديل الأدوار
    • أسبقية المتغيرات والدمج
    • دمج قوالب جينجا2
    • أفضل الممارسات لتجاوز التكوين

البنية التحتية

  1. نظام ذاكرة التخزين المؤقت APT

    • خيارات توزيع الحزم (ذاكرة التخزين المؤقت المحلية مقابل المستودع العام)
    • كيفية تسليم الحزم المجمعة مسبقًا
    • إعداد نشرات غير متصلة/معزولة
    • تكوين ذاكرة التخزين المؤقت APT المحلية
  2. خادم الترخيص

    • إدارة الترخيص المركزية
    • نماذج النشر (محلي، سحابي، هجين)
    • الميزات التي يتم التحكم فيها بواسطة الترخيص
    • التوافر العالي واستكشاف الأخطاء وإصلاحها

الأدوات

  1. كتيبات الأدوات
    • فحص الصحة: إنشاء تقارير HTML عن صحة النظام، حالة الخدمة والإصدارات
    • المستخدمون المشتركون/الإعداد: تكوين النظام الأساسي والمستخدم
    • إعادة التشغيل: إعادة تشغيل النظام بشكل سلس
    • مولد خطة IP: توثيق طوبولوجيا الشبكة
    • نسخ احتياطي HSS: أدوات نسخ احتياطي لقاعدة البيانات
    • استكشاف الأخطاء وإصلاحها: استرجاع التقاط الحزم، تحديثات MTU

الصورة الكاملة

  1. نظرة عامة على بنية النشر
    • كيف تتناسب جميع المكونات معًا
    • تقسيم الشبكة والأمان
    • تبعيات الخدمة وترتيب النشر
    • أنماط التوسع والتوافر العالي

البدء السريع

المتطلبات المسبقة

  • عقدة تحكم Ubuntu 20.04+
  • Python 3.8+
  • وصول SSH إلى المضيفين المستهدفين
  • بيانات اعتماد مناسبة لمستودع APT
  • ترخيص أومنيتوتش صالح

التثبيت

  1. احصل على المستودع

  2. أنشئ بيئة افتراضية Python:

python3 -m venv venv
source venv/bin/activate
  1. قم بتثبيت أنسيبل والاعتماديات:
pip install -r requirements.txt
  1. تحقق من التثبيت:
ansible --version

التكوين

  1. أنشئ ملف المضيفين الخاص بك بناءً على تصميم الشبكة الخاص بك:
cp services/hosts/Example/host_files/template.yml services/hosts/YourCustomer/host_files/production.yml

انظر: تكوين ملف المضيفين

  1. تخصيص مع group_vars (اختياري):
mkdir -p services/hosts/YourCustomer/group_vars
# أنشئ ملفات التخصيص حسب الحاجة

انظر: تكوين المتغيرات الجماعية

  1. تكوين الوصول إلى مستودع 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

  1. تكوين خادم الترخيص:
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)
  • هجين (مزيج من المحلي والسحابي)
  • معزول (غير متصل تمامًا)

الحصول على المساعدة

  1. تحقق من الوثائق للحصول على أدلة مفصلة
  2. راجع ملفات المضيفين النموذجية للرجوع إليها
  3. استشر الوثائق الخاصة بالمنتج على https://docs.omnitouch.com.au/
  4. اتصل بدعم أومنيتوتش للحصول على مساعدة في النشر

الخطوات التالية

  1. اقرأ مقدمة في نشر أنسيبل
  2. راجع معيار تخطيط IP لتخطيط بنية الشبكة الخاصة بك
  3. راجع نظرة عامة على بنية النشر
  4. أنشئ ملف المضيفين الخاص بك
  5. خصص مع group_vars حسب الحاجة
  6. قم بنشر شبكتك!