Tomato Dual VLAN (onde um deles é VPN tunnelled)

4

Estou trabalhando para que minha configuração de rede doméstica com o Tomato funcione com dois SSIDs Wi-Fi. Meu roteador é um roteador NETGEAR NIGHTHAWK de banda dupla e, até agora, o Tomato funciona muito bem e o recurso VPN também. A única desvantagem é que, quando a VPN está ativa (quando você escolhe iniciar pela interface Tomato), ela aplica o túnel VPN aos dois SSIDs que eu configurei. Não há alguma maneira de a VPN ser aplicada a apenas um desses SSIDs? Dessa forma, alterando minha rede sem fio, posso me separar do túnel VPN em execução no meu roteador.

Isso é possível?

    
por matsko 27.09.2015 / 11:23

1 resposta

5

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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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
    
por 14.04.2017 / 23:11