Tomato Dual VLAN(그 중 하나는 VPN 터널링됨)

Tomato Dual VLAN(그 중 하나는 VPN 터널링됨)

저는 두 개의 Wi-Fi SSID를 사용하기 위해 Tomato를 사용하여 홈 네트워크를 설정하려고 노력하고 있습니다. 내 라우터는 듀얼 밴드 NETGEAR NIGHTHAWK 라우터이며 지금까지 Tomato가 훌륭하게 작동하며 VPN 기능도 마찬가지입니다. 유일한 단점은 VPN이 활성화되면(Tomato 인터페이스를 통해 시작을 선택하는 경우) 제가 설정한 두 SSID 모두에 VPN 터널을 적용한다는 것입니다. SSID 중 하나만 VPN을 적용할 수 있는 방법은 없나요? 이렇게 하면 무선 네트워크를 변경하여 라우터에서 실행되는 VPN 터널에서 분리될 수 있습니다.

이것이 가능한가?

답변1

나는 최근 내 홈 네트워크인 Tomato (shibby) v138에서 이와 같은 것을 구현했습니다. 다이어그램은 다음과 같습니다. 토마토 LAN 다이어그램

VPN 설정을 시작하기 전에 처음에는 동일한 SSID에 2.4GHz 및 5GHz 네트워크가 모두 있었습니다. 이를 "공개"라고 하겠습니다. 내부 네트워크는 192.168.1.2-254 범위의 주소에 장치를 할당했습니다. 이것이 다이어그램의 위쪽 절반에 표시되는 내용입니다.

VPN을 통해 라우팅되는 새 서브넷을 추가하기 위해 변경한 사항은 다음과 같습니다.

  1. 아래에기본/네트워크/LAN, "br1"이라는 새 브리지를 추가했습니다. IP 주소 192.168.2.1, 넷마스크 255.255.255.0, DHCP 활성화, IP 범위 192.168을 지정했습니다.2.2-254.
  2. 아래에고급/가상 무선, 2.4GHz 및 5GHz 인터페이스에 각각 wl0.1 및 wl1.1이라는 두 개의 새로운 가상 무선 인터페이스를 추가했습니다. 둘 다 새 브리지 "LAN1(br1)"에 할당됩니다. 나는 두 가지 모두 동일한 새 SSID(예: "비공개")를 제공했습니다. 원하는 경우 공용 네트워크와 다른 비밀번호를 제공할 수도 있습니다.
  3. 아래에VPN 터널링/OpenVPN 클라이언트/기본, VPN 클라이언트를 구성했습니다(제 VPN 제공업체는 Private Internet Access이므로 다음을 따랐습니다).이 가이드). 또한 "WAN으로 시작"을 활성화하여 자동으로 시작되도록 했습니다.
  4. 아래에VPN 터널링/OpenVPN 클라이언트/고급, 클라이언트가 모든 것을 VPN으로 라우팅하지 않도록 "리디렉션 게이트웨이 무시" 옵션을 설정했습니다.
  5. 아래에VPN 터널링/OpenVPN 클라이언트/라우팅 정책, "VPN을 통해 리디렉션"을 선택하고 "소스 IP에서" 유형과 "192.168.2.0/24" 값을 가진 행을 추가하여 새 서브넷의 모든 호스트가 VPN을 통해 라우팅되도록 했습니다.

그 시점에서 VPN 클라이언트를 시작한 다음 무선 장치를 들고 "개인" 네트워크에 연결하고 내 인터넷 연결 IP가 VPN 뒤에 있는지 확인한 다음 "공용"에 연결하고 Netflix/Amazon Prime을 스트리밍할 수 있습니다. 지리적 제한 오류 없이 동영상을 시청할 수 있습니다.

이제 필요에 따라 SSID에 연결하도록 각 장치를 설정할 수 있습니다. 우리 집에서는 Netflix 스트리밍을 TV 세트에 제공하는 미디어 스트리머가 공용 네트워크에 유지됩니다. 내 휴대폰과 노트북이 개인 네트워크에 연결됩니다. 대부분의 경우 둘 중 하나를 선택해야 합니다. 장치가 임의로 둘 중 하나에 자동 연결되는 것을 원하지 않습니다.

선택적 추가 사항

유선 연결: VPN을 통해 물리적 이더넷 포트를 연결하려면 아래에 새 VLAN을 추가하면 됩니다.고급/VLAN새 브리지(br1)에 할당합니다. 이 시점에서 원하는 경우 라우터에 있는 하나 이상의 물리적 이더넷 포트를 보안 VLAN으로 이동할 수 있습니다. 그렇지 않았기 때문에 무선 클라이언트만 내 개인 서브넷에 가입할 수 있습니다.

내부 라우팅: 위의 단계를 수행한 후 공용 네트워크와 개인 네트워크의 클라이언트가 서로 통신할 수 없다는 것을 알 수 있습니다. 위에서 수행한 것처럼 VPN 클라이언트의 라우팅 정책을 설정하면 다음 규칙이 추가됩니다.

iptables -t mangle -A PREROUTING -s 192.168.2.0/24 -j MARK --set-mark 311

토마토의 방화벽 스크립트에. 이는 192.168.2.0/24 네트워크에서 발생하는 모든 패킷을 표시하며, 311 표시가 있는 모든 패킷은 VPN을 통해 라우팅됩니다. 이는 "공용" 서브넷(192.168.1.0/24)의 모든 장치가 내부 네트워크를 통해 "개인" 서브넷의 장치와 통신할 수 없음을 의미합니다. 왜냐하면 요청은 통과하더라도 응답이 해당 서브넷으로 전환되기 때문입니다. VPN이 손실되었습니다. 내 경우에는 개인 네트워크의 서버에서 파일 공유에 액세스할 수 있기를 원했기 때문에 공용 네트워크로 전송해야 하는 모든 항목에 대한 표시를 지우기로 결정했습니다. 나는 다음 줄을 추가하여 그렇게했습니다.

iptables -t mangle -A PREROUTING -s 192.168.2.0/24 -d 192.168.1.0/24 -j MARK --set-mark 0

에게관리/스크립트/방화벽. 개인 네트워크에서 라우터로 전달하려는 모든 포트에 대해 유사한 규칙을 추가할 수 있습니다.

안전 장치: "킬 스위치"라고도 알려져 있으며, 여기에 몇 가지 추가 규칙을 추가했습니다.관리/스크립트/방화벽이는 개인 네트워크에서 보호되지 않은 WAN(vlan2)으로 이동하는 것을 방지하기 위한 것입니다. 이는 VPN이 어떤 이유로 다운되면 개인 네트워크에 연결하는 클라이언트가 실수로 보호되지 않은 WAN 인터페이스를 통해 통신할 수 없음을 의미합니다.

iptables -I FORWARD -s 192.168.2.0/24 -o vlan2 -m state --state NEW -j REJECT --reject-with icmp-host-prohibited 
iptables -I FORWARD -p tcp -s 192.168.2.0/24 -o vlan2 -m state --state NEW -j REJECT --reject-with tcp-reset

관련 정보