Telegram 액세스 알림 구성
PortGuard Server는 유효한 SPA 패킷이 다음을 추가한 후 Telegram 메시지를 보낼 수 있습니다. 방화벽 규칙. 알림에는 서버 호스트 이름, 허용된 소스 IP, 패킷 소스 IP, SPA 사용자 이름, 요청된 액세스, 개시 시간, 만료 시간 및 시간 초과.
1. Telegram 봇 생성
- Telegram에서 @BotFather를 엽니다.
/newbot를 전송하고 프롬프트를 따릅니다.- BotFather에서 반환된 Bot Token를 복사합니다. 그것은 다음과 같습니다
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
JSON 응답에서 message.chat.id를 찾으세요. 개인 Chat ID는 일반적으로
양수. 그룹 Chat ID는 일반적으로 음수이며 종종 슈퍼그룹 ID입니다.
-100로 시작하세요.
result가 비어 있으면 봇에 다른 메시지를 보내고 요청을 다시 실행하세요.
채널의 경우 봇을 채널로 추가한 후 @channel_username를 사용할 수 있습니다.
메시지 게시 권한을 가진 관리자입니다.
3. PortGuard Server 구성
방화벽 콘솔을 루트로 시작합니다.
sudo portguard-fwknopd --fw-console
5. Configure Telegram notifications를 선택한 후 다음을 입력합니다.
- 봇 토큰: BotFather에서 제공하는 토큰입니다.
- Chat ID: 숫자로 된 개인/그룹 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. 알림 확인
PortGuard Client에서 유효한 SPA 패킷을 보내는 동안 데몬 로그를 따르십시오.
sudo journalctl -u fwknopd -f
SPA 패킷이 승인되고 방화벽이 승인된 후에만 알림이 대기열에 추가됩니다. 규칙이 성공적으로 추가되었습니다. 같은 규칙이 계속 유지되는 동안 반복되는 노크 active는 다른 규칙을 생성할 수 없습니다. 이전 규칙이 만료될 때까지 기다리세요. 다시 테스트 중입니다.
콘솔 테스트가 실패하거나 승인된 노크가 메시지를 보내지 않는 경우 다음을 확인하십시오.
- 서버는
api.telegram.org를 확인하고 아웃바운드 HTTPS 연결을 만들 수 있습니다. - 비공개 채팅이 시작되었거나 봇이 게시 권한을 가지고 있습니다. 대상 그룹 또는 채널.
- Chat ID는
getUpdates와 함께 사용되는 동일한 봇 대화에 속합니다. PORTGUARD_TG_NOTIFY_INTERVAL는 알림을 억제하지 않습니다.- 수동 구성 변경 후
fwknopd가 다시 로드되거나 다시 시작되었습니다.
6. 알림 비활성화
콘솔을 다시 실행하고 5 옵션을 선택한 다음 Bot Token로 disable를 입력하고
확인합니다. PortGuard는 세 가지 Telegram 설정을 모두 제거하고 데몬을 다시 로드합니다.