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

مرجع التكوين

نظرة عامة

يوفر هذا المستند مرجعًا شاملاً لتكوين نشرات OmniCore من خلال ملفات المضيفين. يتم تعريف التكوين بشكل أساسي في ملفات جرد المضيفين مع الحد الأدنى من تجاوزات group_vars المطلوبة للنشر الحديث.

للحصول على الوثائق الخاصة بالمنتج، انظر:

نهج التكوين

تستخدم نشرات OmniCore الحديثة نموذج تكوين مبسط:

المبدأ الأساسي: يتم تعريف مع��م التكوين مباشرة في ملف المضيفين. تتعامل إعدادات الدور الافتراضية مع معظم الإعدادات، مع استخدام group_vars فقط للتخصيصات المحددة.

تخطيط الشبكة

قبل تكوين المضيفين، راجع معيار تخطيط IP للحصول على إرشادات حول:

  • استراتيجيات تقسيم الشبكة
  • تخصيص عنوان IP
  • تنظيم الشبكة الفرعية
  • التعامل مع IP العامة

معلمات المضيف الشائعة

#ToDo - فقط قل للتحقق من hosts-file-configuration.md للحصول على هذا

علامات الخدمة المحددة

cdrs_enabled: True               # تمكين إنشاء CDR
in_pool: False # استبعاد من مجموعة التوازن
online_charging_enabled: False # تمكين تكامل OCS
recording: True # تمكين تسجيل المكالمات (AS)
populate_crm: False # ملء CRM بالبيانات الأولية

المتغيرات العالمية (all:vars)

يحتوي قسم all:vars على إعدادات على مستوى النشر. تستخدم النشرات الحديثة متغيرات عالمية ق��يلة مع معظم التكوين في إعدادات الدور الافتراضية.

المتغيرات العالمية الأساسية

المصادقة والوصول

ansible_connection: ssh
ansible_user: root
ansible_password: password
ansible_become_password: password

بديل: استخدم مفاتيح SSH بدلاً من كلمات المرور:

ansible_ssh_private_key_file: '/path/to/key.pem'

هوية العميل

customer_name_short: omnitouch
customer_legal_name: "YKTN Lab"
site_name: YKTN
region: AU
TZ: Australia/Melbourne

إعدادات PLMN

plmn_id:
mcc: '001' # رمز الدولة المحمول (3 أرقام)
mnc: '01' # رمز الشبكة المحمولة (2-3 أرقام)
mnc_longform: '001' # MNC مع صفر مضاف (دائمًا 3 أرقام)

diameter_realm: epc.mnc{{ plmn_id.mnc_longform }}.mcc{{ plmn_id.mcc }}.3gppnetwork.org

الغرض: يحدد شبكة الهاتف المحمول الخاصة بك بشكل فريد. يستخدم لبناء مجال Diameter.

أسماء الشبكات

network_name_short: Omni
network_name_long: Omnitouch
tac_list: [10100,100] # قائمة TAC الافتراضية (يمكن تجاوزها لكل MME)

معروض: أسماء الشبكات المعروضة على أجهزة UE في الإعدادات > الشبكة المحمولة.

إعدادات DNS

netplan_DNS: False               # استخدام systemd-resolved بدلاً من netplan DNS
manage_resolv_conf: True # تعيين إلى False لمنع Ansible من إدارة /etc/resolv.conf

ملاحظة: عندما يتم تعيين manage_resolv_conf إلى False، لن يقوم Ansible بكتابة /etc/resolv.conf على ذلك المضيف. هذا مفيد للمضيفين الذين يحتاجون إلى تكوين DNS مخصص أو يتم إدارتهم بواسطة أنظمة خارجية. يمكن تعيينه لكل مضيف في الجرد أو عالميًا في all:vars.

إعدادات مستودع APT

الإعدادات الافتراضية التلقائية: عند تعريف مجموعة apt_cache_servers مع المضيفين:

  • يتم تعيين use_apt_cache تلقائيًا إلى True (ما لم يتم تعيينه صراحة إلى False)
  • يتم تعيين apt_repo.apt_server تلقائيًا إلى عنوان IP الخاص بأول خادم ذاكرة التخزين المؤقت
# التكوين اليدوي (اختياري إذا كانت مجموعة apt_cache_servers موجودة)
use_apt_cache: True # استخدام ذاكرة التخزين المؤقت المحلية APT مقابل الوصول المباشر إلى المستودع

apt_repo:
apt_server: "10.10.1.114" # خادم ذاكرة التخزين المؤقت APT أو خادم المستودع
# بيانات الاعتماد مطلوبة فقط عند use_apt_cache: False
# apt_repo_username: "omni"
# apt_repo_password: "omni"

# تكوين تنزيلات ثنائية ومزامنة ذاكرة التخزين المؤقت
# يستخدم لـ: (1) تنزيل الثنائيات من /releases/ عند use_apt_cache: false
# (2) مزامنة خادم ذاكرة التخزين المؤقت من Omnitouch عند use_apt_cache: true
remote_apt_server: "apt.omnitouch.com.au"
remote_apt_user: "omni"
remote_apt_password: "omni"

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

خادم الترخيص

license_server_api_urls: ["https://10.10.2.150:8443/api"]
license_enforced: true

انظر: خادم الترخيص

إعدادات MME

mme_dns: False                   # تمكين حل DNS لـ MME

إعدادات SAEGW

