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

تكوين إشعارات الوصول إلى Telegram

يمكن لـ PortGuard Server إرسال رسالة Telegram بعد إضافة حزمة SPA الصالحة قاعدة جدار الحماية. تتضمن الإشعارات اسم مضيف الخادم، وعنوان IP المصدر المسموح به، عنوان IP لمصدر الحزمة، اسم المستخدم SPA، الوصول المطلوب، وقت الفتح، انتهاء الصلاحية الوقت، والمهلة.

1. قم بإنشاء روبوت Telegram​

  1. افتح @BotFather في Telegram.
  2. أرسل /newbot واتبع المطالبات.
  3. انسخ Bot Token الذي تم إرجاعه بواسطة BotFather. يبدو الأمر كذلك 123456789:AAExampleToken.

تعامل مع Bot Token ككلمة مرور. لا تلزمه بالتحكم بالمصادر، قم بلصقه في رسائل الدعم، أو كشفها في لقطات الشاشة.

2. ابحث عن الوجهة Chat ID​

لإجراء محادثة خاصة، افتح الروبوت الجديد، وحدد ابدأ، وأرسل إليه رسالة. بالنسبة للمجموعة، أضف الروبوت إلى المجموعة وأرسل رسالة أو أمرًا يفيد بأن الروبوت يمكن أن تتلقى.

على الخادم، أدخل Bot Token دون حفظه في سجل الصدفة:

read -rsp 'Telegram Bot Token: ' TG_TOKEN; echo

اقرأ آخر تحديثات البوت:

curl --config - <<EOF
silent
show-error
fail
url = "https://api.telegram.org/bot${TG_TOKEN}/getUpdates"
EOF
unset TG_TOKEN

ابحث عن message.chat.id في استجابة JSON. عادةً ما تكون Chat IDs الخاصة أرقام إيجابية. عادةً ما تكون معرفات المجموعة Chat ID سالبة وغالبًا ما تكون معرفات المجموعة الفائقة ابدأ بـ -100.

إذا كان result فارغًا، فأرسل للروبوت رسالة أخرى وقم بتشغيل الطلب مرة أخرى. بالنسبة للقناة، يمكنك استخدام @channel_username بعد إضافة الروبوت كقناة المسؤول مع الإذن لنشر الرسائل.

3. تكوين PortGuard Server​

ابدأ تشغيل وحدة تحكم جدار الحماية كجذر:

sudo portguard-fwknopd --fw-console

حدد 5. Configure Telegram notifications، ثم أدخل:

  • رمز الروبوت: الرمز المميز الذي توفره BotFather.
  • Chat ID: المعرف الرقمي الخاص/المجموعة أو @channel_username.
  • الحد الأدنى للفاصل الزمني للإشعارات: يرسل 0 إشعارًا لكل ضربة ناجحة. تمنع القيمة الأكبر الإشعارات الإضافية أثناء أن العديد من الثواني.

قم بتأكيد التكوين واختيار y عندما يُطلب منك إرسال اختبار إشعار. تقوم وحدة التحكم بتخزين الإعدادات في /etc/fwknop/fwknopd.conf باستخدام الوضع 600 ويعيد تحميل البرنامج الخفي قيد التشغيل.

4. قم بتكوينه يدويًا​

يمكن إضافة نفس الإعدادات مباشرة إلى /etc/fwknop/fwknopd.conf:

PORTGUARD_TG_BOT_TOKEN       123456789:replace_with_bot_token;
PORTGUARD_TG_CHAT_ID -1001234567890;
PORTGUARD_TG_NOTIFY_INTERVAL 0;

كلاً من Bot Token وChat ID مطلوبان. حماية التكوين و أعد تشغيل الخدمة بعد التغيير اليدوي:

sudo chmod 600 /etc/fwknop/fwknopd.conf
sudo portguard-fwknopd --exit-parse-config \
-c /etc/fwknop/fwknopd.conf \
-a /etc/fwknop/access.conf
sudo systemctl restart fwknopd

5. التحقق من الإخطارات​

اتبع سجل البرنامج الخفي أثناء إرسال حزمة SPA صالحة من PortGuard Client:

sudo journalctl -u fwknopd -f

يتم وضع الإشعار في قائمة الانتظار فقط بعد قبول حزمة SPA وجدار الحماية تمت إضافة القاعدة بنجاح. طرق متكرر بينما نفس القاعدة لا تزال نشط قد لا ينشئ قاعدة أخرى. انتظر حتى تنتهي صلاحية القاعدة السابقة من قبل الاختبار مرة أخرى.

إذا فشل اختبار وحدة التحكم أو لم ترسل الطرق المقبولة رسالة، فتحقق مما يلي:

  • يمكن للخادم حل api.telegram.org وإجراء اتصالات HTTPS الصادرة.
  • تم بدء الدردشة الخاصة، أو أن الروبوت لديه إذن بالنشر في المجموعة أو القناة الوجهة.
  • ينتمي Chat ID إلى نفس محادثة الروبوت المستخدمة مع getUpdates.
  • PORTGUARD_TG_NOTIFY_INTERVAL لا يمنع الإشعار.
  • تمت إعادة تحميل fwknopd أو إعادة تشغيله بعد تغيير التكوين اليدوي.

6. تعطيل الإشعارات​

قم بتشغيل وحدة التحكم مرة أخرى، وحدد الخيار 5، وأدخل disable كـ Bot Token، ثم تأكيد. يقوم PortGuard بإزالة جميع إعدادات Telegram الثلاثة ويعيد تحميل البرنامج الخفي.