Tomato Dual VLAN (wobei eines davon VPN-getunnelt ist)

Tomato Dual VLAN (wobei eines davon VPN-getunnelt ist)

Ich arbeite daran, mein Heimnetzwerk mit Tomato so einzurichten, dass es mit zwei WLAN-SSIDs funktioniert. Mein Router ist ein Dualband-Router von NETGEAR NIGHTHAWK und bisher funktioniert Tomato darauf hervorragend, ebenso wie die VPN-Funktion. Der einzige Nachteil ist, dass, wenn das VPN aktiv ist (wenn Sie über die Tomato-Oberfläche „Start“ wählen), der VPN-Tunnel auf beide von mir eingerichteten SSIDs angewendet wird. Gibt es nicht eine Möglichkeit, das VPN nur auf eine dieser SSIDs anzuwenden? Auf diese Weise kann ich, indem ich mein drahtloses Netzwerk ändere, Teil des VPN-Tunnels sein, der auf meinem Router läuft.

Ist das möglich?

Antwort1

Ich habe so etwas kürzlich in meinem Heimnetzwerk auf Tomato (Shibby) v138 implementiert. Hier ist ein Diagramm: Tomato LAN-Diagramm

Bevor ich mit der VPN-Einrichtung begann, hatte ich zunächst sowohl das 2,4-GHz- als auch das 5-GHz-Netzwerk auf derselben SSID, nennen wir sie „öffentlich“. Das interne Netzwerk hat Geräten Adressen im Bereich 192.168.1.2-254 zugewiesen. Dies sehen Sie in der oberen Hälfte des Diagramms.

Dies sind die Änderungen, die ich vorgenommen habe, um ein neues Subnetz hinzuzufügen, das über das VPN geroutet wurde:

  1. UnterBasis/Netzwerk/LANhabe ich eine neue Bridge mit dem Namen „br1“ hinzugefügt. Ich habe ihr die IP-Adresse 192.168.2.1, die Netzmaske 255.255.255.0, DHCP aktiviert und den IP-Bereich 192.168 zugewiesen.2.2-254.
  2. UnterErweitertes/virtuelles Wirelesshabe ich zwei neue virtuelle drahtlose Schnittstellen hinzugefügt, wl0.1 und wl1.1, für die 2,4-GHz- bzw. 5-GHz-Schnittstellen. Beide sind der neuen Bridge „LAN1 (br1)“ zugewiesen. Ich habe beiden dieselbe neue SSID gegeben, z. B. „privat“. Sie können ihnen auch ein anderes Passwort als dem öffentlichen Netzwerk geben, wenn Sie möchten.
  3. UnterVPN-Tunneling/OpenVPN-Client/Basic, ich habe den VPN-Client konfiguriert (mein VPN-Anbieter ist Private Internet Access, also folgte ichdieser Leitfaden). Ich habe auch „Mit WAN starten“ aktiviert, damit es automatisch startet.
  4. UnterVPN-Tunneling/OpenVPN-Client/Erweiterthabe ich die Option „Redirect-Gateway ignorieren“ aktiviert, damit der Client nicht alles an das VPN weiterleitet.
  5. UnterVPN-Tunneling/OpenVPN-Client/Routing-Richtliniehabe ich „Umleitung über VPN“ aktiviert und eine Zeile mit dem Typ „Von Quell-IP“ und dem Wert „192.168.2.0/24“ hinzugefügt, sodass alle Hosts im neuen Subnetz über das VPN geroutet werden.

An diesem Punkt kann ich den VPN-Client starten, dann ein drahtloses Gerät nehmen, eine Verbindung zum „privaten“ Netzwerk herstellen und bestätigen, dass sich meine zum Internet gerichtete IP hinter dem VPN befindet, und eine Verbindung zum „öffentlichen“ Netzwerk herstellen und Netflix-/Amazon Prime-Videos streamen, ohne dass Fehlermeldungen bezüglich geografischer Einschränkungen angezeigt werden.

Jetzt können Sie jedes Gerät so einrichten, dass es sich je nach Bedarf mit einer der beiden SSIDs verbindet. Bei uns zu Hause bleibt der Media Streamer, der Netflix-Streams an den Fernseher sendet, im öffentlichen Netzwerk. Mein Telefon und mein Laptop verbinden sich mit dem privaten Netzwerk. In den meisten Fällen sollten Sie sich für das eine oder das andere entscheiden – Sie möchten nicht, dass sich das Gerät automatisch und willkürlich mit einem der beiden verbindet.

Optionale Extras

Verkabelt werden: Wenn Sie einen physischen Ethernet-Port über das VPN verbinden möchten, können Sie ein neues VLAN hinzufügen unterErweitert/VLANund weisen Sie es der neuen Bridge (br1) zu. An diesem Punkt können Sie einen oder mehrere physische Ethernet-Ports des Routers in Ihr sicheres VLAN verschieben, wenn Sie möchten. Ich habe das nicht getan, daher können nur drahtlose Clients meinem privaten Subnetz beitreten.

Internes Routing: Nachdem Sie die oben genannten Schritte ausgeführt haben, stellen Sie möglicherweise fest, dass Clients in öffentlichen und privaten Netzwerken nicht miteinander kommunizieren können. Wenn Sie die Routing-Richtlinie des VPN-Clients wie oben beschrieben einrichten, wird diese Regel hinzugefügt:

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

zum Firewall-Skript von Tomato. Dadurch werden alle Pakete markiert, die aus dem Netzwerk 192.168.2.0/24 stammen, und alles mit der Markierung 311 wird über das VPN geleitet. Dies bedeutete, dass Geräte im „öffentlichen“ Subnetz (192.168.1.0/24) nicht über das interne Netzwerk mit Geräten im „privaten“ Subnetz kommunizieren konnten, da die Anfrage zwar durchkam, die Antwort jedoch zum VPN umgeleitet und verloren ging. In meinem Fall wollte ich auf Dateifreigaben von einem Server im privaten Netzwerk zugreifen können, also beschloss ich, die Markierung für alles zu löschen, was an das öffentliche Netzwerk gesendet werden sollte. Dies tat ich, indem ich die Zeile hinzufügte:

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

ZuAdministration/Skripte/FirewallSie können eine ähnliche Regel für alle Ports hinzufügen, die Sie vom privaten Netzwerk an den Router weiterleiten möchten.

Ausfallsicher: Auch bekannt als "Kill Switch", habe ich ein paar zusätzliche Regeln hinzugefügt, umAdministration/Skripte/Firewalldie verhindern sollen, dass irgendetwas aus dem privaten Netzwerk in das ungeschützte WAN (VLAN2) gelangt. Das bedeutet, dass Clients, die eine Verbindung zum privaten Netzwerk herstellen, nicht versehentlich über die ungeschützte WAN-Schnittstelle kommunizieren können, wenn das VPN aus irgendeinem Grund ausfällt.

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

verwandte Informationen