Implementei algo assim recentemente em minha rede doméstica, no Tomato (shibby) v138. Aqui está um diagrama:
AntesdeentrarnaconfiguraçãodaVPN,euinicialmentetinhaasredesde2,4GHze5GHznomesmoSSID,vamoschamá-lode"público". A rede interna atribuiu dispositivos a endereços no intervalo 192.168.1.2-254. Isso é o que você vê na metade superior do diagrama.
Estas são as alterações que fiz para adicionar uma nova sub-rede que foi encaminhada através da VPN:
- Em Básico / Rede / LAN , adicionei uma nova ponte chamada "br1". Eu dei-lhe o endereço IP 192.168.2.1, máscara de rede 255.255.255.0, DHCP habilitado e intervalo de IP 192.168. 2 .2-254.
- Em Advanced / Virtual Wireless , adicionei duas novas interfaces sem fio virtuais, wl0.1 e wl1.1, para as interfaces de 2,4 GHz e 5 GHz, respectivamente. Ambos são atribuídos à nova ponte "LAN1 (br1)". Eu dei o mesmo SSID novo, por ex. "privado". Você também pode dar a eles uma senha diferente da rede pública, se quiser.
- Em VPN Tunneling / OpenVPN Client / Básico , configurei o cliente VPN (meu provedor de VPN é o acesso à Internet privada, então segui este guia ). Eu também habilitei "Start with WAN" para que ele seja iniciado automaticamente.
- Em VPN Tunneling / OpenVPN Client / Avançado , defino a opção "Ignore Redirect Gateway" para que o cliente não direcione tudo para a VPN.
- Em VPN Tunneling / Política OpenVPN Client / Routing , verifiquei "Redirect through VPN" e adicionei uma linha com o tipo "From Source IP" e o valor "192.168.2.0/24" para que todos os hosts na nova sub-rede, é encaminhado através da VPN.
Nesse momento, posso iniciar o cliente VPN, depois pegar um dispositivo sem fio, conectar-me à rede "privada" e confirmar que meu IP voltado para a Internet está por trás da VPN e se conectar a "público" e transmitir o Netflix / Amazon Prime video sem erros de restrição geográfica.
Agora você pode configurar cada dispositivo para se conectar ao SSID de acordo com as necessidades deles. Em nossa casa, o streamer de mídia que serve transmissões da Netflix para o aparelho de TV permanece na rede pública. Meu telefone e laptop se conectam à rede privada. Na maioria dos casos, você deve escolher um ou outro - não deseja que o dispositivo se conecte automaticamente a um deles arbitrariamente.
Extras opcionais
Ficando conectado : Se você quiser uma porta Ethernet física para se conectar através da VPN, você pode adicionar uma nova VLAN em Advanced / VLAN e atribuí-la à nova ponte (br1) Neste ponto, você pode mover uma ou mais portas Ethernet físicas no roteador para sua VLAN segura, se desejar. Eu não fiz isso, então apenas clientes sem fio poderão se juntar à minha sub-rede privada.
Roteamento interno : após seguir as etapas acima, você pode descobrir que os clientes nas redes públicas e privadas não podem se comunicar entre si. Configurar a política de roteamento do cliente VPN como eu fiz acima adiciona esta regra:
iptables -t mangle -A PREROUTING -s 192.168.2.0/24 -j MARK --set-mark 311
para o script de firewall do tomate. Isso marca todos os pacotes originados na rede 192.168.2.0/24, e tudo com a marca 311 é roteado através da VPN. Isso significava que quaisquer dispositivos na sub-rede "pública" (192.168.1.0/24) não poderiam falar com dispositivos na sub-rede "privada" através da rede interna, porque, embora a solicitação fosse recebida, a resposta seria desviada para a rede interna. VPN e perdido. No meu caso, eu queria poder acessar os compartilhamentos de arquivos de um servidor na rede privada, então decidi liberar a marca para qualquer coisa que deveria ser enviada para a rede pública. Eu fiz isso adicionando a linha:
iptables -t mangle -A PREROUTING -s 192.168.2.0/24 -d 192.168.1.0/24 -j MARK --set-mark 0
para Administração / Scripts / Firewall . Você pode adicionar uma regra semelhante para todas as portas que você pretende encaminhar para o roteador da rede privada.
Fail-safe : Também conhecido como "kill switch", adicionei algumas regras adicionais a Administração / Scripts / Firewall que impedem qualquer coisa do rede privada indo para a WAN desprotegida (vlan2). Isso significa que, se a VPN ficar inativa por algum motivo, os clientes que se conectarem à rede privada não poderão se comunicar acidentalmente pela interface da WAN desprotegida.
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