19
0
Fork 0
wiki/HowtoIKED.md

141 lines
3.0 KiB
Markdown
Raw Normal View History

2019-06-26 15:35:26 +02:00
---
categories: openbsd network vpn security ipsec
title: Howto IKED
...
Documentation :
* <http://man.openbsd.org/man5/iked.conf.5>
* <http://man.openbsd.org/man8/iked.8>
IKED est le démon utilisé sous OpenBSD pour mettre en place un VPN IPsec avec IKEv2.
## Configuration
On met en place un VPN entre 2 machines OpenBSD :
* GW1 avec l'IP publique 192.0.2.254 et le LAN 203.0.113.0/25 ;
* GW2 avec l'IP publique 198.51.100.254 et le LAN 203.0.113.128/25.
Sur GW1 :
Vérification de l'activation des paramètres sysctl :
~~~
# sysctl net.inet.esp.enable
net.inet.esp.enable=1
# sysctl net.inet.ah.enable
net.inet.ah.enable=1
# sysctl net.inet.ip.forwarding
net.inet.ip.forwarding=1
~~~
Activation de l'interface enc0 :
~~~
# ifconfig enc0 up
# echo up >/etc/hostname.enc0
~~~
Configuration de /etc/pf.conf :
~~~
set skip on {lo0 enc0}
pass in on $ext_if proto esp from $addr_gw2 to ($ext_if)
pass in on $ext_if proto udp from $addr_gw2 to ($ext_if) port {isakmp, ipsec-nat-t}
~~~
Et application des modifications :
~~~
# pfctl -nf /etc/pf.conf && pfctl -f /etc/pf.conf
~~~
Configuration de /etc/iked.conf :
~~~
local_ip="192.0.2.254"
local_network="203.0.113.0/25"
remote_ip="198.51.100.254"
remote_network="203.0.113.128/25"
ikev2 active esp \
from $local_network to $remote_network \
local $local_ip peer $remote_ip \
ikesa auth hmac-sha2-256 enc aes-256 prf hmac-sha2-256 group modp4096 \
childsa auth hmac-sha1 enc aes-256 group modp4096 \
ikelifetime 86400 lifetime 3600 \
2019-06-26 15:48:57 +02:00
psk "PSK-TO-CONFIGURE"
2019-06-26 15:35:26 +02:00
~~~
2019-06-26 15:54:10 +02:00
Les paramètres `ikesa` et `ikelifetime` correspondants à la phase 1, `childsa` et `lifetime` à la phase 2.
2019-06-26 15:35:26 +02:00
Test de la configuration :
~~~
# iked -nf /etc/iked.conf
configuration OK
~~~
Activation et démarrage de iked :
~~~
# rcctl enable iked
# rcctl start iked
~~~
Puis effectuer les mêmes actions sur l'autre passerelle.
2019-06-26 15:48:57 +02:00
Dans le cas où l'on veut atteindre plusieurs réseaux locaux distants, il suffit d'ajouter une ligne `from $local_network to $remote_network_second \`, ce qui donne :
~~~
local_ip="192.0.2.254"
local_network="203.0.113.0/25"
remote_ip="198.51.100.254"
remote_network="203.0.113.128/26"
remote_network_second="203.0.113.192/26"
ikev2 active esp \
from $local_network to $remote_network \
from $local_network to $remote_network_second \
local $local_ip peer $remote_ip \
ikesa auth hmac-sha2-256 enc aes-256 prf hmac-sha2-256 group modp4096 \
childsa auth hmac-sha1 enc aes-256 group modp4096 \
ikelifetime 86400 lifetime 3600 \
psk "PSK-TO-CONFIGURE"
~~~
2019-11-06 11:48:39 +01:00
> Note : Attention cependant, il y a visiblement des soucis avec OpenBSD lorsque l'on veut monter plusieurs sous-réseaux en IKEv2 : un seul sous-réseau est fonctionnel. Il vaut mieux pour ce cas passer à IKEv1.
2019-06-26 15:35:26 +02:00
## Administration
### Redémarrer les VPN
~~~
# ikectl reset all
# ikectl load /etc/iked.conf
~~~
### Consulter les logs
~~~
# tail -f /var/log/daemon | grep iked
~~~
### Voir les associations VPN
~~~
# ipsecctl -sa
~~~
### Debug
Couper iked et le relancer :
~~~
# rcctl stop iked
# iked -dvvv -f /etc/iked.conf
~~~