Archive

Posts Tagged ‘vpn’

Redundância na VPN utilizando Mikrotik

Muitas vezes as empresas possuem redundância de link na matriz e uma conexão VPN com as filiais, mas geralmente os clientes da conexão apontam somente para o link principal, e quando este cai… Sem VPN pra todo mundo!!!

Diante de um questionamento sobre o assunto e de uma emergência no trabalho, consegui com a ajuda de alguns blogs e do tradicional ‘fuçômetro’ criar uma solução para este problema.

Cenário:

Matriz:

  • router mikrotik
  • Link dedicado operadoraA
  • Link dedicado operadoraB
  • OpenVPN Server

Filiais:

  • router mikrotik
  • link de internet
  • OpenVPN client

1 . Duplicando o client da VPN

Como já existe um client da VPN configurado vamos copiar a configuração para criar a redundância:

No menu PPP em interface dê dois cliques no client que já está ativo e na janela que abrir clique em copy. Na cópia criada altere o nome da conexão, para nossa configuração utilizaremos os nome “vpn-operadoraA” para a conexão ao link principal da matriz e, “vpn-operadoraB” para a conexão ao link secundário. Na configuração clonada (ativa-operadoraB), na aba Dial Out insira o IP do link secundário da matriz. Não se esqueçam de alterar o nome da conexão que já existia, ele será utilizado nos scripts.
2 . Criando os scripts

No menu System selecione Scripts e clique em Add (+), altere os seguintes campos:

Name: ativa-operadoraA
Source:
interface ovpn-client disable vpn-operadoraB;
interface ovpn-client enable vpn-operadoraA;

Clique em Add novamente e crie o segundo script com os parâmetros:

Name: ativa-operadoraB
Source: 
interface ovpn-client disable vpn-operadoraA;
interface ovpn-client enable vpn-operadoraB;

Pronto, os scripts para ativar e desativar os clients da VPN estão configurados. No primeiro, ele desativa a interface de conexão com o link secundário e ativa a conexão com o link principal. No segundo ocorre o contrário.

Para testar basta selecionar e clicar em “Run-script“, observe no menu PPP se as interfaces responderam aos comandos.
3 . Programando os testes

Para testar a disponibilidade do link e alternar os clients da VPN utilizaremos o Netwatch, que baseado no resultado de um ping disparado a um determinado host ele executa as ações determinadas.

No menu Tools, selecione Netwatch e clique em Add(+), preencha os seguintes campos:

– Aba Host:

  • Host: <ip do link principal da matriz>
  • Interval: 00:00:10 (o ping será disparado a cada 10 segundos)
  • Timeout: 500 ms (tempo de inatividade para que os scripts sejam executados)

– Aba Up:

  • On Up: ativa-operadoraA (script que ativa a conexão com o link principal)

– Aba Down:

  • On Down: ativa-operadoraB (script que ativa a conexão com o link secundário)

Estas configurações também podem ser adicionadas diretamente no console, para isso abra um terminal e digite o seguinte comando:

/tool netwatch add host=<ip principal> interval=10s timeout=500ms 
up-script=ativa-operadoraA down-script=ativa-operadoraB

O Netwatch disparará um ping a cada 10 segundos para o IP da matriz, se o tempo de resposta for maior que 500ms ele desativará o client do link principal e ativará o client do link secundário.

Pronto, redundância configurada. Vale ressaltar que a solução acabou de ser implementada, o tempo de testes não foi muito grande, mas a princípio atendeu à solicitação e os resultados foram os esperados.

Referência:

http://chokmahtech.blogspot.com/2009/01/redundncia-de-link-no-mikrotik.html

VPN L2TP no Mikrotik

