پرش به مطلب اصلی

اعلان‌های دسترسی 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 ID های خصوصی معمولاً هستند اعداد مثبت گروه 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 را حذف کرده و دیمون را دوباره بارگذاری می کند.