
처음에는 무료 VPN을 사용하여 Linux에서 OpenVPN을 테스트하고 보정하고 있습니다.
내가 본 모든 소스에 따르면 OpenVPN 프록시는 localhost:1194에서 수신 대기해야 합니다. 실제로 원본인 0.0.0.0에서 지속적으로 수신 대기하며 브라우저는 일반 포트에서 이 주소로 설정된 프록시를 사용하여 OpenVPN에만 연결합니다.
0.0.0.0은 man openvpn에서 언급되지 않았습니다. 온라인상의 한 언급에서는 서버 구현에서 이 주소를 보여 주지만 0.0.0.0 표시 없이 client.ovpn을 사용하여 클라이언트를 실행하고 있습니다. 온라인 조언은 일반적으로 원본에서 수신 대기하는 애플리케이션에 대해 경고하지만, 더 중요한 것은 제가 본 모든 문서에서 OpenVPN이 localhost:1194에서 수신 대기하고 브라우저가 이 프록시로 설정되어야 한다고 가정한다는 것입니다.
OpenVPN이 잘못된 주소를 수신 대기하는 이유는 무엇이며 어떻게 해결할 수 있나요?
편집하다:
man openvpn을 다시 보면 '기본 게이트웨이'로 언급된 0.0.0.0과 관리 IP로 제공된 localhost를 볼 수 있습니다.
OpenVPN과 함께 상업용 VPN을 사용하고 localhost:1194를 사용하여 OpenVPN과 함께 브라우저를 사용하거나 암시적으로 사용하는 것을 본 기억이 납니다. 이는 대부분의 프록시가 로컬 호스트(Tor, Privoxy 등)를 수신한다는 점에서도 암시됩니다. 아래 설명에도 불구하고 일반적으로 OpenVPN 및 VPN 클라이언트는 마치 프록시(예: 양말 또는 http 터널과 같이 응용 프로그램이 네트워크 활동을 포팅하는 사용 가능한 청취 서비스)인 것처럼 널리 논의됩니다.
작업 프록시로 0.0.0.0:1194를 입력해야 한다는 언급은 없었고 실제로 주소:포트가 명시적으로 제공되지 않으면 Firefox는 OpenVPN에서 작동하지 않습니다.
OpenVPN을 사용하는 iptables에 대한 유일한 튜토리얼에서는 dport 지정만 제안하고 주소는 지정하지 않으며 포트가 localhost에 있음을 제안합니다.
모든 언급은 URL이 없는 웹의 저장된 문서에 있으며 지금은 온라인에서 검색할 시간이 없습니다.
0.0.0.0 IP에 대한 논의는 여기에서 수신 대기하는 서비스가 모든 인터페이스에서 그렇게 하고 있음을 암시하며, 나는 즉시 이것이 문제가 있다고 봅니다. 차라리 청취자를 특정 인터페이스로 제한하고 싶습니다. 로컬호스트. 예를 들어 다음은 수퍼유저의 다른 곳에 나타납니다.
서비스가 0.0.0.0에서 수신 중이면 이는 서비스가 구성된 모든 네트워크 인터페이스에서 수신 중임을 의미합니다. 127.0.0.1에서 수신 중이면 서비스는 루프백 인터페이스에만 바인딩됩니다(로컬 시스템에서만 사용 가능).
IP 주소 0.0.0.0은 사용 위치에 따라 매우 다른 의미를 가질 수 있습니다.
0.0.0.0/8 서브넷의 다른 주소(즉, 0.으로 시작하는 주소)와 함께 실제 네트워크 인터페이스에 제공되는 유효한 주소는 아닙니다. 컴퓨터가 여전히 자신의 IP 주소를 모르고 IP 주소를 얻으려고 하는 경우(전형적인 예: DHCP)를 제외하고는 IP 패킷의 소스 주소로 사용할 수 없습니다. 라우팅 테이블에서 사용되는 경우 기본 게이트웨이를 식별합니다. 0.0.0.0에 대한 경로가 기본 경로입니다. 즉, 대상 주소에 사용할 수 있는 특정 경로가 더 이상 없을 때 사용되는 경로입니다. 마지막으로, 요청한 netstat 명령의 출력에서 볼 때, 이는 주어진 소켓이 컴퓨터가 가지고 있는 사용 가능한 모든 IP 주소를 수신하고 있음을 의미합니다. 컴퓨터에 둘 이상의 IP 주소가 있는 경우 소켓은 특정 주소와 포트 쌍에만 바인딩되거나 포트와 모든 주소에 바인딩될 수 있습니다. 거기에 IP 주소가 있으면 소켓이 해당 포트와 특정 주소에서만 수신 대기하고 있음을 의미합니다. 0.0.0.0이 표시되면 루프백 주소(127.0.0.1)를 포함하여 시스템의 모든 주소에서 해당 포트를 수신하고 있음을 의미합니다.
불길한 어조로 Lifewire에서도 비슷한 내용이 제안되었습니다. 이는 OpenVPN이 권한이 없는 사용자로 돌아가기 전 초기화 단계에서 루트로 실행되고 Debian AFAIK에는 이에 대한 완화가 존재하지 않는다는 점에서 더 나쁩니다.
https://www.lifewire.com/four-zero-ip-address-818384
각주로, 특정 서버의 OpenVPN을 대신 로컬 호스트에서 수신하도록 설정할 수 있습니까?
답변1
IP 주소0.0.0.0
기본 주소를 의미합니다.
OpenVPN은 모든 트래픽을 VPN을 통해 라우팅하도록 설정되어 있으므로 클라이언트의 모든 요청을 수신(및 응답)하여 VPN을 통해 라우팅합니다.
수신 대기하지 않도록 설정하면 0.0.0.0
기본적으로 VPN을 통해 모든 것을 라우팅하는 옵션을 잃게 됩니다.
설명: OpenVPN은 운영 체제에 대해 실제 네트워크 어댑터와 동일한 가상 네트워크 어댑터를 생성합니다. OpenVPN이 연결되어 있는 동안 컴퓨터에는 이러한 어댑터가 두 개 있습니다.
모든 인터넷 요청이 해당 어댑터를 통과하도록 OpenVPN은 라우팅 주소를 0.0.0.0
. "나는 모든 것을 처리한다"라는 의미를 지닌 특별한 메타 주소입니다.
OpenVPN이 연결되기 전에 물리적 어댑터는 자신을 로 광고했으므로 0.0.0.0
이를 수신하는 드라이버였습니다.
OpenVPN이 연결된 후 물리적 어댑터에서 이를 제거 0.0.0.0
하고 자체적으로 사용하므로 이제 OpenVPN 드라이버가 이를 수신하고 있습니다.
OpenVPN이 수신 대기를 중지하도록 하는 유일한 방법은 0.0.0.0
VPN 연결을 끊는 것입니다. 기능을 수행하려면 소리를 들어야 합니다.