Postei há um tempo atrás um artigo (http://wp.me/p1Ox5z-1C) que apresentava o Mikrotik, suas várias utilidades e como ele auxilia e facilita a administração de redes.

Neste post vou mostrar uma (das várias) opções que ele possui para conexões VPN. Só para deixar claro, o foco é a VPN, então não abordarei detalhadamente roteamento, firewall, proxy, controle de banda……

Principais termos do artigo:

  • VPN (Virtual Private Network)

As redes virtuais privadas (VPNs) são conexões ponto a ponto em redes privadas ou públicas, como a Internet. Um cliente VPN usa protocolos especiais baseados em TCP/IP, denominados protocolos de encapsulamento, para realizar uma chamada virtual a uma porta virtual em um servidor VPN. (http://technet.microsoft.com/pt-br/library/cc731954(WS.10).aspx)

  • L2TP (Layer Two Tunneling Protocol)

Protocolo que une as vantagens do PPTP (Point-to-Point Tunneling Protocol) e do L2F (Layer Two Forwarding), o L2TP realiza o encapsulamento de pacotes PPP podendo fazer uso dos mecanismos de autenticação. Também provê suporte para autenticação do túnel, permitindo que as extremidades sejam autenticadas. (http://www.lncc.br/~borges/doc/VPN%20Protocolos%20e%20Seguranca.pdf)

Cenário da solução:

Os mikrotiks foram usados para estabelecer uma conexão VPN entre a matriz e as filiais de uma empresa. Esta solução foi aplicada e os únicos problemas encontrados desde então são relacionados à indisponibilidade do link por parte da operadora. Após a conexão com a VPN é possível acessar todos os serviços de rede disponíveis na matriz, como por exemplo:

  • Autenticação no domínio;
  • Comunicador instântaneo corporativo;
  • Email;
  • Repositórios de dados;
  • Compartilhamentos de rede;
  • Acesso via SSH e Terminal service à servidores de desenvolvimento e estações de trabalho;

Na matriz o mikrotik recebe as conexões provenientes das filiais e faz a comunicação com a rede interna. Já nas filiais, os mikrotiks são responsáveis por:

  • Receber a conexão da internet;
  • Fornecer serviço de endereçamento à rede (DHCP);
  • Fornecer serviço de resolução de nomes (DNS) – remoto e local;
  • Compartilhar a conexão com a internet com o servidor proxy;
  • Proteger a rede – Firewall de borda;
  • Estabelecer a conexão VPN com a matriz;

Mikrotik da matriz (a partir de agora o chamaremos de servidor):

  • Servidor L2TP;
  • Interface 1: link dedicado – IP do servidor;
  • Interface 2: rede local matriz – IP: 192.168.0.222;
  • Endereçamento de rede da matriz: 192.168.0.0/24;

Mikrotik da filial (a partir de agora cliente):

  • Cliente L2TP;
  • Interface 1: internet – IP dinâmico;
  • Interface 2: rede local filial – IP: 192.168.30.254;
  • Interface 3: proxy – IP 10.1.1.3;
  • Endereçamento de rede da filial: 192.168.30.0/24;

Nota: nestas configurações foi utilizada a solução completa da Mikrotik: o sistema e o hardware.

Com os cenários devidamente apresentados, vamos pôr a mão na massa…


1 Configuração do servidor

Para acessar os routers utilizaremos o Winbox, um console que permite o acesso gráfico às funções e gerenciamento do router, o software escaneia a rede e identifica routers presentes e disponibiliza o login aos mesmos, por MAC ou IP do dispositivo.


1.1 Conectar ao router através do Winbox

Conect to: selecionar o IP ou MAC do dispositivo desejado
Login: admin
Password: por default o router não possui senha de conexão

Tela de Login do Mikrotik

Interface Principal de Winbox

1.1.1  Para alterar identificação (nome do router), clique no menu System (1) -> Identity (2) e insira o novo valor para o campo(3);

Alterar identificação do router

1.1.2 Para alterar configurar/alterar a senha de acesso do router, clique no menu System (1) > Password (2) > informar os valores solicitados (3);

Alterar senha de acesso do router


1.2 Ajustar a data e o horário

1.2.1 Para alterar habilitar o serviço NTP client, clicar no menu System (1) > NTP Client (2) > Preencher as informações com os servidores da preferência (3)

Configurar acesso NTP

1.2.2 Para ajustar o horário, clicar no menu System (1) > Clock (2) > Selecionar o Time Zone de acordo com o GMT, no nosso caso America/Sao_Paulo(3)

Ajustar o horário do router

Na maioria das interfaces de configuração presentes no Mikrotik, aparecem os botões de funções sobre interface, regras, rotas, pool, são eles:

Botões de função


1.3 Alterar endereços das interfaces

1.3.1 Clicar no menu IP (1) > Adresses (2) > Add (3) e preencha as informações:

Address: endereço IP da interface;
Network: máscara de subrede;
Broadcast: endereço de broadcast da rede;
Interface: interface que receberá o IP.

OBS: As interfaces Dinâmicas (D) são criadas pelo quando uma nova conexão é estabelecida, portanto não devem ser alteradas.

Nota: Caso o modem/router do provedor de internet possua um servidor DHCP ativo, basta conectar o cabo ao Mikrotik, não sendo necessário configurar um IP para o mesmo

Alterar endereços das interfaces


1.4    Criar a conexão L2TP

1.4.1 Clicar no menu PPP (1) > L2TPSERVER (2) > Enabled (3) > OK

Criar a conexão L2TP

OBS: No servidor L2TP as interfaces são dinâmicas, portanto criadas quando a conexão é estabelecida.

1.4.2 Ainda na interface do PPP clicar em Secrets (1) > Preencher os dados da nova conexão (2)

Name: nome para a conexão;
Password: senha que será informada pelo cliente para conectar;
Service: tipo de serviço (padrão: any);
Profile: tipo de criptografia (padrão: default-encryption);
Local Address: endereço local do túnel estabelecido;
Remote Address: endereço remoto do túnel estabelecido;

Conexão L2TP


1.5 Criando as rotas

1.5.1 Clicar no menu IP (1) > Routes (2)

Menu routes

1.5.2 Para que o router tenha acesso à internet, deve ser adicionada uma rota direcionando os as requisições a qualquer endereço (0.0.0.0) para a interface do gateway (1);

1.5.3 Para cada subrede (172.60.x.x), deve ser adicionada uma rota direcionando os acessos feitos a esta subrede para o endereço do servidor (2);

1.5.4 Os acessos à rede remota devem ser direcionados à interface da VPN correspondente (3);

Rotas do servidor

  OBS: As rotas dinâmicas (DAC) são criadas quando a conexão é estabelecida, portanto não devem ser alteradas.


1.6 Firewall

1.6.1 Clicar no menu IP (1) > Firewall (2) > NAT (3)

Regras de NAT do servidor

1.6.2 Adicionar a regra de mascaramento de endereço para as requisições partindo da rede interna e direcionando a saída para a interface do gateway (4).

1.6.3 Adicionar a regra de mascaramento de endereço para as requisições partindo das redes remotas e direcionando a saída para a interface da rede local (5).

1.6.4 Ainda na interface do firewall, selecionar a opção Mangle (1) > Add (2).

Esta seção será utilizada para marcar os pacotes provenientes de tráfego P2P, posteriormente bloqueados pelo firewall.

Tabela mangle

1.6.4.1 Na nova regra, alterar os seguintes parâmetros:

Aba General:

1 – Chain: Prerouting
2 – P2P: all-p2p 

Marcação de Pacotes

Aba Action:

1 – Action: Mark packet
2 – New packet market: pck-p2p (nome do pacote marcado)
Selecionar a opção Passthrough

Marcação de Pacotes 2

1.6.5 Selecionar a opção Filter Rules na interface do Firewall

Firewall do Servidor


Segue descrição das regras aplicadas no firewall do servidor da VPN:

1.6.5.1 Liberar acesso para conexões estabelecidas

Conexões estabelecidas

Para todas as interfaces em uso, devem ser adicionadas regras permitindo as conexões de entrada com os estados established e related, conforme imagem abaixo:

Liberação das conexões

Em todas as regras adicionadas, a opção Action, na aba Action deve ter o valor accept.

1.6.5.2 Liberar o protocolo ICMP nas interfaces

Liberar ICMP

Todos os parâmetros utilizados nestas regras são mostrados na imagem. As opções Chain, Protocol e In. Interface estão na aba General, a opção Action pode ser encontrada na aba de mesmo nome.

1.6.5.3 Liberar acesso aos serviços locais no roteador

Liberar acessos locais

Todos os parâmetros utilizados são mostrados na imagem. Foram liberadas, na interface da rede local, as portas de acesso aos serviços:

22 - SSH (TCP)
23 – Telnet (TCP)
8291 – Winbox (TCP)
199 – SNMP (TCP)
161 – SNMP (UDP)

1.6.5.4 Liberar portas para a conexão VPN

Liberar conexão VPN

Na interface do gateway foram liberadas conexões de entradas para o protocolo UDP na porta 1701 e conexões do protocolo gre.

1.6.5.5 Bloquear portas de NetBios

Bloqueio de NETBios

Na interface do gateway foi bloqueado o forward nas portas 445 e 139 do protocolo TCP, e para as portas 137 e 138 do protocolo UDP.

1.6.5.6 Bloquear tráfego P2P

Bloqueio P2P

A regra número 17 corresponde ao pacote P2P marcado na sessão Mangle, a referência a este pacote é feita na opção Packet Market na aba General (ver imagem abaixo).

Nas regras 18, 19 e 20 são bloqueados o forward, input e output para pacotes P2P (a imagem abaixo mostra o bloqueio do forward, as regras input e output também devem ser criadas).

Bloqueio de pacotes P2P

1.6.5.7 Bloquear tráfego desconhecido no roteador

Bloqueio de tráfego desconhecido

As conexões de entrada de destinos desconhecidos são bloqueadas em todas as interfaces do roteador.

1.6.5.8 Liberar acesso entre a rede e as VPNs estabelecidas

Liberação de acesso entre as redes

Para cada VPN estabelecida através do roteador, é necessário liberar o acesso (input, output e forward) com destino às redes (192.168.x.x) e subredes (172.60.x.x) envolvidas.


2 Configuração dos clientes

Seguir as orientações das seções 1.1 e 1.2 para alterar as informações de acesso, e endereçamento e configuração de hora do router.

Neste caso, os routers clients da VPN também são responsáveis por receber a conexão de internet que será usada na rede interna e ‘encaminá-la’ ao Proxy (não foi utilizado o serviço do mikrotik, devido ao uso de disco do cache). Portanto, o router conta com 3 interfaces de rede: uma para o gateway, uma para  a rede local e a terceira para o proxy. A interface da VPN é criada quando a conexão é estabelecida.

Alteração de IP do cliente

2.1.1 Conexão L2TP

2.1.1.1 Clicar no menu PPP (1) > Add (2) > L2TP Client (3)

Conexão L2TP

2.1.1.2 Na opção Name, da aba General, informar o nome da conexão

Nome da conexão

2.1.1.3 Na opção Dial Out preencher as informações relativas ao servidor da VPN

Server Address: endereço do servidor da VPN
User: usuário definido no servidor
Password: senha definida no servidor
Profile: tipo de criptografia (default: default-encriptation)

Configuração da conexão


2.1.2 Servidor DHCP

2.1.2.1 Clicar no menu IP (1) > Pool (2) > Add (3) > Preencher as informações solicitadas (4):

Name: identificação do Pool
Addesses: intervalo de endereços distribuídos pelo servidor
Next Pool: deve ser selecionado caso haja um pool na sequência do criado.

Pool do DHCP

2.1.2.2  Clicar novamente no menu IP (1) > DHCP Server (2)

DHCP Server

2.1.2.3  Na aba DHCP selecionar a opção Add (1) > Preencher com as configurações desejadas (2)

Name: nome do servidor DHCP
Interface: interface na qual o servidor distribuirá os endereços
Address Pool: pool de endereços distribuídos

Configuração do DHCP

2.1.2.4 Na aba Networks selecionar a opção Add (1) > Informar as configurações (2)

Address: Rede do servidor DHCP
Gateway: gateway da rede (pode ser o próprio mikrotik ou o Proxy, por ex.)
Netmask: máscara de subrede
DNS Servers: servidores de DNS da rede
Domain: domínio da rede

Redes do DHCP


2.1.3 Servidor DNS

2.1.3.1 Clicar no menu IP (1) > DNS (2)

DNS

2.1.3.2 Clicar em Add (1) > Preencher as informações relativas ao novo servidor (2)

Name: nome do servidor
Address: endereço da interface da rede local do mikrotik

Configuração servidor DNS

2.1.3.3 Ainda na interface do DNS, clicar em Settings (1) > adicionar os endereços dos DNS públicos para consulta do router (2)

DNS externo


2.1.4 Rotas

2.1.4.1 Clicar no menu IP (1) > Routes (2)

Rotas

2.1.4.2 Para que o router tenha acesso à internet, deve ser adicionada uma rota direcionando os as requisições a qualquer endereço (0.0.0.0) para a interface do gateway (1);

2.1.4.3 Os acessos à rede da matriz devem ser direcionados para a interface da VPN (2);

Rotas do cliente

OBS: As rotas dinâmicas (DAC) são criadas quando a conexão é estabelecida, portanto não devem ser alteradas.


2.2 Firewall

2.2.1 Clicar no menu IP (1) > Firewall (2) > NAT (3)

Configurações de NAT

2.2.2 Adicionar a regra de mascaramento de endereço para as requisições partindo do proxy (5) e direcionando a saída para a interface do gateway (esta regra permite que o Proxy tenha acesso à internet através do router);

2.2.3 Adicionar a regra de mascaramento de endereço para as requisições partindo da rede interna (5) e direcionando a saída para a interface do gateway (esta regra está desabilitada, só será ativada se o Proxy não puder atender às solicitações da rede);

2.2.4 Ainda na interface do firewall, selecionar a opção Mangle (1) > Add (2)

Esta seção será utilizada para marcar os pacotes provenientes de tráfego P2P, posteriormente bloqueados pelo firewall.

Marcação de pacotes

2.2.4.1 Na nova regra, alterar os seguintes parâmetros:

Aba General:

1 – Chain: Prerouting
2 – P2P: all-p2p 

Marcação de pacotes P2P

Aba Action:

1 – Action: Mark packet
2 – New packet market: pck-p2p (nome do pacote marcado)
Selecionar a opção Passthrough

Marcação de pacotes P2P - 2

2.2.5 Selecionar a opção Filter Rules na interface do Firewall

Firewall do cliente


Segue descrição das regras aplicadas no firewall do cliente da VPN.

2.2.5.1 Liberar acesso de/para o servidor da VPN:

Acesso ao servidor da VPN

Devem ser permitidas conexões de entrada originadas do servidor da VPN e permitir conexões destinadas ao mesmo servidor.

2.2.5.2 Liberar acesso para conexões estabelecidas

Conexões estabelecidas

Para todas as interfaces em uso, devem ser adicionadas regras permitindo as conexões de entrada com os estados established e related, conforme imagem abaixo:

Bloqueio de pacotes P2P

2.2.5.3 Liberar o protocolo ICMP nas interfaces:

Liberar ICMP

Todos os parâmetros utilizados nestas regras são mostrados na imagem. As opções Chain, Protocol e In. Interface estão na aba General, a opção Action pode ser encontrada na aba de mesmo nome.

2.2.5.4 Liberar acesso aos serviços locais no roteador

Libera serviços locais

Todos os parâmetros utilizados são mostrados na imagem. Foram liberadas, nas interfaces da rede local e da VPN conexões copm origem na rede local e na rede da matriz, as portas de acesso aos serviços:

22 - SSH (TCP)
23 – Telnet (TCP)
8291 – Winbox (TCP)
199 – SNMP (TCP)
161 – SNMP (UDP)

2.2.5.5 Liberar tráfego entre as redes

Libera tráfego entre as redes

É necessário liberar o acesso (input, output e forward) com destino à rede remota (192.168.0.0) e à subrede remota (172.60.30.0).

2.2.5.6 Liberar NetBios entre as redes

Liberar NetBios entre as redes

As portas do serviço de NetBios foram liberadas na interface da VPN, para permitir o compartilhamento de arquivos entre as redes.

2.2.5.7 Bloquear portas de NetBios

Bloquear acesso externo NetBios

Na interface do gateway foi bloqueado o forward nas portas 445 e 139 do protocolo TCP, e para as portas 137 e 138 do protocolo UDP.

2.2.5.8 Bloquear tráfego P2P

Bloqueio de P2P

A regra número 30 corresponde ao pacote P2P marcado na sessão Mangle, a referência a este pacote é feita na opção Packet Market na aba General (ver imagem abaixo).

Nas regras 39, 40 e 41 são bloqueados o forward, input e output para pacotes P2P (a imagem abaixo mostra o bloqueio do forward, as regras input e output também devem ser criadas).

Bloqueio de pacotes P2P

2.2.5.9 Bloquear tráfego desconhecido no roteador

Bloqueio de tráfego desconhecido

As conexões de entrada de destinos desconhecidos são bloqueadas em todas as interfaces do roteador.

Feitas todas as configurações é só ligar o cabo da internet, o proxy e a LAN nas interfaces correspondentes. Os servidores DHCP e DNS já estão ativos e assim que a conexão com a internet for identificada o router inicia a conexão com o servidor da VPN.

%d blogueiros gostam disto: