Tomato Dual VLAN (where uno di loro è tunnel VPN)

Sto lavorando per impostare la mia networking di casa con Tomato per lavorare con due SSID Wi-Fi. Il mio router è un router a double banda NETGEAR NIGHTHAWK e finora il pomodoro funziona ottimamente su di esso e così funziona anche la funzionalità VPN. L'unico inconveniente è che quando la VPN è triggers (quando si sceglie l'avvio tramite l'interface Tomato) applica il tunnel VPN a entrambi gli SSID che ho impostato. Non esiste un modo per applicare solo la VPN a uno solo di questi SSID? In questo modo, cambiando la mia networking wireless, posso essere a parte il tunnel VPN che è in esecuzione sul mio router.

È ansible?

Ho implementato qualcosa di simile recentemente sulla mia networking domestica, su Tomato (shibby) v138. Ecco uno schema: Schema LAN di pomodoro

Prima di entrare nella configuration VPN, all'inizio ho avuto entrambe le reti 2.4GHz e 5GHz sullo stesso SSID, diciamolo "pubblico". La networking interna ha assegnato dispositivi agli indirizzi nell'intervallo 192.168.1.2-254. Questo è ciò che vedi nella metà superiore del diagramma.

Queste sono le modifiche apportte per aggiungere una nuova substring che è stata instradata tramite la VPN:

  1. In Basic / Network / LAN , ho aggiunto un nuovo ponte denominato "br1". Gli ho dato l'indirizzo IP 192.168.2.1, netmask 255.255.255.0, DHCP abilitato e IP Range 192.168. 2 .2-254.
  2. Nell'ambito di Advanced / Virtual Wireless , ho aggiunto due nuove interfacce wireless wl0.1 e wl1.1 per le interfacce 2.4GHz e 5GHz, rispettivamente. Entrambe sono assegnate al nuovo ponte "LAN1 (br1)". Ho dato entrambi lo stesso nuovo SSID, ad esempio "privato". Puoi anche dare loro una password diversa dalla networking pubblica, se ti piace.
  3. In VPN Tunneling / OpenVPN Client / Basic , ho configurato il client VPN (il mio provider VPN è Accesso privato a Internet, quindi ho seguito questa guida ). Ho anche abilitato "Start with WAN" in modo che si avvia automaticamente.
  4. In VPN Tunneling / OpenVPN Client / Advanced , ho impostato l'opzione "Ignora reindirizzamento gateway" in modo che il client non passerà tutto al VPN.
  5. In ambedue VPN Tunneling / OpenVPN Client / Routing Policy , ho controllato "Redirect tramite VPN" e ho aggiunto una row con il tipo "From Source IP" e il valore "192.168.2.0/24" in modo che tutti gli host sulla nuova substring venissero instradati tramite VPN.

A quel punto, posso avviare il client VPN, quindi prelevare un dispositivo wireless, connettersi alla networking "privata" e confermare che il mio IP affrontato in Internet è dietro la VPN e connettersi a "public" e far passare Netflix / Amazon Prime video senza get errori di restrizione geografica.

Adesso puoi impostare each dispositivo per connettersi a SSID in base alle proprie esigenze. Nella nostra casa, il stream multimediale che serve i flussi Netflix al televisore rimane nella networking pubblica. Il mio telefono e laptop si collegano alla networking privata. Nella maggior parte dei casi si dovrebbe scegliere uno o l'altro – non si desidera che il dispositivo si connette automaticamente a uno arbitrario.

Extra facoltativi

Come cablato : se si desidera che una port Ethernet fisica si connetti attraverso la VPN, è ansible aggiungere una nuova VLAN in Advanced / VLAN e assegnarla al nuovo ponte (br1). A questo punto è ansible spostare una o più porte Ethernet fisiche sul router alla propria VLAN protetta, se si desidera. Non ho fatto, quindi solo i client wireless potranno unirmi alla mia substring privata.

Routing interno : dopo aver seguito i passaggi di cui sopra, è ansible che i client della networking pubblica e privata non possano parlare tra di loro. L'impostazione del criterio di routing del client VPN come ho fatto sopra aggiunge questa regola:

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

allo script firewall del pomodoro. Che segna tutti i pacchetti originati dalla networking 192.168.2.0/24 e tutto con il marchio 311 viene routed via VPN. Ciò ha significato che tutti i dispositivi della substring "pubblica" (192.168.1.0/24) non potevano parlare con i dispositivi della substring "privata" attraverso la networking interna, perché anche se la richiesta avrebbe ottenuto la risposta sarebbe stata deviata VPN e persi. Nel mio caso volevo poter accedere alle condivisioni di file da un server sulla networking privata, quindi ho deciso di cancellare il marchio per tutto ciò che dovrebbe essere inviato alla networking pubblica. Lo ho fatto aggiungendo la linea:

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

all'amministrazione / script / firewall . È ansible aggiungere una regola simile per tutte le porte che intendete inoltrare al router dalla networking privata.

Fail-safe : Conosciuto anche come "kill switch", ho aggiunto alcune regole aggiuntive a Administration / Scripts / Firewall che sono intese per impedire che qualsiasi cosa proveniente dalla networking privata va alla WLAN non protetta (vlan2). Ciò significa che se il VPN scende per qualche motivo, i client che si collegano alla networking privata non possono comunicare accidentalmente tramite l'interface WAN non protetta.

 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