GRE+IKED no Openbsd
Rodrigo Mosconi
Desta vez será configurado túneis GRE para interligar os hosts, que é um protocolo de encapsulamente de roteamento genérico, não provendo criptografia. Para suprir tal limitação, será utilizado IPSEC entre os hosts, cuja troca de chaves será por meio do IKEv2, implementado pelo iked(8) no caso do OpenBSD. A escolha destas tecnologias é para criar um cenário semelhante ao uso do WireGuard. Ao contrário do Wireguard, que usou túnel IPv4 sobre IPv6, será utilizado IPv4 sobre IPv4 em virtudes de restrições do mgre, que agirá como um caminho secundário aos hosts, caso a comunicação IPv6 apresente problemas.
Configurando túnel ponto-a-multiponto GRE
Configurar o arquivo /etc/hostname.mgre0 para a interface mgre0:
tunneladdr IPV4_PUBLICO
inet 172.17.0.19/28
up
Para cada host (peer) serão cadasradas linhas como
!route add -host 172.17.0.17 IPV4_PUBLICO_DESTINO -iface -ifp mgre0
Iniciando a interface:
doas sh /etc/netstart mgre0
Configurando IKED
No arquivo /etc/iked.conf, para cada host (peer) criar uma entrada:
ikev2 active transport esp proto gre from $local_ipv4 to $remote_ipv4
Também copiar o conteúdo de /etc/iked/local.pub para o host remoto
para o arquivo /etc/iked/pubkeys/fqdn/$FQDN.