Pour effectuer cette connexion, il faut chaque machine ai la clé public RSA de l'autre machine pour valider le processus d'authentification.
La partie de configuration ipsec pour une connexion Road Warrior se divise en deux parties
La partie Left (Local) et Right (Remote, distante).
Ainsi, pour la machine cliente, on va avoir :
conn road
left=%defaultroute # Pour récuperer l'ip dynamique
leftnexthop=%defaultroute #
leftid=@client_road_warrior.example.com # Information locale
leftrsasigkey=0sAQPIPN9uI[...] # Clé RSA de la machine road warrior
right=192.0.2.10 # Adresse ip de la passerelle ipsec
rightsubnet=10.0.0.0/24 # Réseau privé géré par la passerelle
rightid=@reseau.example.com # Information distante
rightrsasigkey=0sAQOnwiBPt[...] # Clé RSA de la passerelle ipsec
auto=add # autorise mais ne lance pas la connexion au
démarrage d'ipsec
Pour le serveur ipsec, le fichier ipsec.conf aura l'apparence suivante :
conn road
left=192.0.2.10 # Adresse ip de la passerelle ipsec
leftsubnet=10.0.0.0/24 # Réseau privé géré par la passerelle
leftid=@reseau.example.com # Information distante
leftrsasigkey=0sAQOnwiBPt[...] # Clé RSA de la passerelle ipsec
right=%defaultroute # Pour récuperer l'ip dynamique
rightnexthop=%defaultroute #
rightid=@client_road_warrior.example.com # Information locale
rightrsasigkey=0sAQPIPN9uI[...] # Clé RSA de la machine road warrior
auto=add # autorise mais ne lance pas la connexion
au démarrage d'ipsec
Pour initier la connexion, il suffit de taper la commande : ipsec auto -up road
Pour obtenir sur une machine la clé RSA public, il suffit de taper la commande suivante : ipsec showhostkey -left pour la machine "située" à gauche ou ipsec showhostkey -right pour l'autre coté. (les clés générées à "gauche" et à "droite" sont similaires dans le cas de RSA). Si la clé n'a pas été générée au premier démarrage (ce que openswan fait normalement par défaut), il est possible de la générer avec la commande : ipsec newhostkey -output /etc/ipsec.secrets -hostname machine.example.com
Si le client se trouve derrière un NAT (ou appelé aussi masquerading), il faut absolument que le serveur ainsi que le client gèrent la RFC 3715 (IPsec-Network Address Translation (NAT)). Dans le cas contraire, le NAT réécrivant les paquets la vérification AH (Authentication Header) d'ipsec va rejeter le paquet et rendre impossible toute connexion.
Cette configuration va permettre à la machine dite cliente d'accéder au réseau privé situé derrière la passerelle et ainsi accéder aux ressources du réseau local. Le tout sécurisé par le cryptage appliqué par ipsec.
root 2004-05-04