mirroir readonly du Gitit wiki.evolix.org (attention, ne rien commiter/merger sur ce dépôt) https://wiki.evolix.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

140 lines
3.0 KiB

2 years ago
2 years ago
2 years ago
1 year ago
2 years ago
  1. ---
  2. categories: openbsd network vpn security ipsec
  3. title: Howto IKED
  4. ...
  5. Documentation :
  6. * <http://man.openbsd.org/man5/iked.conf.5>
  7. * <http://man.openbsd.org/man8/iked.8>
  8. IKED est le démon utilisé sous OpenBSD pour mettre en place un VPN IPsec avec IKEv2.
  9. ## Configuration
  10. On met en place un VPN entre 2 machines OpenBSD :
  11. * GW1 avec l'IP publique 192.0.2.254 et le LAN 203.0.113.0/25 ;
  12. * GW2 avec l'IP publique 198.51.100.254 et le LAN 203.0.113.128/25.
  13. Sur GW1 :
  14. Vérification de l'activation des paramètres sysctl :
  15. ~~~
  16. # sysctl net.inet.esp.enable
  17. net.inet.esp.enable=1
  18. # sysctl net.inet.ah.enable
  19. net.inet.ah.enable=1
  20. # sysctl net.inet.ip.forwarding
  21. net.inet.ip.forwarding=1
  22. ~~~
  23. Activation de l'interface enc0 :
  24. ~~~
  25. # ifconfig enc0 up
  26. # echo up >/etc/hostname.enc0
  27. ~~~
  28. Configuration de /etc/pf.conf :
  29. ~~~
  30. set skip on {lo0 enc0}
  31. pass in on $ext_if proto esp from $addr_gw2 to ($ext_if)
  32. pass in on $ext_if proto udp from $addr_gw2 to ($ext_if) port {isakmp, ipsec-nat-t}
  33. ~~~
  34. Et application des modifications :
  35. ~~~
  36. # pfctl -nf /etc/pf.conf && pfctl -f /etc/pf.conf
  37. ~~~
  38. Configuration de /etc/iked.conf :
  39. ~~~
  40. local_ip="192.0.2.254"
  41. local_network="203.0.113.0/25"
  42. remote_ip="198.51.100.254"
  43. remote_network="203.0.113.128/25"
  44. ikev2 active esp \
  45. from $local_network to $remote_network \
  46. local $local_ip peer $remote_ip \
  47. ikesa auth hmac-sha2-256 enc aes-256 prf hmac-sha2-256 group modp4096 \
  48. childsa auth hmac-sha1 enc aes-256 group modp4096 \
  49. ikelifetime 86400 lifetime 3600 \
  50. psk "PSK-TO-CONFIGURE"
  51. ~~~
  52. Les paramètres `ikesa` et `ikelifetime` correspondants à la phase 1, `childsa` et `lifetime` à la phase 2.
  53. Test de la configuration :
  54. ~~~
  55. # iked -nf /etc/iked.conf
  56. configuration OK
  57. ~~~
  58. Activation et démarrage de iked :
  59. ~~~
  60. # rcctl enable iked
  61. # rcctl start iked
  62. ~~~
  63. Puis effectuer les mêmes actions sur l'autre passerelle.
  64. 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 :
  65. ~~~
  66. local_ip="192.0.2.254"
  67. local_network="203.0.113.0/25"
  68. remote_ip="198.51.100.254"
  69. remote_network="203.0.113.128/26"
  70. remote_network_second="203.0.113.192/26"
  71. ikev2 active esp \
  72. from $local_network to $remote_network \
  73. from $local_network to $remote_network_second \
  74. local $local_ip peer $remote_ip \
  75. ikesa auth hmac-sha2-256 enc aes-256 prf hmac-sha2-256 group modp4096 \
  76. childsa auth hmac-sha1 enc aes-256 group modp4096 \
  77. ikelifetime 86400 lifetime 3600 \
  78. psk "PSK-TO-CONFIGURE"
  79. ~~~
  80. > 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.
  81. ## Administration
  82. ### Redémarrer les VPN
  83. ~~~
  84. # ikectl reset all
  85. # ikectl load /etc/iked.conf
  86. ~~~
  87. ### Consulter les logs
  88. ~~~
  89. # tail -f /var/log/daemon | grep iked
  90. ~~~
  91. ### Voir les associations VPN
  92. ~~~
  93. # ipsecctl -sa
  94. ~~~
  95. ### Debug
  96. Couper iked et le relancer :
  97. ~~~
  98. # rcctl stop iked
  99. # iked -dvvv -f /etc/iked.conf
  100. ~~~