Introdução à Interligação Segura de Redes com Mikrotik e VPS
Em um cenário corporativo moderno, a necessidade de interligar redes remotas de forma segura e eficiente é crítica. A configuração de uma VPN Site to Site Mikrotik VPS permite que você conecte sua infraestrutura local (seja um escritório físico ou uma filial) a servidores remotos, nuvens privadas ou data centers utilizando um túnel criptografado. Essa arquitetura elimina a dependência de linhas físicas dedicadas caras e oferece segurança de rede VPS robusta contra interceptações na internet pública.
O objetivo deste tutorial é guiar sysadmins e profissionais de TI na implementação de uma conexão estável entre um roteador Mikrotik (local) e um servidor Linux em ambiente VPS. Utilizaremos o protocolo IPsec, amplamente suportado e padronizado, garantindo que todo o tráfego entre as sub-redes passe por um túnel privado VPS, mantendo a integridade e a confidencialidade dos dados transmitidos.
Pré-requisitos e Topologia de Rede
Antes de iniciar a configuração, é fundamental mapear os endereços IP para evitar conflitos de roteamento. A topologia básica envolve dois segmentos de rede distintos que precisam se comunicar através da internet.
- Rede Local (Mikrotik): Sub-rede
192.168.10.0/24. O gateway padrão do Mikrotik será192.168.10.1. - Rede Remota (VPS Linux): Sub-rede
192.168.20.0/24. O servidor terá um IP interno, por exemplo,192.168.20.5. - IP Público do VPS: Um endereço IP público estático (ex:
203.0.113.50) acessível da internet.
Garanta que o firewall do seu provedor de VPS permita a comunicação nas portas e protocolos necessários para o IPsec (UDP 500, UDP 4500 para NAT-Traversal, e protocolo ESP - 50). No Mikrotik, certifique-se de que a interface WAN tenha acesso à internet.
Passo 1: Configuração do Servidor VPN Linux (Side Server)
O primeiro passo é preparar o servidor VPS para aceitar conexões IPsec entrantes. Utilizaremos o strongSwan, uma implementação robusta e open-source de IPsec para Linux, amplamente utilizada em ambientes de produção por sua estabilidade e compatibilidade.
Instale os pacotes necessários no seu servidor VPS (exemplo baseado em Debian/Ubuntu):
sudo apt update
sudo apt install strongswan libstrongswan-standard-plugin libstrongswan-extra-plugins -y
Após a instalação, devemos configurar o arquivo principal do daemon. O caminho padrão é /etc/ipsec.conf. Vamos definir as redes locais e remotas, o método de autenticação (usaremos chaves pré-compartilhadas para simplicidade inicial) e os algoritmos de criptografia.
Edite o arquivo de configuração:
sudo nano /etc/ipsec.conf
Insira a seguinte estrutura, ajustando os IPs conforme sua topologia:
config setup
charondebug="ike 2, knl 2, cfg 2, net 2, esp 2, dmn 2, ikev2 0"
uniqueids=yes
conn remote-network
left=192.168.20.5 # IP interno do seu VPS Linux
leftsubnet=192.168.20.0/24 # Rede local do VPS
right=%any # Aceita conexões de qualquer IP externo (Mikrotik)
rightsubnet=192.168.10.0/24 # Rede local do Mikrotik
rightid=@mikrotik-router # ID opcional para identificação
ike=aes256-sha256-modp2048!
esp=aes256-sha256-modp2048!
authby=secret # Uso de chave pré-compartilhada
auto=add # Adiciona a conexão ao daemon, mas não inicia automaticamente (útil para debug)
keyexchange=ikev2 # Força o uso do IKEv2 por segurança e performance
Agora, defina a chave secreta no arquivo /etc/ipsec.secrets. Este arquivo deve ter permissões restritas para garantir a segurança de rede VPS.
sudo nano /etc/ipsec.secrets
Adicione a linha abaixo, substituindo SENHA_SECRETA_FORTE por uma string complexa. Esta será a mesma chave configurada no Mikrotik.
: PSK "SENHA_SECRETA_FORTE"
Aplique as permissões corretas:
sudo chmod 600 /etc/ipsec.secrets
Habilite o encaminhamento de pacotes (IP Forwarding) no kernel do Linux para que os pacotes encapsulados possam ser roteados entre a interface tunelada e a rede local:
sudo sysctl -w net.ipv4.ip_forward=1
Para tornar essa configuração permanente, edite o arquivo /etc/sysctl.conf e adicione ou altere a linha:
net.ipv4.ip_forward = 1
Reinicie o serviço strongSwan para aplicar as alterações:
sudo systemctl restart strongswan
sudo systemctl enable strongswan
Passo 2: Configuração do Cliente VPN Mikrotik (Side Client)
Agora que o servidor está pronto, direcionamos os olhos para o roteador Mikrotik. A configuração no RouterOS pode ser feita via Terminal (CLI) ou Interface Gráfica (WinBox). Para este tutorial, utilizaremos comandos de terminal para garantir precisão e replicabilidade.
O processo envolve criar uma política de IPsec que defina quem fala com quem, gerar as chaves criptográficas e configurar o peer (par) de comunicação.
2.1 Definindo as Propostas de Segurança
Primeiro, definimos a proposta de criptografia. É crucial que os parâmetros coincidam exatamente com os do lado do Linux para evitar falhas de negociação.
/ip ipsec mode-config
add name=vpn-mikrotik-rw response-only
/ip ipsec policy
add dst-address=192.168.20.0/24 src-address=192.168.10.0/24 template=yes priority=1 security=encrypt
add dst-address=192.168.10.0/24 src-address=192.168.20.0/24 template=yes priority=1 security=encrypt
Nota: A primeira regra protege o tráfego saindo da rede local (Mikrotik) para a rede remota (VPS). A segunda regra protege o retorno. O uso de template=yes é essencial em Mikrotik, pois permite que a política capture tráfego dinâmico sem precisar listar cada IP individualmente.
2.2 Configurando as Chaves e Propostas
Criamos o profile (perfil) de segurança e definimos a chave compartilhada.
/ip ipsec profile
add name=ike2-profile use-nat-t=yes dpd-maximum-failure=5
/ip ipsec peer
add address=203.0.113.50 # IP Público do VPS
exchange-mode=ike2
profile=ike2-profile
auth-as-initiator=yes
identity=mikrotik-client
generate-policy=port-strict
psk="SENHA_SECRETA_FORTE" # A MESMA CHAVE DO LINUX
/ip ipsec proposal
add name=ipsec-proposal pfs-group=none enc-algorithm=aes-256 auth-algorithm=sha256
Aqui, definimos o psk (Pre-Shared Key) idêntico ao do servidor Linux. Também habilitamos o use-nat-t=yes, que é vital caso algum dispositivo esteja atrás de um NAT, embora em configurações Site-to-Site puras seja menos comum, é uma boa prática de resiliência.
2.3 Ativando a Conexão
No Mikrotik, ao contrário do Linux onde usamos auto=add, geralmente queremos que a conexão seja estabelecida assim que possível, mas o strongSwan com auto=add requer que o tráfego "desperte" a conexão. Para forçar a criação da chave de troca (SA) imediatamente para testes:
/ip ipsec active-peers
# Verifique se o peer foi adicionado e está aguardando negociação
Para iniciar a negociação manualmente no Mikrotik, você pode clicar com o botão direito na linha do Peer no WinBox e selecionar "Initiate", ou via CLI gerar tráfego entre as redes. Uma vez que há pacotes indo de 192.168.10.x para 192.168.20.x, o Mikrotik acionará o IPsec.
Passo 3: Roteamento e Regras de Firewall
Muitas vezes, a VPN é estabelecida, mas os pingos falham. Isso geralmente ocorre por dois motivos: roteamento incorreto ou bloqueio no firewall do Linux.
3.1 Roteamento no Mikrotik
Se você não possui rotas estáticas pré-configuradas para a rede 192.168.20.0/24, o Mikrotik não saberá por onde enviar os pacotes destinados à rede remota. Adicione uma rota estática:
/ip route
add dst-address=192.168.20.0/24 gateway=203.0.113.50 # Ou use o ID do Peer se configurado dinamicamente
No entanto, com template=yes nas políticas de IPsec, o Mikrotik muitas vezes encapsula os pacotes automaticamente antes de consultar a tabela de rotas padrão, desde que a política esteja ativa. O ideal é garantir que o gateway da rota aponte para a interface WAN ou para o peer IPsec.
3.2 Regras de Firewall no Linux (UFW/Iptables)
O strongSwan cria interfaces virtuais (como ipsec0) e gerencia suas próprias regras, mas o firewall do sistema operacional pode bloquear o tráfego entre a interface tunelada e a interface local.
Se estiver usando UFW:
sudo ufw allow in on ipsec0
sudo ufw allow out on ipsec0
Verifique se o FORWARD chain está permitindo o tráfego. No Linux, por padrão, o forwarding pode estar bloqueado. Certifique-se de que suas regras de iptables ou nftables permitam o FORWARD entre eth0 (WAN) e a interface tunelada.
Passo 4: Testes de Conexão e Troubleshooting
Com ambas as extremidades configuradas, é hora de validar a integridade do túnel privado VPS.
4.1 Verificando o Status no Linux
No servidor VPS, utilize o comando ipsec status ou ipsec auto --status. Você deve ver a conexão remote-network como "RUNNING" e os SAs (Security Associations) estabelecidos.
sudo ipsec status
O log do sistema também é valioso. Verifique o arquivo /var/log/syslog ou use journalctl -u strongswan para identificar erros de handshake ou falhas de chave.
4.2 Teste de Ping e Roteamento
No Mikrotik, tente fazer um ping de uma máquina na rede local (ex: 192.168.10.50) para um IP na rede do VPS (ex: 192.168.20.100). Se o ping responder, o túnel está funcional.
Para visualizar as estatísticas de tráfego no Mikrotik:
/ip ipsec active-peers print
Você verá o tempo de atividade (uptime) e os bytes trocados. Se o uptime aumentar, a conexão está viva.
4.3 Problemas Comuns
- Falha na Negociação IKE: Verifique se as portas 500/4500 estão abertas no firewall do provedor de VPS. Muitos provedores bloqueiam essas portas por padrão em instâncias EC2/Azure.
- Diferença de Propostas: Se o Mikrotik usa AES-128 e o Linux AES-256, a conexão falhará. Padronize
aes-256esha256em ambos os lados. - Máscara de Sub-rede: Certifique-se de que as sub-redes definidas no
leftsubnet(Linux) erightsubnet(Mikrotik) são corretas. Um erro comum é definir a máscara /32 quando se deseja rotear toda a rede /24.
Otimizações de Segurança e Boas Práticas
Embora uma chave pré-compartilhada (PSK) funcione para testes e pequenas implantações, ela tem limitações. Para ambientes de alta exigência:
- Uso de Certificados Digitais: Substitua o PSK por autenticação baseada em certificados X.509. Isso elimina o risco de a chave ser descoberta e permite revogação granular de acesso.
- IKEv2 com MOBIKE: O protocolo IKEv2 suportado pelo strongSwan e Mikrotik permite que a VPN mantenha a conexão mesmo se o IP público do cliente mudar (útil para conexões móveis), desde que configurado corretamente.
- DHCP no Túnel: Em vez de usar sub-redes estáticas, considere usar DHCP over IPsec para atribuição dinâmica de IPs aos clientes remotos, facilitando a gestão de endereços.
Além disso, monitore o tráfego. Configure alertas no Mikrotik (System -> Scripts) ou no Linux (Nagios/Zabbix) para notificar se o túnel cair ou se houver um pico anormal de tráfego encapsulado, o que pode indicar tentativas de ataque ou vazamento de dados.
Conclusão
A configuração de uma VPN Site to Site Mikrotik VPS é uma habilidade essencial para qualquer profissional de infraestrutura. Ao dominar a integração entre o roteador Mikrotik e o servidor Linux, você garante que seus dados trafeguem por um caminho seguro e criptografado, protegendo sua rede privada virtual contra ameaças externas.
Lembre-se sempre de testar em ambientes isolados antes de aplicar em produção, documentar as chaves e sub-redes utilizadas, e manter os softwares (RouterOS e strongSwan) atualizados para corrigir vulnerabilidades conhecidas. Com esta base sólida, você está preparado para escalar sua infraestrutura com confiança.