Wednesday, 5 August 2026 | التحديث اليومي نظرة ثاقبة للذكاء الاصطناعي، مكتوبة للبناة

منفذ أولاما: الافتراضي هو 11434، وكيفية تغييره وإصلاح التعارضات

  • المنفذ الافتراضي لأولاما هو 11434، يعمل عبر بروتوكول HTTP العادي ومرتبط بـ 127.0.0.1 (محليًّا فقط).
  • غيّره باستخدام متغير البيئة — مثال: OLLAMA_HOST OLLAMA_HOST=127.0.0.1:11435 OLLAMA_HOST=127.0.0.1:11435لا يوجد منفذ OLLAMA متغير.
  • للوصول إلى Ollama من جهازٍ آخر، اربطه بـ 0.0.0.0:11434 وفتّح جدار الحماية — لكن واجهة برمجة التطبيقات (API) لا تحتوي على أي مصادقة، لذا قيِّدها بشبكة موثوقة أو ضع وكيل عكسي (reverse proxy) أمامها.
  • تحقق باستخدام الأمر curl http://127.0.0.1:11434، الذي يُرجع الرسالة Ollama قيد التشغيل.

يستمع Ollama افتراضيًّا إلى المنفذ 11434 عبر بروتوكول HTTP، مربوطًا بعنوان الحلقة المحلية (loopback address) 127.0.0.1. وبالتالي فإن عنوان واجهة برمجة التطبيقات الأساسية (API base URL) على الجهاز نفسه هو http://127.0.0.1:11434. وبما أنه مربوط بعنوان الحلقة المحلية بدلًا من جميع الواجهات، فلا يمكن لأي جهاز خارج هذا الجهاز الوصول إليه ما لم تُغيّر عنوان الربط عمداً.

ما الذي يعمل فعليًّا على المنفذ 11434

المنفذ 11434 هو خادم HTTP الخاص بـ Ollama — وهو نفس العملية التي ollama serve تبدأ عند تشغيل Ollama، وهي أيضًا نفس العملية التي تبدأها تطبيقات سطح المكتب في الخلفية. ويتعامل معها كل جزء من أجزاء Ollama: واجهة سطر الأوامر (CLI)، ونافذة الدردشة في تطبيق سطح المكتب، وأي عميل طرف ثالث توجّهه إليها. أولاما واجهة سطر الأوامر (CLI)، ونافذة الدردشة على سطح المكتب، وأي عميل طرف ثالث توجّهه إليها.

نقطة النهايةالغرض
GET /فحص حالة التشغيل (Health check) — يُرجع نصًّا عاديًّا Ollama قيد التشغيل
GET /api/tagsيعرض قائمة النماذج المثبتة محليًّا بصيغة JSON
POST /api/generate, POST /api/chatنهايات استنتاج Ollama الأصلية
POST /api/pull, DELETE /api/deleteإدارة النماذج — تنزيل النماذج أو حذفها
/v1/chat/completionsطبقة متوافقة مع OpenAI، لاستخدام مكتبات SDK التي تتوقع وجود عنوان أساسي (base URL) لـ OpenAI

لاحظ الصف المخصص لـ /api/pull و /api/delete. أي شخص يستطيع الوصول إلى هذا المنفذ يمكنه تنزيل نماذج بحجم عدة جيجابايتات على قرصك الصلب أو حذف النماذج الموجودة لديك. وهذه هي القصة الأمنية باختصار، ولذلك السبب تم تعيين عنوان الربط الافتراضي ليكون عنوان الحلقة المحلية فقط. وإذا كنت ما زلت تقرر ما الذي ستثبّته محليًّا، فإن الصفحة قائمة نماذج أولاما تغطي النماذج المتاحة وحجم كل منها.

متغير OLLAMA_HOST الوحيد الذي يتحكم في المنفذ

يتم الحصول على كلٍّ من عنوان الربط والمنفذ من متغير بيئة واحد فقط هو OLLAMA_HOST. ولا يوجد إعداد منفصل للمنفذ، ولا ملف تهيئة يُعيد تعريفه.

