Fazer VPN com PPTP e nada é quase a mesma coisa. Vamos configurar uma VPN de responsa, com o OpenVPN.
O método de autenticação escolhido foi através de certificado auto-assinado, além de usuário e senha. Façamos como Jack, em partes.
É possível gerar o certificado diretamente no RouterOS, mas como uso Linux, vou fazê-lo usando o pacote easy-rsa.
Primeiro vamos instalar o easy-rsa para gerar o certificado. Se estiver usando Debian ou Ubuntu execute o seguinte comando:
sudo apt-get install easy-rsa
Eu, como uso o Sabayon, rodo o comando abaixo:
sudo equo i easy-rsa
Depois copiamos o diretório para o nosso home:
cp -r /usr/share/easy-rsa ~/.
E, entrando no diretório copiado, editamos o arquivo vars. Eu uso o vim, mas você pode escolher o seu editor preferido.
cd easy-rsa vim vars
Deixe ele parecido com o exemplo abaixo:
export KEY_COUNTRY="BR" export KEY_PROVINCE="BA" export KEY_CITY="Ilheus" export KEY_ORG="MinhaEmpresa" export KEY_EMAIL="exemplo@meudominio.com.br" export KEY_OU="MEUSETOR"
Salve o arquivo e rode o comando abaixo:
source vars ./clean-all ./build-ca
Tecle ENTER até voltar ao prompt
./build-key-server NOMEDOSERVIDOR
Tecle ENTER até aparecer a mensagem Sign the certificate? [y/n]
então tecle y e ENTER
e quando aparecer a mensagem 1 out of 1 certificate requests certified, commit? [y/n]
tecle y e ENTER novamente.
Entre no diretório keys e copie os arquivos para o RouterOS. Habilite o serviço de SSH.
cd keys scp *crt NOMEDOSERVIDOR.key usuario@xxx.xxx.xxx.xxx:
Onde xxx.xxx.xxx.xxx é o endereço IP do RouterOS
Depois entre no RouterOS via SSH
ssh usuario@xxx.xxx.xxx.xxx
E dê os seguintes comandos para importar os certificados e a chave:
/certificate import file-name=ca.crt /certificate import file-name=NOMEDOSERVIDOR.crt /certificate import file-name=NOMEDOSERVIDOR.key
Quando pedir senha digite apenas ENTER
Agora vamos configurar o servidor da VPN propriamente.
Primeiro vamos criar um pool de IPs para ser atribuído às conexões.
/ip pool add name=OpenVPN range=10.20.30.2-10.20.30.254
Crie o perfil para o serviço
/ppp profile add name="OpenVPN" local-address=10.20.30.1 remote-address=OpenVPN
E crie um usuário para usar na conexão. Nesse método não vamos usar certificado no lado do cliente, então teremos que usar login e senha.
/ppp secret add name=usuario password=senha profile=OpenVPN service=ovpn
E finalmente levantar o servidor da OpenVPN
/interface ovpn-server server set default-profile=OpenVPN certificate=NOMEDOSERVIDOR.crt netmask=24 mode=ip require-client-certificate=no enabled=yes
Pronto. O resto é a configuração do cliente, que é trivial. Lembre-se que o RouterOS só suporta conexões TCP e não esqueça de informar o certificado ca.crt no cliente.
Muito bem explicado… Parabéns.
Obrigado. Continue acompanhando o blog que haverá sempre conteúdo novo e original por aqui.
Muito bom tutorial, mas preciso de ajuda no seguinte setup:
– 1 OpenVPN server em Linux com IP válido.
– Varios clientes openvpn no mikrotik.
– Minha maquina windows como cliente tb para acesso aos mikrotiks.
Preciso acessar varios mikrotiks para manutenção e configuração usando a minha maquina (winbox). Todos ligados ao servidor OpenVPN em Linux, inclusive a minha maquina, obvio.
Não acertei até o momento.
Obrigado
Prezado Daniel,
Sei que informou que a configuração do cliente é trivial, mas poderia informar a configuração do cliente no Windows, pois estou com dificuldades pra configurar. Obrigado
Fala pessoal, essa mensagem é para quem utiliza OpenVPN com um servidor Mikrotik.
Desenvolvi um site para facilitar a criação do arquivo de configuração .ovpn.
Basta preencher as informações e clicar em Gerar.
Agradeço se puderem dar uma olhada: http://bit.ly/2PPf2da
Fala pessoal, para configurar o cliente no Windows ou linux, estou usando o seguinte site: https://ovpnconfig.com.br
Prezado Daniel,
que versão do easy-rsa você usou? Pois aqui não existem os arquivos ./clean-all ./build-ca
Estou usando a versão 3