22
0
Fork 0

MàJ VPN ipsec.conf

This commit is contained in:
jdubois 2020-05-14 16:12:50 +02:00
parent ac8aa9b052
commit 2479908c37
1 changed files with 40 additions and 31 deletions

View File

@ -183,21 +183,19 @@ pass in on $ext_if proto udp from $addr_gw2 to ($ext_if) port {isakmp, ipsec-nat
Dans /etc/ipsec.conf, positionner :
~~~
local_ip="192.0.2.254"
local_network="192.0.2.0/24"
remote_ip="198.51.100.254"
remote_network="198.51.100.0/24"
ike passive esp from $local_network to $remote_network peer $remote_ip
ike passive esp from $local_ip to $remote_network peer $remote_ip
ike passive esp from $local_ip to $remote_ip
ike dynamic esp from $local_network to $remote_network peer $remote_ip \
main auth hmac-sha2-256 enc aes-256 group modp2048 lifetime 86400 \
quick auth hmac-sha2-256 enc aes-256 group modp2048 lifetime 7200 \
psk "PRE-SHARED KEY"
~~~
Récupérer la clé pré-générée de l'autre passerelle :
~~~
# scp gw2:/etc/isakmpd/local.pub /etc/isakmpd/pubkeys/ipv4/198.51.100.254
~~~
Le mot-clef "dynamic" permet d'activer le Dead Peer Detection (DPD), utilisé pour détecter la perte du pair. Certains VPNs peuvent ne pas rester stable s'il n'est pas activé.
Le mot-clef "main" configure la phase 1, tandis que le mot-clef "quick" configure la phase 2.
Adapter ensuite les protocoles de sécurité, les durées de vies des 2 phases, ainsi que la psk, qui doivent correspondre entre gw1 et gw2.
Tester la configuration :
@ -208,51 +206,62 @@ Tester la configuration :
Démarrer le service :
~~~
# isakmpd -K
# cat /etc/rc.conf.local
isakmpd_flags="-K"
# rcctl start isakmpd
# ipsecctl -f /etc/ipsec.conf
~~~
Puis effectuer les mêmes actions sur l'autre passerelle.
On doit alors pouvoir pinger chaque réseau à partir de l'autre passerelle ou de l'autre réseau.
Les deux réseaux doivent alors pouvoir se pinger entre eux.
Pour relancer un VPN il suffit de récupérer le nom des variables isakmpd générées par ipsectl via la commande suivante puis d'utiliser la même méthode qu'avec isakmpd.
Pour couper un VPN, il faut ajouter l'option '-d' :
~~~
# ipsecctl -nvf /etc/ipsec.conf
# ipsecctl -d -f /etc/ipsec.conf
~~~
### Cas avec plusieurs réseaux
### Monter des VPNs avec plusieurs pairs
Lorsque plusieurs VPNs sont montés, une bonne pratique est d'avoir un fichier par pair. Ainsi, les VPNs montés avec *FAI1* et *FAI2* pourront être indépendamment redémarrés :
~~~
# cat /etc/ipsec.conf
include "/etc/ipsec/fai1.conf"
include "/etc/ipsec/fai2.conf"
# ipsecctl -d -f /etc/ipsec/fai1.conf
# ipsecctl -f /etc/ipsec/fai1.conf
# ipsecctl -d -f /etc/ipsec/fai2.conf
# ipsecctl -f /etc/ipsec/fai2.conf
~~~
### Monter un VPN avec plusieurs réseaux
Dans le cas où plusieurs réseaux distants doivent être accessibles (plusieurs phases 2 doivent être montées), cette syntaxe peut être utilisée dans /etc/ipsec.conf :
~~~
local_ip="192.0.2.254"
local_network="192.0.2.0/24"
remote_ip="198.51.100.254"
remote_network="{198.51.100.0/24, 198.51.200.0/24}"
ike passive esp from $local_network to $remote_network peer $remote_ip
ike passive esp from $local_ip to $remote_network peer $remote_ip
ike passive esp from $local_ip to $remote_ip
ike dynamic esp from $local_network to $remote_network peer $remote_ip \
main auth hmac-sha2-256 enc aes-256 group modp2048 lifetime 86400 \
quick auth hmac-sha2-256 enc aes-256 group modp2048 lifetime 7200 \
psk "PRE-SHARED KEY"
~~~
### Debug IPsec
Eteindre isakmpd :
~~~
# /etc/rc.d/isakmpd stop
~~~
# cat /etc/rc.conf.local
isakmpd_flags="-K -v -DA=90"
Dans une console :
~~~
# isakmpd -d -DA=90 -K
~~~
Dans une autre console :
~~~
# rcctl restart isakmpd
# ipsecctl -f /etc/ipsec.conf
~~~
L'option `-DA=90` indique à isakmpd de logger tout ce qui se passe sur le VPN. Les logs seront alors très dense.