Linux - VPN 동적 IP 도메인을 제외한 모든 연결 차단

Linux - VPN 동적 IP 도메인을 제외한 모든 연결 차단

IP가 아닌 도메인 이름을 통해 (OpenVPN) 연결하는 VPN이 있습니다. VPN의 IP는 동적이므로 언제든지 바뀔 수 있습니다. 나는 내 컴퓨터가 인터넷과만 통신하기를 원합니다 my.vpn.domain.com.아무것도 아님또 다른.

저는 OpenDNS 조회를 my.vpn.domain.com조회로 사용할 것이며 이것이 충분히 안전하다고 생각하며(VPN 도메인에 속하지 않는 모든 IP/연결도 차단한다고 가정) 더 나은/다른 IP 계층 기반 옵션은 없습니다.

내 목적은 실제로 좋은(누출이나 수동 개입 없이) VPN 킬 스위치를 갖는 것입니다.

도메인을 통해 VPN에 연결하면 제한 my.vpn.domain.com이 해제되고 방화벽/iptables가 tun0을 통한 연결만 허용하도록 할 수 있습니다. 그런 다음 VPN 연결이 끊어지면 my.vpn.domain.comVPN 연결을 통해 다시 시작한 다음 모든 tun0 등을 허용하십시오.

호스트 파일을 통해 이를 수행할 수 있습니까? 아니면 다른 방법으로 수행할 수 있습니까? 저는 리눅스 스크립팅을 처음 접했습니다.

답변1

다음과 같이 시도해 보는 것은 어떨까요?

터널이 아닌 인터페이스에서 모든 DNS 쿼리를 삭제하도록 iptables를 설정하지만 my.vpn.domain은 허용합니다.

iptables -A INPUT -o eth0 -p udp -s $your_dns_server --sport 53 -m state --state ESTABLISHED     -j ACCEPT
iptables -A INPUT -o eth0 -p udp --dport 53 -j DENY

iptables -A OUTPUT -o eth0 -p udp --dport 53 -m string --string my.vpn.domain --algo bm -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp -d $your_dns_server --dport 53 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp --dport 53 -j DROP

일단 설정된 후에 모든 트래픽을 터널 아래로 보내도록 openvpn을 구성하십시오.

OpenVpn은 기본적으로 모든 트래픽을 터널 아래로 라우팅하지 않지만 redirect-gateway. 'VPN을 통해 모든 클라이언트 트래픽(웹 트래픽 포함) 라우팅' 섹션을 읽어보세요.여기.

자동으로 다시 연결되도록 openvpn 구성

ping-restart 및 keepalive 구성 값을 가지고 놀아보세요.

ping 10
ping-restart 120
push "ping 10"
push "ping-restart 60"

or equivalently:

keepalive 10 60

필요에 따라 조정하되 완벽한 세상에서 iptables 설정과 openvpn keepalive 설정을 다이얼하면 시스템은 my.vpn.domain에 대해서만 쿼리하고 openvpn 연결을 설정 및 재설정하고 해당 연결만 라우팅할 수 있어야 합니다. 가능할 때.

아직 openvpn 문서를 읽지 않았다면동적 IP 주소에서 OpenVPN 서버 실행서버 측 구성이 올바른지 확인하십시오.

...클라이언트 시스템이 원격인 경우 iptables를 통해 SSH를 허용했는지 확인하여 자신이 잠기지 않도록 하세요. iptables를 처음 사용하는 경우 가볍게 진행하십시오.

관련 정보