Killswitch: 동적 IP VPN을 제외한 모든 연결을 차단합니다. (IP를 모르면 iptables를 사용할 수 없습니다.)

Killswitch: 동적 IP VPN을 제외한 모든 연결을 차단합니다. (IP를 모르면 iptables를 사용할 수 없습니다.)

IP가 아닌 도메인 이름을 통해 연결하는 VPN이 있습니다. (Debian에서 OpenVPN 사용)

VPN의 IP는 동적이며 언제든지 변경될 수 있습니다. 이는 의도적으로 설계된 것이며 제가 통제할 수 없습니다. 나는 내 기계를 원한다오직게다가 인터넷과의 통신은 tun0( my.vpn.domain.com내 생각에는 OpenDNS를 통해) 그리고아무것도 없다다른 것. 누출이 없습니다.

이제 도메인에서 유효한 VPN IP를 수동으로 확인하고 iptables/ufw를 사용하여 적절하게 제한합니다. 하지만 완전 자동 (재)연결 솔루션이 필요합니다.

내 생각에 유일한 옵션은 iptables(레이어 3+4)가 도메인 확인을 처리할 수 없기 때문에 애플리케이션 레이어(레이어 7) 솔루션을 사용하는 것입니다. OpenDNS를 사용하여 VPN용 IP를 자동으로 가져오되 위에서 언급한 다른 누출 문제가 없는 것을 원하는 것 같습니다.

어떻게 할 수 있나요? PFSense를 사용하면 이 작업을 수행할 수 있지만 PFSense를 사용하면 불가능합니다.

답변1

해결책은 스크립트를 갖는 것 같아요

  1. 이름 확인
  2. Netfilter/라우팅 테이블 수정

그리고 이 스크립트를 OpenVPN의 실행 프로그램에 통합하세요. 이건 할 수 있어

  1. OpenVPN 내부 스크립트 사용( --up)
  2. 시작 스크립트의 OpenVPN 외부(예: ExecStartPre=systemd)

첫 번째 경우는 잘 모르겠지만 두 경우 모두 터널이 다운된 후 OpenVPN이 연결을 다시 설정하려고 시도하는 것을 방지하는 것이 필요하거나 적어도 유용할 것이라고 생각합니다. 다시 해 보다).

두 경우 모두 시스템 단위 파일 openvpn과 같은 외부 재부팅이 필요합니다 .Restart=always

관련 정보