Whonix와 유사하지만 범용 VPN용 VM 게이트웨이를 설정하는 방법

Whonix와 유사하지만 범용 VPN용 VM 게이트웨이를 설정하는 방법

저는 3개의 인터페이스를 갖춘 Linux 가상 머신을 만들었습니다. 인터넷 액세스를 위한 NAT 인터페이스(eth0, IP 범위 192.168.84.0/24), 다른 가상 머신과의 통신을 위한 호스트 전용 인터페이스(eth1, IP는 192.168.10.10), VPN 인터페이스(VPN 서버에 연결할 때 tun0이 시작되고 IP 범위는 10.182.0.0/16이며 연결할 때마다 변경될 수 있음)

내 목표는 eth1에서 들어오고 나가는 인터넷 트래픽을 tun0을 통해서만 라우팅하고 필요한 경우 게이트웨이의 다른 애플리케이션에 대한 인터넷 액세스를 유지하는 방법에 대해 필요한 모든 지침을 설정하는 것입니다. Whonix 게이트웨이(외부 연결된 VM 워크스테이션의 연결이 TOR을 통해 라우팅됨)와 유사한 것을 만들고 싶지만 TOR를 사용하는 대신 OpenVPN 또는 Wireguard를 통해 액세스할 수 있는 일반 VPN 서비스를 사용하고 싶습니다.

그래서 나는 몇 가지 단계를 생각했습니다.

  1. /etc/sysctl.conf 파일을 편집하고 설정하여 Linux 가상 머신에서 IP 전달을 활성화합니다.net.ipv4.ip_forward = 1

  2. 다음 명령을 사용하여 VPN 인터페이스를 통해 모든 트래픽을 라우팅하려면 호스트 전용 인터페이스에 대한 새 경로를 추가합니다.

sudo route add -net 192.168.10.0 netmask 255.255.255.0 gw 10.182.4.2 dev tun0

여기서는 tun0의 IP가 변경되면 어떻게 관리해야 할지 모르겠습니다. 이것이 맞다면.

  1. 게이트웨이 자체의 트래픽을 제외하고 eth1 인터페이스에서 VPN 인터페이스로 들어오고 나가는 모든 트래픽을 리디렉션하는 iptables 규칙을 설정하려면 다음 명령을 사용하십시오.
sudo iptables -A FORWARD -i eth1 -o tun0 -j ACCEPT
sudo iptables -A FORWARD -i tun0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o tun0 -j MASQUERADE
sudo iptables -t nat -A POSTROUTING -s 192.168.84.131 -o eth0 -j MASQUERADE
  1. iptables 규칙을 지속성으로 만들려면 다음 명령을 실행하여 iptables-persistent 패키지를 설치하십시오.
sudo apt-get install iptables-persistent
sudo iptables-save > /etc/iptables/rules.v4
  1. Linux 가상 머신을 기본 게이트웨이 및 DNS 서버로 사용하도록 호스트 전용 네트워크에 연결된 다른 가상 머신을 구성합니다. 따라서 IP 주소를 Linux 가상 머신의 호스트 전용 네트워크 인터페이스와 동일한 서브넷의 고유한 주소로 설정한 다음 기본 게이트웨이를 Linux 가상 머신의 호스트 전용 네트워크 인터페이스의 IP 주소로 설정하고 마지막으로 DNS를 설정합니다. 서버를 Linux 가상 머신으로 호스트 네트워크 인터페이스의 IP 주소만.

하지만 뭔가 작동하지 않고 호스트 전용 네트워킹을 통해 게이트웨이에 연결된 다른 VM에서 인터넷에 연결할 수 없습니다(VPN이 GW에 연결된 경우).

저는 전문가가 아니고 제가 무엇을 잘못하고 있는지 알고 있습니다. VPN 게이트웨이를 통해 인터넷에 연결된 Linux VM을 생성하고 이 단계를 공유하는 방법에 대한 이 단계를 단순화하고 적용(지침 제거 또는 추가)하도록 누군가 도와줄 수 있습니까? 2를 통해서만 동일한 클라이언트와 작업합니다. 가상 머신의 개인 네트워크에 연결된 다른 가상 머신이 이 연결을 설정합니다. 따라서 VPN이 꺼지면 게이트웨이에 연결된 다른 가상 머신은 인터넷에 연결되지 않습니다. ).

이것이 모두 이해가 된다면 ^_^ 정말 감사합니다

관련 정보