Pour ceux que cela intéresse, voici un exemple de configuration pour monter un VPN IPSec (IKE) entre IPCop 1.4.15 et le modem routeur ZyXel Prestige 662H-61. (D'après les docs trouvées sur le web, cela devrait couvrir également d'autres produits ZyXel comme les ZyWall par exemple).
Le contexte
*****************************************
Site 1 :
LAN 192.168.0.0/24
serveurs NT & Linux
clients XP, W2K & Linux
IPCop 1.4.15 avec GREEN et RED
Modem Linksys ADSL2MUE bridgé sur RED
ADSL PPPOE sur IP fixe
Site 2 :
LAN 192.168.2.0/24
serveurs NT & Linux
clients XP
modem routeur ZyXel Prestige 662H-61
ZyNOS F/W Version: V3.40 - QR.8
ADSL PPPOE sur IP fixe
Considérations pour le VPN
*****************************************
- essayer d'optimiser le rapport vitesse/sécurité
- activité continue et reconnexions automatiques
- pas besoin de NAT
- essayer de laisser passer le trafic Netbios dans les 2 sens
- PSK (Pre Shared Key) dans un premier temps, utilisation des certificats à tester par ailleurs
- Pour l'encryption, j'ai choisi AES (plutot que 3DES) qui semble être le plus rapide.
- Pour l'algo d'authentification, j'ai choisi SHA1 (plutot qu'MD5) qui semble être plus "sûr" mais moins rapide.
- L'utilisation d'IDs basés sur les adresses IP ou les FQDN ne semble plus possible avec ipcop 1.4.15 (cela marchait avec ipcop 1.4.11 - Merci à Franck78 pour l'info). Le ZyXel permettant seulement les IDS de type IP, FQDN ou Email, nous utilisons donc des adresses email (qui peuvent être bidons)
Config ZyXel
*****************************************
VPN - IKE
IPSec Setup
Active : oui
Keep Alive : oui
NAT Traversal : non
Name : site1
IPSec Key Mode : IKE
Negotiation Mode : Main
Encapsulation Mode : Tunnel
DNS Server (for IPSec VPN) : 192.168.0.4 (optionnel - indiquer l'adresse du dns distant. ZyXel précise que cela ne fonctionne pas pour des clients windows)
Local
Local Address Type : Subnet
IP Address Start : 192.168.2.0
End / Subnet Mask : 255.255.255.0
Remote
Remote Address Type : Subnet
IP Address Start : 192.168.0.0
End / Subnet Mask : 255.255.255.0
Address Information
Local ID Type : E-mail
Content : site2@domain.com (doit correspondre au rightID ou RemoteID sur ipcop)
My IP Address : 213.41.xxx.yyy (l'adresse ip fixe ou 0.0.0.0 si ip dynamique)
Peer ID Type : E-mail
Content : site1@domain.com (doit correspondre au leftID ou LocalID sur ipcop)
Secure Gateway Address : 213.41.xxx.zzz (l'adresse ip fixe ou site1.dyndns.org si ip dynamique)
Security Protocol
VPN Protocol : ESP
Pre-Shared Key : votre_clé (doit être la même sur les 2 points)
Certificate :
Encryption Algorithm : AES
Authentication Algorithm SHA1
ici clicker sur ADVANCED
VPN - IKE - Advanced Setup
VPN - IKE
Protocol : 0
Enable Replay Detection : YES (cocher NO pendant la phase de tests)
Local Start : 0 - Port End : 0
Remote Start : 0 - Port End : 0
Phase1
Negotiation Mode : Main
Pre-Shared Key : votre_clé
Encryption Algorithm : AES
Authentication Algorithm : SHA1
SA Life Time (Seconds) : 28800
Key Group : DH2 (correspond à MODP 1024 dans ipcop IKE GroupType - DH1 correspond à MODP 768)
Phase2
Active Protocol : ESP
Encryption Algorithm : AES
Authentication Algorithm : SHA1
SA Life Time (Seconds) : 28800
Encapsulation : Tunnel
Perfect Forward Secrecy (PFS) : DH2 (correspond à MODP 1024 dans ipcop ESP GroupType - DH1 correspond à MODP 768)
Clicker sur Apply pour valider la page Advanced, puis sur Apply pour confirmer la création du VPN.
Config IPCop
*****************************************
Name : site2
Enabled : oui
Host IP address : 213.41.xxx.zzz (votre ip fixe sur RED)
Local subnet : 192.168.0.0/255.255.255.0
Local ID : site1@domain.com
Remote Host IP : 213.41.xxx.yyy (ip fixe site2 ou site2.dyndns.org)
Remote subnet : 192.168.2.0/255.255.255.0
Remote ID : site2@domain.com
Dead Peer Detect : restart
Use a Pre-Shared Key: votre_clé
ici clicker sur Advanced
IKE encryption : AES 128
IKE integrity : SHA (je ne comprends pas pourquoi SHA et non pas SHA1... faute de frappe ?)
IKE GroupType : MODP 1024
IKE life time : 1 hour
ESP encryption : AES 128
ESP integrity : SHA1
ESP GroupType : MODP 1024
ESP life time : 8 hours
décocher IKE+ESP
décocher IKE aggressive mode
cocher Perfect Forward Secrecy
décocher Negociate payload compression (jamais réussi à activer cette option. si qq'un a des infos...)
Enregistrer la config et normalement le VPN est ouvert.
Voici le log ipcop d'un établissement réussi du VPN:
17:09:30 pluto[688] "site2" #842: sent QI2, IPsec SA established
17:09:30 pluto[688] "site2" #842: transition from state STATE_QUICK_I1 to state STATE_QUICK_I2
17:09:29 pluto[688] "site2" #842: initiating Quick Mode PSK+ENCRYPT+TUNNEL+PFS
17:09:29 pluto[688] "site2" #841: ISAKMP SA established
17:09:29 pluto[688] "site2" #841: transition from state STATE_MAIN_I3 to state STATE_MAIN_I4
17:09:29 pluto[688] "site2" #841: Main mode peer ID is ID_USER_FQDN: 'site2@domain.com'
17:09:29 pluto[688] "site2" #841: ignoring informational payload, type IPSEC_INITIAL_CONTACT
17:09:29 pluto[688] "site2" #841: transition from state STATE_MAIN_I2 to state STATE_MAIN_I3
17:09:28 pluto[688] "site2" #841: transition from state STATE_MAIN_I1 to state STATE_MAIN_I2
17:09:28 pluto[688] "site2" #841: ignoring Vendor ID payload [625027749d5ab97f5616c1602765cf480a3 b7d0b]
17:09:27 pluto[688] "site2" #841: initiating Main Mode
17:09:27 pluto[688] added connection description "site2"
17:09:27 pluto[688] | from whack: got --ike=aes128-sha-modp1024
17:09:27 pluto[688] | from whack: got --esp=aes128-sha1;modp1024
et voici le log IKE sur le ZyXel
1 06/20/2007 17:09:30 Rule [4] Tunnel built successfully 213.41.xxx.zzz 213.41.xxx.yyy IKE
2 06/20/2007 17:09:30 Recv<:[HASH]> 213.41.xxx.zzz 213.41.xxx.yyy IKE
3 06/20/2007 17:09:30 Send<:[HASH][SA][NONCE][KE][ID][ID]> 213.41.xxx.yyy 213.41.xxx.zzz IKE
4 06/20/2007 17:09:29 Start Phase 2: Quick Mode 213.41.xxx.zzz 213.41.xxx.yyy IKE
5 06/20/2007 17:09:29 Recv<:[HASH][SA][NONCE][KE][ID][ID]> 213.41.xxx.zzz 213.41.xxx.yyy IKE
6 06/20/2007 17:09:29 Phase 1 IKE SA process done 213.41.xxx.yyy 213.41.xxx.zzz IKE
7 06/20/2007 17:09:29 Send<:[ID][HASH]> 213.41.xxx.yyy 213.41.xxx.zzz IKE
8 06/20/2007 17:09:29 Recv<:[ID][HASH]> 213.41.xxx.zzz 213.41.xxx.yyy IKE
9 06/20/2007 17:09:29 Send<:[KE][NONCE]> 213.41.xxx.yyy 213.41.xxx.zzz IKE
10 06/20/2007 17:09:28 Recv<:[KE][NONCE]> 213.41.xxx.zzz 213.41.xxx.yyy IKE
11 06/20/2007 17:09:28 Send<:[SA][VID]> 213.41.xxx.yyy 213.41.xxx.zzz IKE
12 06/20/2007 17:09:27 Recv<:[SA][VID][VID][VID][VID][VID]> 213.41.xxx.zzz 213.41.xxx.yyy IKE
13 06/20/2007 17:09:27 Recv Mode request from <213.41.xxx.zzz> 213.41.xxx.zzz 213.41.xxx.yyy IKE
14 06/20/2007 17:09:27 Rule [4] Receiving IKE request 213.41.xxx.zzz 213.41.xxx.yyy IKE
Voila, j'espère que cela pourra être utile. N'hésitez pas à commenter si vous avez des remarques ou des suggestions...
Guillaume