Estou tentando estabelecer uma VPN ipsec de um roteador Draytek no limite de nossa rede corporativa para um VPS no Oceano Digital. Eu configurei a VPN no VPS usando este script em uma máquina Ubuntu 14.04. Eu acredito que o script baixe e instale o libreswan e solicite algumas questões básicas de configuração, etc. Eu fiz algumas alterações no ipsec.conf que o script cria.
Meu problema é, eu posso fazer ping do roteador para o VPS e posso ver os pacotes chegando no VPS mostrando como provenientes do endereço IP privado do roteador, mas nada que eu tentei me permitiu encaminhar pacotes de volta para o túnel para o roteador. Portanto, do ponto de vista do roteador, parece que os pings estão expirando.
O roteador está conectado diretamente à Internet em uma de suas interfaces e está configurado com um endereço IP local de 10.111.1.1. O VPS tem uma interface única conectada diretamente à internet.
Quando a VPN é estabelecida, esta é a tabela de roteamento no VPS:
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
default 178.62.64.1 0.0.0.0 UG 0 0 0 eth0
10.111.1.1 * 255.255.255.255 UH 0 0 0 eth0
178.62.64.0 * 255.255.192.0 U 0 0 0 eth0
Observe que a segunda entrada é criada quando a VPN é estabelecida.
Se eu tentar fazer o ping 10.111.1.1, obtenho:
PING 10.111.1.1 (10.111.1.1) 56(84) bytes of data.
From <public IP address - eth0> icmp_seq=1 Destination Host Unreachable
Aqui está a saída da verificação ipsec:
Verifying installed system and configuration files
Version check and ipsec on-path [OK]
Libreswan 3.10 (netkey) on 3.13.0-37-generic
Checking for IPsec support in kernel [OK]
NETKEY: Testing XFRM related proc values
ICMP default/send_redirects [OK]
ICMP default/accept_redirects [OK]
XFRM larval drop [OK]
Pluto ipsec.conf syntax [OK]
Hardware random device [N/A]
Two or more interfaces found, checking IP forwarding [OK]
Checking rp_filter [OK]
Checking that pluto is running [OK]
Pluto listening for IKE on udp 500 [OK]
Pluto listening for IKE/NAT-T on udp 4500 [OK]
Pluto ipsec.secret syntax [OK]
Checking 'ip' command [OK]
Checking 'iptables' command [OK]
Checking 'prelink' command does not interfere with FIPSChecking for obsolete ipsec.conf options [OK]
Opportunistic Encryption [DISABLED]
e aqui está o conteúdo de /etc/ipsec.conf (as linhas comentadas são resultados de experimentos anteriores com os mesmos resultados):
version 2.0
config setup
dumpdir=/var/run/pluto/
nat_traversal=yes
virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:!192.168.42.0/24
oe=off
protostack=netkey
nhelpers=0
interfaces=%defaultroute
conn vpnpsk
connaddrfamily=ipv4
auto=add
left=178.62.73.215
# leftid=178.62.73.215
# leftsubnet=178.62.73.215/32
leftsubnet=10.10.10.0/24
# leftnexthop=%defaultroute
leftnexthop=%direct
leftprotoport=17/1701
rightprotoport=17/%any
# right=%any
right=10.111.1.0/24
rightsourceip=10.111.1.1
leftsourceip=10.10.10.1
# rightsubnetwithin=0.0.0.0/0
forceencaps=yes
authby=secret
pfs=no
type=transport
auth=esp
ike=3des-sha1,aes-sha1
phase2alg=3des-sha1,aes-sha1
rekey=no
keyingtries=5
dpddelay=30
dpdtimeout=120
dpdaction=clear
Esta é a parte relevante da tabela de roteamento do roteador:
Key: C - connected, S - static, R - RIP, * - default, ~ - private
* 0.0.0.0/ 0.0.0.0 via <public IP address> WAN2
S~ 10.10.10.0/ 255.255.255.0 via 178.62.73.215 VPN-10
C~ 10.111.1.0/ 255.255.255.0 directly connected LAN
C <public IP address>/ 255.255.255.224 directly connected WAN2
Gostaria que alguém apontasse o que estou fazendo de errado.
Obrigado.