내가하려는 작업의 기본 설정은 다음과 같습니다.
클라이언트(모든 머신) ---> VPN 클라이언트(Raspberry Pi) ---> OpenVPN 서버 ---> 인터넷
VPN 클라이언트(Rpi)가 신뢰할 수 없는 네트워크를 사용하고 있을 수 있지만 이 경우 클라이언트가 응답할 수 있도록 포트 4443을 통해 인터넷의 모든 트래픽을 클라이언트로 다시 전달하고 싶습니다.
다른 모든 것이 제대로 작동하고 있습니다. 클라이언트가 pi에 연결하고 내가 만든 VPN의 일부인 것처럼 보이지만 어떤 방법으로도 반환 경로를 알 수 없습니다.
감사해요!
답변1
귀하의 질문에 구체적으로 답변하기에는 일부 정보가 누락되어 있습니다. 그러나 귀하에게 더 도움이 될 수 있도록 몇 가지 사항을 정리해 보겠습니다.
[...] 클라이언트가 응답할 수 있도록 포트 4443을 통해 인터넷의 모든 트래픽을 클라이언트로 다시 전달하고 싶습니다.
해당 데이터에 적합한 서비스가 없는 포트에는 다른 데이터를 전달할 수 없습니다.
VPN은 가상 네트워크 인터페이스를 포함하는 가상 네트워크를 생성하여 작동합니다. 가상 네트워크 인터페이스가 작동하려면 VPN 소프트웨어(클라이언트 또는 서버)가 실행 중이어야 합니다. VPN 소프트웨어가 가상 네트워크 인터페이스에서 데이터/패킷을 수신하면 데이터가 다시 패키징되고 전통적으로 암호화된 후 물리적 네트워크에 의해 전송되며, 데이터가 수신되면 그 반대의 경우도 마찬가지입니다.
VPN 특성으로 인해 두 개의 네트워크가 있습니다. 각각의 IP 주소가 있는 물리 및 가상. 이러한 네트워크를 사용하면 네트워크에서 할 수 있는 모든 일반적인 작업을 수행할 수 있습니다.
클라이언트(모든 머신) ---> VPN 클라이언트(Raspberry Pi) ---> OpenVPN 서버 ---> 인터넷
그리고 완 인터페이스 Physical Ethernet
입니다 Physical Ethernet 0
. 은 Physical Ethernet 1
과(와) 연결하는 것입니다 Client (machine)
.
나는 당신 Client (machine)
이 에 연결하기 위해 이더넷 케이블을 사용하고 있고 VPN Client (Raspberry Pi)
Raspberry Pi에 iptables를 가지고 있다고 가정합니다.
두 네트워크 사이에 NAT 전달을 설정하기 위해 의 Physical Ethernet 1
이름 은 eth0이고 의 이름은 tun0이라고 Virtuel Ethernet
가정합니다 .Physical Ethernet 1
Virtuel Ethernet
# Set default policies
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
# NAT
iptables -A POSTROUTING -o tun0 -j MASQUERADE # Enable NAT
# Forwarding
iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT # Allow forwarding from client to vpn
iptables -A FORWARD -i eth0 -o eth0 -j ACCEPT # Allow forwarding from client to client
iptables -A FORWARD -i tun0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT # Allow forwarding from vpn to client, for already established connections
또한보십시오Ubuntu에서 iptables를 사용하여 간단한 라우터를 구성하는 방법
VPN 서버가 있는 컴퓨터에서 어떤 OS를 사용하는지 모르겠습니다. 따라서 NAT 전달 방법에 대해 자세히 설명할 수는 없습니다.
답변2
나는 실제로 그것을 알아 냈습니다!
나는 이 작업을 수행하는 방법에 대한 전체 게시물을 썼습니다.https://virtualprivatepi.com/diy/