Home / VPN / Configurar VPN L2TP com Ubuntu Server

Configurar VPN L2TP com Ubuntu Server

Para criar e configurar uma VPN L2TP/IPsec no Ubuntu Server, você vai precisar de alguns pacotes e realizar algumas configurações. Abaixo está um passo a passo básico e funcional, testado para distribuições como Ubuntu 20.04/22.04:


✅ Pré-requisitos

  • Servidor Ubuntu com acesso root.
  • IP público fixo ou DNS dinâmico (ex: DuckDNS).
  • Porta 1701 (L2TP), 500 e 4500 (IPsec) liberadas no firewall.

🔧 1. Instalar os pacotes necessários

sudo apt update
sudo apt install strongswan xl2tpd ppp lsof

🔐 2. Configurar o IPsec (IPsec é responsável pela camada de criptografia)

Edite o arquivo /etc/ipsec.conf:

sudo nano /etc/ipsec.conf

Cole o conteúdo abaixo:

config setup
    charondebug="ike 1, knl 1, cfg 0"
    uniqueids=no

conn %default
    keyexchange=ikev1
    authby=secret
    ike=aes256-sha1-modp1024
    esp=aes256-sha1
    keyingtries=1
    ikelifetime=8h
    lifetime=1h
    dpdaction=clear
    dpddelay=300s
    dpdtimeout=1h

conn L2TP-PSK
    keyexchange=ikev1
    left=%defaultroute
    leftprotoport=17/1701
    right=%any
    rightprotoport=17/%any
    auto=add
    type=transport
    authby=secret

🔑 3. Adicionar o segredo PSK

Edite o arquivo /etc/ipsec.secrets:

sudo nano /etc/ipsec.secrets

Adicione:

: PSK "sua_senha_forte_aqui"

📡 4. Configurar o xl2tpd (responsável pela VPN L2TP)

Edite o arquivo /etc/xl2tpd/xl2tpd.conf:

sudo nano /etc/xl2tpd/xl2tpd.conf

Cole isso:

[global]
port = 1701

[lns default]
ip range = 10.0.10.2-10.0.10.100
local ip = 10.0.10.1
require chap = yes
refuse pap = yes
require authentication = yes
name = L2TP-VPN
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes

📄 5. Criar o arquivo de opções PPP

Edite o arquivo /etc/ppp/options.xl2tpd:

sudo nano /etc/ppp/options.xl2tpd

Adicione:

require-mschap-v2
ms-dns 8.8.8.8
ms-dns 1.1.1.1
asyncmap 0
auth
crtscts
lock
hide-password
modem
mtu 1400
mru 1400
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4

👥 6. Adicionar usuários VPN

Edite o arquivo /etc/ppp/chap-secrets:

sudo nano /etc/ppp/chap-secrets

Formato:

usuario  L2TP-VPN  senha  *

Exemplo:

joao  L2TP-VPN  123456  *

🔥 7. Ativar o encaminhamento de IP

Edite o arquivo /etc/sysctl.conf:

sudo nano /etc/sysctl.conf

Descomente ou adicione:

net.ipv4.ip_forward=1

Aplique:

sudo sysctl -p

🧱 8. Ajustar o firewall (ufw ou iptables)

Se usar UFW:

sudo ufw allow 1701,500,4500/udp

E regras para NAT:

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables-save > /etc/iptables.rules

Persistência:

Edite /etc/rc.local (crie se não existir):

#!/bin/sh -e
iptables-restore < /etc/iptables.rules
exit 0

E dê permissão:

sudo chmod +x /etc/rc.local

🚀 9. Reiniciar os serviços

sudo systemctl restart strongswan
sudo systemctl restart xl2tpd

🧪 10. Testar e conectar

Em clientes Windows, macOS ou Android:

  • Tipo: L2TP/IPsec com chave pré-compartilhada
  • Endereço: IP ou domínio do seu servidor
  • Nome de usuário e senha: definidos no chap-secrets
  • PSK: a chave definida em ipsec.secrets

Deixe um Comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *