Little Snitch가 vpn.btguard.com에서 openvpn으로 들어오는 연결을 거부한 이유는 무엇입니까?

Little Snitch가 vpn.btguard.com에서 openvpn으로 들어오는 연결을 거부한 이유는 무엇입니까?

저는 BTGuard VPN을 사용하고 있는데 Little Snitch로부터 무작위로 연결 거부 팝업을 받았습니다. LS 항목의 참고 사항은 다음과 같습니다.

2019년 5월 29일, vpn.btguard.com은 openvpn에 대한 수신 연결 설정을 시도했습니다. 이러한 종류의 연결은 지연될 수 없기 때문에 요청이 자동으로 거부되었습니다.

답변1

아마도 이전에 연결되었을 때의 길 잃은 패킷과 같을 것입니다. 예를 들어 OpenVPN 클라이언트가 다시 시작되었지만 서버는 여전히 이전 세션을 통해 데이터 전송을 시도했습니다.

OpenVPN(기본적으로 BTGuard 구성에서)은 상태 비저장 전송 프로토콜인 UDP를 통해 실행됩니다.아니요명시적인 '연결 설정' 또는 '연결 끊기' 패킷, 시퀀스 번호 없음, 포트 번호 쌍 외에는 아무것도 없습니다.

  • TCP에서 호스트와 방화벽은 SYN(핸드셰이크) 패킷을 확인하는 즉시 연결 추적을 시작합니다. 그러나 UDP에서는 어떤 종류의 '연결' 패킷도 없기 때문에(단지 데이터 패킷만) 방화벽은 단순히 '연결' 추적을 시작합니다.어느그들이 보는 패킷.

  • TCP에서는 호스트와 방화벽이 FIN(연결 끊김) 패킷을 보는 즉시 연결을 잊어버립니다. 그러나 UDP에서는 어떤 종류의 '연결 끊김' 패킷도 없기 때문에 방화벽은 시간 제한을 사용하여 오래된 '연결'을 만료시켜야 합니다(예: 60초, 180초 또는 10분 또는 이와 유사한 유휴 상태일 때마다 항목이 제거됩니다).

  • 물론 OpenVPN과 같은 프로그램에는 애플리케이션 계층 프로토콜에 '연결'/'연결 끊기' 명령이 있을 수 있지만 방화벽은 이에 대해 아무것도 모릅니다. 내부에 일부 데이터가 있는 UDP만 볼 수 있습니다.

따라서 때때로 일어나는 일은 다음과 같습니다.

  1. OpenVPN이 다시 시작/종료되고 방화벽이 이전 프로세스와 관련된 모든 항목을 잊어버리거나 VPN 연결이 너무 오랫동안 유휴 상태여서 만료 시간에 도달하여 방화벽이 이를 잊어버립니다.

  2. 그러나 BTGuard 서버는 OpenVPN "연결 끊김" 패킷을 수신하지 못했고 시간 초과로 인해 연결을 잊어버리지 않았으므로 이전 세션을 통해 일부 데이터를 사용자에게 다시 보내려고 시도합니다.

  3. 방화벽은 들어오는 패킷을 보고알 방법이 없어그것이 새로운 "연결"인지, 아니면 이전에 설정된 연결에 속하는지 여부입니다. (그리고 그것이 원래 외부에서 확립되었는지 내부에서 확립되었는지도 알 수 없습니다.)

    방화벽은 이 포트 쌍을 기억하지 못하기 때문에(1부에서 잊어버렸기 때문에) 새 포트 쌍이라고 가정합니다. 그리고 들어오는 패킷이기 때문에 방화벽은 "들어오는 연결"에 대한 경고를 표시합니다.

추측이지만 괜찮은 추측입니다.

관련 정보