내 VPN 연결에는 일종의 "보호"가 필요합니다. 연결이 끊어지면 기기는 인터넷에 액세스할 수도 없습니다. (다른 방법으로 기계에 접근할 수 있습니다.)
가능합니까?
내 기억이 맞다면 Windows에는 몇 가지 "안전 장치"가 있지만 Linux용 솔루션에 대해서는 들어본 적이 없습니다. cli는 말할 것도 없고요.
답변1
클라이언트 구성의 지시문을 사용하여 down
연결이 끊어졌을 때 사용자 정의 스크립트를 트리거할 수 있습니다. 스크립트에서는 공용 네트워크 연결을 제한하는 여러 작업을 수행할 수 있습니다. 이것이 내 생각이다:
- VPN 서버에 대한 연결만 허용하도록 일부 iptables를 설정하면 다른 모든 연결은 삭제됩니다. 물론 클라이언트가 복구되면 이 제한을 제거하는 것을 잊지 마십시오.
- resolv.conf 파일을 수정하여 이름 확인을 제한하거나 끄십시오.
- 사용자 정의 라우팅 테이블 병합
답변2
이를 위해 방화벽을 사용할 수 있습니다. 기본적으로 들어오고 나가는 트래픽은 모두 비활성화되어 있습니다. openvpn 네트워크 인터페이스에서 나가는 트래픽을 허용합니다. 모든 인터페이스에서 VPN 서버에 대한 액세스를 허용합니다(따라서 VPN에 연결할 수 있음).
호스트 이름을 통해서만 VPN 서버에 액세스할 수 있는 경우 이러한 규칙을 보다 완화해야 합니다. 이름 확인 및 발신 VPN 포트에 발신 포트 53을 허용합니다.
ufw
(간단한 방화벽)에 대한 구성 명령을 넣겠습니다. 이 명령은 다음을 기반으로 합니다.askubuntu "OpenVPN용 UFW" 답변.
# Adapt this value to your config!
VPN_ADDRESS=...
ufw --force reset
ufw default deny incoming
ufw default deny outgoing
ufw allow out on tun0
ufw allow out to $VPN_ADDRESS
ufw enable