Mikrotik e VPN apenas para sites específicos

5

Dia a dia, a censura da Web em meu país ganha força. A solução óbvia é usar VPN, mas a conexão e a inofensividade dos serviços VPN públicos não podem ser garantidas.

Então, pensei em seguir a solução:

O roteador acessará a maioria dos sites de maneira convencional, mas manterá uma conexão VPN constante, a qual fingirá ser uma interface de rede adicional. Se eu acessar um dos sites censurados, o roteador passará o tráfego por meio dessa interface virtual.

Isso é possível com o RouterOS? Como fazer isso?

Meu roteador é RB2011UiAS-2HnD-IN, RouterOS v 6.30.2.

    
por Paul 11.11.2015 / 17:51

2 respostas

7

Vamos supor que você estará usando uma VPN PPTP apenas para demonstrar os comandos que você precisa executar.
Como a criptografia do PPTP está quebrada há muito tempo, sugiro que você use algo mais seguro (como o OpenVPN). O princípio é o mesmo, independentemente de qual tecnologia de VPN / túnel você usa.

Primeiramente, você cria a VPN sem adicionar uma rota de gateway padrão.

/interface pptp-client
add add-default-route=no allow=pap,chap,mschap1,mschap2 connect-to=VPN_SERVER_IP \
dial-on-demand=no disabled=no max-mru=1440 max-mtu=1440 mrru=dis \
name=VPN_NAME password="MY_STRONG_PASSWORD" profile=default-encryption user=USERNAME

Em seguida, você cria uma nova tabela de roteamento adicionando um gateway padrão por meio da VPN com uma nova marca de roteamento vpn . Isso permitirá que você rotear pacotes através da VPN.

/ip route add dst-address=0.0.0.0/0 gateway=VPN_GATEWAY_IP routing-mark=vpn

Também precisamos fazer algum NAT para os pacotes que sairão pela interface VPN.

/ip firewall nat add chain=srcnat out-interface=VPN_NAME action=masquerade

Agora, adicionamos a regra mangle que corresponderá aos IPs de destino que desejamos e faremos um mark-routing neles, para que eles usem a tabela vpn route que criamos.

/ip firewall mangle add chain=prerouting dst-address-list=VPN action=mark-routing new-routing-mark=vpn

Por fim, criamos um Address List no firewall com os IPs que queremos rotear por meio da VPN.

/ip firewall address-list add list=VPN address=1.1.1.1
/ip firewall address-list add list=VPN address=2.2.2.2
/ip firewall address-list add list=VPN address=3.3.3.3
/ip firewall address-list add list=VPN address=4.4.4.4

Você repete a última regra quantas vezes precisar para quantos IPs quiser rotear por meio da VPN.

Lembre-se de que as regras acima não fornecem segurança sobre quem está por trás do roteador e poderá acessar a VPN, etc. Talvez seja necessário adicionar verificações de IPs de origem apropriadas às regras para torná-las mais seguras.

Além disso, esse método roteará IPs inteiros por meio da VPN. Se você precisar rotear portas / protocolos específicos através da VPN, simplesmente crie regras adicionais de mangle que correspondam ao que você precisa e faça mark-routing nelas.

    
por 12.11.2015 / 13:45
-2

O abaixo é uma resposta genérica do linux. Eu não sei se routeros tem funcionalidade adequada em sua interface do usuário e se não for possível ignorar a interface do usuário e interagir diretamente com os recursos de roteamento / firewall / nat no kernel.

A primeira coisa a fazer é configurar seu software VPN e abrir a interface VPN. Você deve informar ao seu software de VPN NOT para tornar a VPN o gateway padrão. Como exatamente isso é feito dependerá de qual software VPN você está usando.

Você pode adicionar rotas específicas à tabela de roteamento para direcionar o tráfego para determinados endereços IP na VPN.

Você também precisa verificar se o NAT está configurado corretamente para que o endereço de origem dos pacotes que saem do roteador corresponda à interface da qual eles saem. Isso pode ser feito usando o destino "MASQURADE" ou configurando regras "SNAT" separadas para cada interface.

Dependendo da natureza exata do bloqueio, talvez você não ache necessário enviar parte ou todo o tráfego de DNS para a VPN. Enviar todo o seu tráfego de DNS pela VPN deve ser fácil o suficiente (basta apontar as configurações do servidor DNS em um IP roteado pela VPN). Se (por motivos de desempenho ou privacidade) você quiser que apenas algumas de suas consultas DNS percam a VPN, você precisará de algum tipo de proxy DNS para dividir as solicitações.

Uma complicação adicional é se os sites que você está acessando não tiverem IPs estáveis. Nesse caso, você precisaria de um proxy DNS que pudesse monitorar respostas e adicionar rotas dinamicamente.

    
por 11.11.2015 / 19:55

Tags