القيمةالنتيجة
غير مُعرَّفيستمع إلى 127.0.0.1:11434
127.0.0.1:11435نفس السلوك المقتصر على عنوان الحلقة المحلية، لكن بمنفذ مختلف
0.0.0.0:11434يستمع إلى كل واجهات IPv4 — ويمكن الوصول إليه من الشبكة المحلية (LAN)
192.168.1.50:11434يستمع إلى واجهة محددة واحدة فقط

اكتبها دائمًا على الصورة المضيف:المنفذ. وتُقبل الصيغ المختصرة في بعض الإصدارات، لكن الصيغة الصريحة المكوَّنة من الزوج (host:port) تتصرف بشكل متسق عبر جميع الإصدارات.

هناك نقطة خادعة تُربك الغالبية العظمى من المستخدمين: OLLAMA_HOST يُقرأ متغير OLLAMA_HOST من قِبل العميل وكذلك الخادم. إذا نقلت الخادم إلى المنفذ 11435 بينما لا يزال سطر الأوامر في الطرفية يحتوي على القيمة الافتراضية، قائمة نماذج أولاما ستفشل مع خطأ اتصال بينما الخادم سليم تمامًا. عيّن المتغير في كلا المكانين، أو شغّل واجهة سطر الأوامر (CLI) كـ OLLAMA_HOST=127.0.0.1:11435 ollama list.

تغيير منفذ Ollama في أنظمة لينكس

ينشئ نص تثبيت لينكس خدمةً عبر systemd، وبالتالي فإن المتغيرات البيئية في طرفية (shell) المستخدم لا علاقة لها بالموضوع — بل يجب إدخالها في ملف الوحدة (unit file). استخدم ملف «تجاوز» (drop-in override) بدلًا من تعديل ملف الوحدة الأصلي المُورَّد مع الحزمة، لأن تحديثات الحزم ستُعيد كتابته تلقائيًّا:

sudo systemctl edit ollama.service