mtu: 1400                        # الحد الأقصى لوحدة النقل

إعدادات IMS

ims_dra_support: False           # توجيه IMS عبر DRA
enable_homer: False # تمكين التقاط SIP من Homer

تكوين مراقبة RAN

use_nokia_monitor: True
use_casa_monitor: True
install_influxdb: True

influxdb_user: monitor
influxdb_password: "secure-password"
influxdb_organisation_name: omnitouch
influxdb_nokia_bucket_name: nokia-monitor
influxdb_casa_bucket_name: casa-monitor
influxdb_operator_token: "generated-token"
influxdb_url: http://127.0.0.1:8086

enable_pm_collection: False
enable_alarm_collection: False
enable_location_collection: False
enable_ran_status_collection: True
enable_nokia_rectifier_collection: False
collection_interval_in_seconds: 120

ran_monitor:
sql:
user: ran_monitor
password: "secure-password"
database_host: 127.0.0.1
database_name: ran_monitor
influxdb:
address: 10.10.2.135
port: 8086
nokia:
airscales:
- address: 10.7.15.66
name: site-Lab-Airscale
port: 8080
web_password: nemuuser
web_username: Nemuadmin

تكوين جدار الحماية

firewall:
allowed_ssh_subnets:
- '10.0.1.0/24'
- '10.0.0.0/24'
allowed_ue_voice_subnets:
- '10.0.1.0/24'
allowed_carrier_voice_subnets:
- '10.0.1.0/24'
allowed_signaling_subnets:
- '10.0.1.0/24'

خوادم DNS للتجوال

roaming_dns_servers:
wildcard: ['10.0.99.1']
# DNS محدد من قبل الناقل (استنادًا إلى PLMN)
123456: # مثال الناقل 1
- '10.10.2.197'
654321: # مثال الناقل 2
- '10.10.0.4'

المستخدمون المحليون (مفاتيح SSH)

local_users:
usera:
name: مثال المستخدم A
public_key: "ssh-rsa AAAAB3Nza..."
userb:
name: مثال المستخدم B
public_key: "ssh-ed25519 AAAAC3..."

تكوين Hypervisor

Proxmox

يتم نشر الموقع كـ VMs أو حاويات LXC، يتم اختيارها لكل إدخال proxmoxServers عبر deployment_type (الافتراضي هو vm). يجب أن تتفق جميع الإدخالات في الموقع؛ الخلط يفشل في التحقق. انظر نشر Proxmox للحصول على الإرشادات الكاملة.

موقع VM

proxmoxServers:
customer-prxmx01:
# تم حذف deployment_type → الافتراضي هو "vm"
proxmoxServerAddress: 10.10.0.100
proxmoxServerPort: 8006
proxmoxApiTokenName: AnsibleToken
proxmoxApiTokenSecret: "token-secret"
proxmoxNodeName: pve01
proxmoxTemplateName: ubuntu-24.04-cloud-init-template
proxmoxTemplateId: 9000
proxmoxTemplateUser: omnitouch # اسم مستخدم cloud-init اختياري؛ الافتراضي هو أول مفتاح local_users
proxmoxTemplatePassword: omnitouch # كلمة مرور cloud-init اختيارية؛ الافتراضي هو اسم مستخدم cloud-init
storage: SSD_RAID0 # اختياري، تخزين VM الافتراضي

موقع LXC

proxmox_lxc_nameserver: "1.1.1.1"  # اختياري، يتم حقنه في LXCs عند الإنشاء

proxmoxServers:
customer-prxmx01:
deployment_type: lxc
proxmoxServerAddress: 10.10.0.100
proxmoxServerPort: 8006
proxmoxApiTokenName: AnsibleToken
proxmoxApiTokenSecret: "token-secret"
proxmoxNodeName: pve01
proxmoxLxcOsTemplate: "local:vztmpl/ubuntu-24.04-standard_24.04-2_amd64.tar.zst"
proxmoxLxcDefaultStorage: SSD_RAID0 # اختياري، النسخة الاحتياطية لجذر النظام

تجاوزات على مستوى المجموعة (كلا النوعين)

dns:
vars:
proxmox_interface: vmbr0 # مطلوب: الجسر
gateway: 10.10.0.1 # مطلوب
netmask: 255.255.255.0 # مطلوب
vlanid: 100 # اختياري
proxmoxLxcCores: 2 # اختياري (LXC فقط)
proxmoxLxcMemoryMb: 4096 # اختياري (LXC فقط)
proxmoxLxcDiskSizeGb: 30 # اختياري (LXC فقط)
proxmoxLxcRootFsStorageName: SSD_RAID0 # اختياري (LXC فقط)
host_vm_network: vmbr1 # تجاوز الجسر الاختياري

VMware vCenter

vcenter_ip: "vcenter.example.com"
vcenter_username: "administrator@vsphere.local"
vcenter_password: "password"
vcenter_datacenter: "DC1"
vcenter_vm_template: ubuntu-24.04-model
vcenter_vm_disk_size: 50
vcenter_folder: "Omnicore"
host_vm_network: "Management"

vhosts:
"10.0.0.23":
vcenter_cluster_ip: 10.0.0.23
vcenter_datastore: "datastore1 (3)"

netmask: 255.255.255.0

الوثائق ذات الصلة

وثائق المنتج

للحصول على أدلة تشغيل مفصلة وتكوين متقدم: