Tomato Dual VLAN (onde um deles é encapsulado por VPN)

Tomato Dual VLAN (onde um deles é encapsulado por VPN)

Estou trabalhando para que minha 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 nele, assim como o recurso VPN. A única desvantagem é que quando a VPN está ativa (quando você escolhe iniciar através da interface do Tomato), ela aplica o túnel VPN a ambos os SSIDs que eu configurei. Não existe alguma maneira de aplicar a VPN apenas a um desses SSIDs? Dessa forma, ao mudar minha rede sem fio, posso me separar do túnel VPN que está rodando no meu roteador.

Isso é possível?

Responder1

Implementei algo assim recentemente na minha rede doméstica, no Tomato (shibby) v138. Aqui está um diagrama: Diagrama LAN do tomate

Antes de entrar na configuração da VPN, inicialmente eu tinha as redes de 2,4 GHz e 5 GHz no mesmo SSID, vamos chamá-lo de "público". A rede interna atribuiu dispositivos a endereços no intervalo 192.168.1.2-254. Isto é o que você vê na metade superior do diagrama.

Estas são as alterações que fiz para adicionar uma nova sub-rede roteada pela VPN:

  1. SobBásico/Rede/LAN, adicionei uma nova ponte chamada "br1". Forneci 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. SobSem fio avançado/virtual, 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)". Forneci a ambos o mesmo novo SSID, por exemplo, "privado". Você também pode fornecer a eles uma senha diferente da rede pública, se desejar.
  3. SobTunelamento VPN/Cliente OpenVPN/Básico, configurei o cliente VPN (meu provedor VPN é Private Internet Access, então seguieste guia). Também habilitei "Iniciar com WAN" para que ele seja iniciado automaticamente.
  4. SobTunelamento VPN/Cliente OpenVPN/Avançado, defino a opção "Ignorar Redirect Gateway" para que o cliente não roteie tudo para a VPN.
  5. SobTúnel VPN/Cliente OpenVPN/Política de Roteamento, marquei "Redirecionar através de 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 sejam roteados através da VPN.

Nesse ponto, posso iniciar o cliente VPN, pegar um dispositivo sem fio, conectar-me à rede "privada" e confirmar se meu IP voltado para a Internet está atrás da VPN e conectar-me ao "público" e transmitir Netflix/Amazon Prime vídeo sem obter erros de restrição geográfica.

Agora você pode configurar cada dispositivo para se conectar a qualquer SSID de acordo com suas necessidades. Em nossa casa, o streamer de mídia que transmite as transmissões do 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 – você não deseja que o dispositivo se conecte automaticamente a nenhum deles de forma arbitrária.

Extras opcionais

Conectando-se: Se quiser que uma porta Ethernet física se conecte por meio da VPN, você pode adicionar uma nova VLAN emAvançado/VLANe atribua-o à nova ponte (br1). Neste ponto, você pode mover uma ou mais portas Ethernet físicas do roteador para sua VLAN segura, se desejar. Não o fiz, então apenas clientes sem fio poderão ingressar na minha sub-rede privada.

Roteamento Interno: depois de seguir as etapas acima, você poderá descobrir que os clientes nas redes pública e privada não conseguem se comunicar. Configurar a política de roteamento do cliente VPN como fiz acima adiciona esta regra:

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

ao 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 pela VPN. Isso significava que quaisquer dispositivos na sub-rede “pública” (192.168.1.0/24) não poderiam se comunicar com dispositivos na sub-rede “privada” através da rede interna, porque embora a solicitação fosse completada, a resposta seria desviada para a rede interna. VPN e perdido. No meu caso, eu queria poder acessar compartilhamentos de arquivos de um servidor na rede privada, então decidi limpar 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

paraAdministração/Scripts/Firewall. Você pode adicionar uma regra semelhante para quaisquer portas que pretenda encaminhar para o roteador a partir da rede privada.

À prova de falhas: Também conhecido como "kill switch", adicionei algumas regras adicionais paraAdministração/Scripts/Firewallque visam impedir que qualquer coisa da rede privada vá para a WAN desprotegida (vlan2). Isso significa que, se a VPN cair por algum motivo, os clientes que se conectam à rede privada não poderão se comunicar acidentalmente pela interface 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

informação relacionada