Configurei um túnel ipsec com strongswan e abri com x509 PKI. O túnel foi estabelecido corretamente, mas tenho alguns problemas.
O gateway com iked não pode executar ping no IP local do roteador vyatta, mas vyatta pode executar ping no IP local do gateway com iked.
A sub-rede 10.1.1.0/24 não pode ingressar na sub-rede 10.3.3.0/24 (e vice-versa)
Abaixo, um esquema da minha configuração:
10.2.2.0/24 10.3.3.0/24
+---------------+ +--------+.100 +-------+ ISP +---------+.1
|Private subnet +---^| FW +------^+ Box +^---------+FW |
+---------------+ 1.--------+ +-------+ +---------+
10.1.1.0/24 Strongswan NAT OpenBSD (iked)
vyatta
Meu iked.conf:
ikev2 "site2" passive esp \
from 10.3.3.1 to 10.2.2.100 \
from 10.3.3.0/24 to 10.1.1.0/24 \
peer any local any \
srcid iked.example.com dstid vyatta.example.com \
#ikesa auth hmac-sha2-256 enc aes-256-ctr group modp2048 \
childsa auth hmac-sha2-512 enc aes-256-ctr group modp2048 \
tag "$name-$id"
Meu ipsec.conf (strongswan):
conn site1
keyexchange=ikev2
dpddelay=5s
dpdtimeout=60s
dpdaction=restart
left=%defaultroute
leftcert=vyatta.crt.pem
leftsubnet=10.1.1.0/24,10.2.2.100
leftfirewall=yes
leftid="vyatta.example.com"
right=10.3.3.1
rightsubnet=10.3.3.0/24
rightid="iked.example.com"
auto=start
Mas, quando adiciono essas duas rotas no meu gateway iked, tudo funciona:
route add -inet 10.2.2.100 -llinfo -link -static -iface vmx1
route add -inet 10.1.1.0/24 10.2.2.100
Exceto por uma coisa. Quando fiz uma combinação de redirecionamento rdr-to e nat-to do meu filtro de pacotes, não funcionou. O pacote é redirecionado corretamente para um servidor na sub-rede 10.1.1.0/24 e o IP src é natted (snat é 10.3.3.1). Percebi que o openbsd não encaminhou porque solicitou um endereço arp para 10.2.2.100, o que não entendi. Então não tenho ideia porque o pacote não está encapsulado no túnel, não vejo nada quando faço "tcpdump enc0".
Então, eu tenho duas perguntas:
- Por que meu gateway iked não consegue executar ping no gateway vyatta sem rota? Há algo faltando no meu arquivo de configuração (iked.conf)?
- Por que o openbsd fez uma solicitação arp em vez de redirecionar o pacote no enc0?
Responder1
Esta pergunta já existe há alguns meses, então você provavelmente já descobriu seu problema há muito tempo. E isso provavelmente não responde à sua pergunta. Mas notei que você comentou a ikesa
opção em seu iked.conf
arquivo. Acabei de descobrir (da maneira mais difícil) que tudo que segue o comentário não será avaliado. Então se você estiver usando pf
para se referir à sua $name-$id
tag, ela não será avaliada corretamente, pois iked
nunca está interpretando esta opção. O mesmo vale para o seu childsa
, se isso for importante para a sua configuração.