Konfigurasikan pemberitahuan akses Telegram
PortGuard Server boleh menghantar mesej Telegram selepas paket SPA yang sah menambah peraturan firewall. Pemberitahuan termasuk nama hos pelayan, IP sumber yang dibenarkan, IP sumber paket, nama pengguna SPA, akses yang diminta, masa buka, tamat tempoh masa, dan tamat masa.
1. Cipta bot Telegram
- Buka @BotFather dalam Telegram.
- Hantar
/newbotdan ikut gesaan. - Salin Bot Token yang dikembalikan oleh BotFather. nampak macam
123456789:AAExampleToken.
Anggap Bot Token sebagai kata laluan. Jangan berikannya kepada kawalan sumber, tampalkannya ke dalam mesej sokongan, atau dedahkannya dalam tangkapan skrin.
2. Cari destinasi Chat ID
Untuk sembang peribadi, buka bot baharu, pilih Mula, dan hantarkannya mesej. Untuk kumpulan, tambahkan bot pada kumpulan dan hantar mesej atau arahan bahawa bot itu boleh terima.
Pada pelayan, masukkan Bot Token tanpa menyimpannya dalam sejarah shell:
read -rsp 'Telegram Bot Token: ' TG_TOKEN; echo
Baca kemas kini terkini bot:
curl --config - <<EOF
silent
show-error
fail
url = "https://api.telegram.org/bot${TG_TOKEN}/getUpdates"
EOF
unset TG_TOKEN
Cari message.chat.id dalam respons JSON. Chat ID persendirian biasanya
nombor positif. Kumpulan Chat ID biasanya negatif dan ID supergroup selalunya
mulakan dengan -100.
Jika result kosong, hantar bot mesej lain dan jalankan permintaan itu semula.
Untuk saluran, anda boleh menggunakan @channel_username selepas menambah bot sebagai saluran
pentadbir dengan kebenaran untuk menghantar mesej.
3. Konfigurasikan PortGuard Server
Mulakan konsol firewall sebagai root:
sudo portguard-fwknopd --fw-console
Pilih 5. Configure Telegram notifications, kemudian masukkan:
- Token bot: token yang dibekalkan oleh BotFather.
- Chat ID: ID peribadi/kumpulan angka atau
@channel_username. - Selang pemberitahuan minimum:
0menghantar pemberitahuan untuk setiap ketukan berjaya. Nilai yang lebih besar menyekat pemberitahuan tambahan semasa banyak saat itu.
Sahkan konfigurasi dan pilih y apabila diminta menghantar ujian
pemberitahuan. Konsol menyimpan tetapan dalam /etc/fwknop/fwknopd.conf
dengan mod 600 dan muat semula daemon yang sedang berjalan.
4. Konfigurasikan secara manual
Tetapan yang sama boleh ditambah terus ke /etc/fwknop/fwknopd.conf:
PORTGUARD_TG_BOT_TOKEN 123456789:replace_with_bot_token;
PORTGUARD_TG_CHAT_ID -1001234567890;
PORTGUARD_TG_NOTIFY_INTERVAL 0;
Kedua-dua Bot Token dan Chat ID diperlukan. Lindungi konfigurasi dan mulakan semula perkhidmatan selepas perubahan manual:
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. Sahkan pemberitahuan
Ikuti log daemon semasa menghantar paket SPA yang sah daripada PortGuard Client:
sudo journalctl -u fwknopd -f
Pemberitahuan beratur hanya selepas paket SPA diterima dan tembok api peraturan berjaya ditambah. Ketukan berulang semasa peraturan yang sama masih aktif tidak boleh membuat peraturan lain. Tunggu peraturan sebelumnya tamat tempoh sebelum menguji lagi.
Jika ujian konsol gagal atau ketukan yang diterima tidak menghantar mesej, semak:
- Pelayan boleh menyelesaikan
api.telegram.orgdan membuat sambungan HTTPS keluar. - Sembang peribadi telah dimulakan, atau bot mempunyai kebenaran untuk menyiarkan dalam kumpulan atau saluran destinasi.
- Chat ID tergolong dalam perbualan bot yang sama yang digunakan dengan
getUpdates. PORTGUARD_TG_NOTIFY_INTERVALtidak menyekat pemberitahuan.fwknopdtelah dimuat semula atau dimulakan semula selepas perubahan konfigurasi manual.
6. Lumpuhkan pemberitahuan
Jalankan konsol sekali lagi, pilih pilihan 5, masukkan disable sebagai Bot Token dan
mengesahkan. PortGuard mengalih keluar ketiga-tiga tetapan Telegram dan memuatkan semula daemon.