أضف الكتلة التالية (وفي إصدارات systemd الأحدث، ضعها بين التعليقات التالية: ### أي شيء بين هنا... وعلامات التعليق هذه):

[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"

وهذا يُنشئ الملف: /etc/systemd/system/ollama.service.d/override.confثم طبِّقه باستخدام:

sudo systemctl daemon-reload
sudo systemctl restart ollama
sudo systemctl status ollama

أضف سطرًا واحدًا Environment= لكل متغير — ولا يُستبدل السطر الأول بالثاني عند إضافته. وإذا كنت أيضًا تقوم بإعادة توجيه مسار تخزين النماذج، فعليك إضافة السطر: Environment="OLLAMA_MODELS=/mnt/models" في نفس الكتلة.

إذا قمت بتشغيل ollama serve يدويًّا

دون وجود systemd أصلًا، فما عليك سوى تصدير المتغير كما يلي: OLLAMA_HOST=0.0.0.0:11434 ollama serveوتذكَّر أن توقف خدمة systemd أولًا (sudo systemctl stop ollama) وإلا سيتصارع الخدمتان على المنفذ.

تغيير منفذ Ollama في أنظمة ماك أو إس

يتم تشغيل تطبيق ماك أو إس عبر جلسة الواجهة الرسومية (GUI)، والتي لا ترث إعدادات ملف الملف الشخصي للطرفية (shell profile). وبالتالي فإن تصدير المتغير في ملف OLLAMA_HOST في .zshrc يؤثر فقط على واجهة سطر الأوامر (CLI)، وليس على الخادم الذي يعمل في الخلفية. استخدم بدلًا من ذلك الأمر: launchctl :

launchctl setenv OLLAMA_HOST "0.0.0.0:11434"

ثم أغلق تطبيق Ollama من رمزه في شريط القوائم العلوي وأعد تشغيله. ويُطبَّق القيمة الجديدة فقط على العمليات التي تبدأ بعد هذا الإجراء.

launchctl setenv لا غير يستمر هذا التغيير بعد إعادة التشغيل. ولجعل التغيير دائمًا، يجب إعادة تنفيذه عند كل تسجيل دخول — وذلك عبر ملف LaunchAgent بصيغة plist، أو عن طريق إضافة عنصر بدء تشغيل (login item) يقوم بتنفيذ الأمر. كما توفر الإصدارات الحديثة من تطبيق ماك أو إس خيار تبديل الوصول الشبكي ضمن الإعدادات؛ فإذا كان هذا الخيار متاحًا في إصدارك، فاستخدمه لأنه يُحفظ بشكل دائم. وقبل إنشاء ملف LaunchAgent، تحقَّق من لوحة إعدادات التطبيق نفسها، واطلع على الدليل الكامل لأولاما لمعرفة ما تحتويه من إعدادات أخرى.

تغيير منفذ Ollama في أنظمة ويندوز

يعمل تطبيق Ollama على ويندوز كعملية عادية للمستخدم مع رمز في شريط المهام، وبالتالي يكفي تعيين متغير بيئة على مستوى المستخدم.

  1. الصحافة ويندوز، اكتب المتغيرات البيئية، ثم افتح تحرير المتغيرات البيئيةمتغيرات البيئة…
  2. تحت قسم متغيرات المستخدم، انقر على جديد.
  3. الاسم: OLLAMA_HOSTالقيمة: 0.0.0.0:11434 (أو المنفذ الذي اخترته).
  4. انقر فوق موافق في كلا النافذتين.
  5. انقر بزر الماوس الأيمن على رمز Ollama في شريط المهام واختر إنهاء، ثم أعد تشغيل Ollama من قائمة ابدأ.

الخطوة الخامسة هي التي يتجاهلها معظم المستخدمين. فبساطة إغلاق النافذة لا تتسبب في إيقاف الخادم؛ بل يستمر في التشغيل باستخدام القيمة القديمة. وبالمثل، يمكنك تنفيذ الأمر من طرفية الأوامر كما يلي: setx OLLAMA_HOST "0.0.0.0:11434" — لكن الأمر setx يؤثر فقط على العمليات التي تُشغَّل بعد بعد تنفيذه، وبالتالي لا يزال من الضروري إغلاق التطبيق وإعادة تشغيله. وإذا كنت تقوم بإعداد هذا لأول مرة، فإن دليل تثبيت Ollama يشرح عملية التثبيت على ويندوز خطوة بخطوة.

التحقق من أن الخادم يستمع فعليًّا

قم بإجراء فحصين، بالترتيب التالي: هل هناك تطبيقٌ ما يستخدم هذا المنفذ؟ وهل هذا التطبيق هو Ollama بالفعل؟

المنصةالأمر
أيcurl http://127.0.0.1:11434Ollama قيد التشغيل
أيcurl http://127.0.0.1:11434/api/tags → قائمة نماذج بصيغة JSON
لينكسsudo ss -tlnp | grep 11434
ماك أو إسlsof -nP -iTCP:11434 -sTCP:LISTEN
ويندوزnetstat -ano | findstr :11434
ويندوز (PowerShell)Get-NetTCPConnection -LocalPort 11434

اقرأ عمود العنوان المحلي بعناية. 127.0.0.1:11434 يعني الربط بالحلقة المحلية فقط — ولن يتمكّن أي جهاز بعيد من الاتصال، مهما كانت إعدادات جدار الحماية. 0.0.0.0:11434 أو *:11434 يعني جميع واجهات الشبكة.

جعل Ollama قابلاً للوصول من أجهزة أخرى

الربط بـ 0.0.0.0 ضروريٌّ لكنه عادةً غير كافٍ. ويجب أن تتحقَّق ثلاث شروط في آنٍ واحد: أن يكون الخادم مُربَطًا بعنوان غير خاص بالحلقة المحلية، وأن يسمح جدار حماية المضيف بالاتصالات الواردة عبر بروتوكول TCP على المنفذ المذكور، وأن يستخدم العميل عنوان IP الخاص بالشبكة المحلية للمضيف بدلًا من localhost.

قواعد جدار الحماية

المنصةكيفية السماح بالاتصالات الواردة عبر منفذ TCP 11434
ويندوزPowerShell كمسؤول: New-NetFirewallRule -DisplayName "Ollama" -Direction Inbound -Protocol TCP -LocalPort 11434 -Action Allow
لينكس (ufw)sudo ufw allow from 192.168.1.0/24 to any port 11434 proto tcp
لينكس (firewalld)sudo firewall-cmd --permanent --add-port=11434/tcp ثم sudo firewall-cmd --reload
ماك أو إسالإعدادات النظامية → الشبكة → جدار الحماية → الخيارات، ثم اسمح بالاتصالات الواردة لـ Ollama (أو أجب بنعم عند ظهور المطالبة عند التشغيل الأول)

حدِّد نطاق القاعدة بحيث يشمل شبكة الفرع الخاصة بك إن أمكن، كما في المثال الخاص بـ ufw، بدلًا من السماح للجميع بالوصول.

الآثار الأمنية، وبصورة واضحة

واجهة برمجة تطبيقات Ollama لا تحتوي على أي مصادقة، ولا مفاتيح واجهة برمجة التطبيقات، ولا تشفير TLS. الارتباط بـ 0.0.0.0 وهذا يمنح كل من يستطيع التوجيه إلى ذلك العنوان تحكُّمًا تامًّا: تشغيل الاستنتاج، وقراءة قائمة النماذج، وتنزيل نماذج جديدة، وحذف النماذج الموجودة. وتُكتشف حالات Ollama المعرَّضة للإنترنت بسرعة بواسطة أدوات المسح الآلي، لأن المنفذ 11434 معروف جيدًا.

خيارات أكثر أمانًا، مرتبة تقريبيًّا حسب الجهد المطلوب:

  • نفق SSH — اترك الربط على عنوان الحلقة المحلية وقم بتوجيهه: ssh -L 11434:127.0.0.1:11434 user@serverولا يتم الكشف عن أي شيء؛ فالعميل يتواصل مع عنوان localhost الخاص به.
  • شبكة تداخلية (Overlay network) — مثل Tailscale أو WireGuard أو ما يشابهها. قم بالربط مع عنوان واجهة الشبكة التداخلية بحيث يقتصر الاتصال على الأجهزة المتصلة بشبكتك الخاصة (tailnet).
  • بروكسي عكسي (Reverse proxy) — مثل Caddy أو nginx أمام الخادم، ليقوم بإنهاء اتصالات TLS وإنفاذ المصادقة الأساسية أو رمز المُحمل (bearer token)، بينما يبقى خادم Ollama نفسه مربوطًا بعنوان الحلقة المحلية.

إذا كنت تقيّم إمكانية استخدام خادم مختبري منزلي مشترك مقابل الدفع لكل رمز (token)، فإن حاسبة نقطة التعادل بين الاستضافة الذاتية وواجهات برمجة التطبيقات (API) يقدّم الأرقام التي توضّح هذا التنازل، أما حاسبة ذاكرة الفيديو (VRAM) فيُخبرك ما إذا كان الجهاز الذي ترغب في مشاركته قادرًا فعليًّا على استضافة النموذج.

تشخيص تعارض المنفذ

والعَرَض هو فشل في بدء التشغيل يشير إلى العنوان، ويكون نص الخطأ قريبًا مما يلي:

خطأ: listen tcp 127.0.0.1:11434: bind: العنوان مستخدم بالفعل

اعثر على المالك لهذا المنفذ:

# لينكس
sudo ss -tlnp | grep 11434

# ماك أو إس
lsof -nP -iTCP:11434 -sTCP:LISTEN

# ويندوز — احصل على معرف العملية (PID)، ثم حدّده
netstat -ano | findstr :11434
tasklist /FI "PID eq 12345"

وفي الواقع، يكون السبب في الغالب هو تشغيل Ollama نفسه مرتين. ومن أكثر الصور شيوعًا لذلك:

  • تطبيق سطح المكتب يعمل بالفعل في شريط المهام أو شريط القائمة، وأنت كتبت الأمر ollama serve في طرفية. وخادم التطبيق يعمل بشكلٍ جيد — فقط استخدمه.
  • على لينكس، تكون خدمة systemd نشطة وقد قمت بتشغيل الأمر ollama serve يدويًّا. أوقف إحداهما: sudo systemctl stop ollama.
  • حاوية Docker نشرت -p 11434:11434 وتستحوذ على منفذ المضيف. تحقّق باستخدام الأمر docker ps.

إذا كان الأمر فعليًّا تطبيقًا آخر، فغيّر منفذ Ollama بدلًا من التنافس عليه — اختر منفذًا عاليًا حرًّا مثل 127.0.0.1:11435 واضبط متغير البيئة OLLAMA_HOST كما ورد أعلاه. وتذكّر تحديث عنوان URL الأساسي في كل العميل، بما في ذلك إعدادات أي مكتبة برمجية متوافقة مع OpenAI.

Docker وWSL

داخل الحاوية الرسمية، يرتبط الخادم تلقائيًّا بـ 0.0.0.0:11434 بالفعل، وبالتالي فإنك تختار فقط التعيين على جانب المضيف: docker run -d -p 127.0.0.1:11434:11434 --name ollama ollama/ollama يحتفظ بالاتصال محليًّا، بينما -p 11434:11434 يعرّضه على جميع واجهات المضيف. ولنقل منفذ جانب المضيف، غيّر الرقم الأيسر فقط — -p 11435:11434 — واترك المنفذ الداخلي للحاوية دون تغيير.

من WSL2 إلى مثيل Ollama يعمل على مضيف Windows، localhost قد لا يُحلّ اسم المضيف دائمًا إلى عنوان المضيف الفعلي. اربط مثيل Ollama الجانبي في Windows بـ 0.0.0.0:11434، وسمح بالمنفذ في جدار الحماية Windows Defender، ثم اتصل من WSL باستخدام عنوان المضيف المستمد من ملف /etc/resolv.conf أو باستخدام عنوان الشبكة المُنسَخة (mirrored-networking)، وذلك حسب إعدادات WSL لديك.

الأسئلة الشائعة

هل توجد متغير بيئة باسم OLLAMA_PORT؟

لا. يتم ضبط المنفذ وعنوان الربط كليهما عبر OLLAMA_HOST، المكتوب على الصورة التالية: المضيف:المنفذ. أما تعيين المتغير منفذ OLLAMA فلا يؤثر إطلاقًا — فـ Ollama تتجاهله وتستمر في استخدام المنفذ 11434، ولذلك يبدو أن التغيير قد فشل بصمت.

لقد عيّنتُ قيمة OLLAMA_HOST إلى 0.0.0.0، ومع ذلك لا تزال الأجهزة البعيدة غير قادرة على الاتصال. لماذا؟

تحقق من الطبقات الثلاث بالترتيب. تأكَّد أولًا من أن الخادم مربوطٌ فعليًّا بعنوان 0.0.0.0 وليس بعنوان 127.0.0.1 باستخدام ss, lsof أو netstat؛ ثم تأكَّد من أن جدار الحماية الخاص بالمضيف يسمح بالاتصالات الواردة عبر بروتوكول TCP على هذا المنفذ؛ وأخيرًا تأكَّد من أن العميل يستخدم عنوان IP المحلي (LAN IP) الخاص بالمضيف، وليس localhost. والسبب الأكثر شيوعًا لهذا الخطأ هو عدم إعادة تشغيل عملية Ollama تمامًا بعد تعيين المتغير.

هل يؤدي تغيير المنفذ إلى تعطيل أداة سطر الأوامر (CLI) الخاصة بـ Ollama؟

قد يحدث ذلك. فالأداة تقرأ نفس متغير البيئة OLLAMA_HOST لتحديد مكان الاتصال، وبالتالي إذا انتقل الخادم إلى منفذ جديد بينما لم تُحدَّث القيمة في بيئة shell الخاصة بك، فإن أوامر مثل قائمة نماذج أولاما ستفشل مع خطأ اتصال. لذا يجب تعيين المتغير في ملف تعريف shell الخاص بك أيضًا، أو يمكنك إضافته كبادئة أمام كل أمر على حدة.

هل يمكنني تشغيل مثيلين من Ollama على منفذين مختلفين؟

نعم — ابدأ كل مثيل باستخدام قيمة مختلفة لمتغير OLLAMA_HOST. وسيشارك المثيلان نفس دليل النماذج ما لم تُخصِّص لكل منهما مسارًا منفصلًا لدليل النماذج عبر متغير OLLAMA_MODELS . واحذر من أن كلا المثيلين سيحمّلان أوزان النموذج إلى نفس وحدة معالجة الرسومات (GPU)، وبالتالي فإن تشغيل نموذجين كبيرين معًا سيؤدي إلى تنافس على ذاكرة VRAM؛ ويوضح المرجع متطلبات ذاكرة الفيديو (VRAM) حسب النموذج كمية المساحة المتبقية المتاحة فعليًّا.

ما هو عنوان URL الأساسي الذي تحتاجه العملاء المتوافقة مع OpenAI؟

وجِّه عنوان URL الأساسي في حزمة التطوير البرمجي (SDK) إلى http://localhost:11434/v1 (مع تعديل عنوان المضيف والمنفذ إذا قمت بتغييرهما). كما تتطلب معظم العملاء تعبئة حقل مفتاح API بقيمة غير فارغة، رغم أن Ollama تتجاهله تمامًا، لذا يمكنك تمرير أي سلسلة رمزية بديلة مثل أولاما.

هل من الآمن تعريض المنفذ 11434 للإنترنت؟

لا. فليس هناك أي آلية مدمجة للمصادقة أو التشفير، كما أن واجهة API المُعرَّضة تتضمّن عمليات سحب النماذج وحذفها. وإذا كنت بحاجة إلى الوصول عن بُعد، فاستخدم نفق SSH أو شبكة افتراضية خاصة (private overlay network)، أو ضع خلفه وكيل عكسي (reverse proxy) مُصادَق عليه ومزوَّد بتقنية TLS. وإذا كان الوصول عن بُعد هو المتطلب الرئيسي، فقارن التكلفة التشغيلية مع الاستخدام المُستضاف للاستنتاج (hosted inference) عبر منصة حاسبة تكلفة واجهة برمجة التطبيقات (API) قبل بناء البنية التحتية اللازمة.

مرجع سريع

المهمةالإجراء
المنفذ الافتراضي11434 على 127.0.0.1، بروتوكول HTTP
تغيير المنفذOLLAMA_HOST=127.0.0.1:11435
التعرّض للشبكة المحلية (LAN)OLLAMA_HOST=0.0.0.0:11434 + قاعدة في جدار الحماية
التثبيت على أنظمة Linuxsystemctl edit ollama.serviceEnvironment="OLLAMA_HOST=…"
التثبيت على أنظمة macOSlaunchctl setenv OLLAMA_HOST "…"، والتي تُطبَّق مجددًا عند تسجيل الدخول
التثبيت على أنظمة Windowsمتغير بيئة المستخدم، ثم أغلق التطبيق وأعد تشغيله من شريط المهام (tray)
فحص حالة التشغيل (Health check)curl http://127.0.0.1:11434

وبعد حل مشكلة المنفذ، فإن السؤال التالي عادةً هو: أي نموذج ينبغي وضعه خلف هذا المنفذ؟ — ويتناول الدليل أفضل النماذج المحلية لأولاما الخيارات الحالية حسب فئة الأجهزة.

بقلم مصطفى إحسان

مصطفى إحسان هو مؤسس ومُحرِّر موقع Convly.ai. وقد أنشأ قاعدة بيانات النماذج الحية للذكاء الاصطناعي الخاصة بالموقع، ومؤشر الكفاءة السعرية الخاص به، وكذلك الحاسبات المجانية لاحتياجات ذاكرة الفيديو (VRAM)، وتكاليف واجهات برمجة التطبيقات (API)، والاقتصاديات المرتبطة باستضافة النماذج محليًّا. ويكتب عن أسعار النماذج، ونتائج الاختبارات المعيارية، والأجهزة اللازمة لتشغيل نماذج الذكاء الاصطناعي محليًّا، ويفضّل دائمًا الأرقام المُقاسة بدقة على الادعاءات التي تطلقها الشركات المصنِّعة.

انتقل إلى الأعلى
Featured on There's An AI For That