Vous êtes sur la page 1sur 7

Site-to-Site IPsec VPN

ciscomadesimple.be /2010/11/04/site-to-site-ipsec-vpn/

Steve De 04/11/2010
Jongh Quil sagisse de scuriser une connexion ou encore de crer une liaison entre deux sites au
travers dun rseau non scuris tel quInternet, le passage par un tunnel VPN se rvle tre une
arme redoutable.

Cet article prsente un exemple de configuration Site--Site. Chaque site tant une image dun petit rseau
disposat dun accs internet au travers dun NAT overload

La topologie

Configuration de base de SITE1


Configuration de linterface WAN

interface Serial0/0
ip address 80.1.0.2
255.255.255.252
ip nat outside
clock rate 2000000

Configuration de linterface LAN

interface Loopback0
ip address 192.168.0.1
255.255.255.0
ip nat inside

Configuration du NAT

access-list 100 deny ip 192.168.0.0 0.0.0.255 172.16.0.0


0.0.0.255
access-list 100 permit ip 192.168.0.0 0.0.0.255 any

1/7
ip nat inside source list 100 interface Serial0/0
overload

Note: laccess-list est dj prpare pour la cration du VPN, cest--dire quon exclut les communications entre les
deux LANs de la rgle NAT.

Configuration de la route par dfaut

ip route 0.0.0.0 0.0.0.0


80.1.0.1

Configuration de base de SITE2


Configuration de linterface WAN

interface Serial0/0
ip address 80.2.0.2
255.255.255.252
ip nat outside
clock rate 2000000

Configuration de linterface LAN

interface Loopback0
ip address 172.16.0.1
255.255.255.0
ip nat inside

Configuration du NAT

access-list 100 deny ip 172.16.0.0 0.0.0.255 192.168.0.0


0.0.0.255
access-list 100 permit ip 172.16.0.0 0.0.0.255 any

ip nat inside source list 100 interface Serial0/0


overload

Note: laccess-list est dj prpare pour la cration du VPN, cest--dire quon exclut les communications entre les
deux LANs de la rgle NAT.

Configuration de la route par dfaut

ip route 0.0.0.0 0.0.0.0


80.2.0.1

Principe de mise en place du tunnel VPN


2/7
La mise en place du tunnel VPN peut paratre complexe, mais il sagit plutt dune tche qui demande beaucoup de
rigueur. En effet, il va falloir sassurer quaux deux bouts du tunnel la configuration des diffrents paramtres soit
identique.

Voici le dtail de la configuration sur SITE1:

Activation de ISAKMP (le protocole qui gre lchange des cls, etc.)

SITE1(config)# crypto isakmp


enable

Cration dune stratgie de ngocation des cls et dtablissement de la laison VPN

SITE1(config)# crypto isakmp policy 10


SITE1(config-isakmp)# encryption aes
SITE1(config-isakmp)# authentication pre-share
SITE1(config-isakmp)# hash sha
SITE1(config-isakmp)# group 2
SITE1(config-isakmp)# lifetime 86400

On cre donc ici une stratgie avec un numro de squence 10. Ce numro indique la priorit de lutilisation de la
stratgie. Plus petit est ce nombre plus la priorit est grande. On dfini ensuite les paramtres:

Encryptage AES
Authentification par cl pr-partages
Algorithme de hachage SHA (valeur par dfaut)
Mthode de distribution des cls partages DH-2 (Algoritme de cl asymtriques Diffie-Hellman 1024bits)
Dure de vie 86400 secondes (valeur par dfaut)

On dfini ensuite si on identifie le routeur par son adresse ou par son hostname (ici ladresse), lidentification par
hostname peut tre utile si on fonctionne avec une adresse publique dynamique, ce qui permet dviter trop de
modifications de configuration en cas de changement dadresse.

SITE1(config)# crypto isakmp identity


address

On cre ensuite la cl pr-partage, ici CiscoLab quon associe avec ladresse de lautre bout du tunnel donc
80.2.0.2

SITE1(config)# crypto isakmp key 0 CiscoLab address


80.2.0.2

Le 0 indique quon dfini la cl en texte clair, en opposition avec un cl dj crypte si on la copie dun show run
dun routeur ou lencryptage des mots de passe est activ.

On a maintenant termin la configuration de la partie qui gre la ngociation des cls etc. La deuxime partie
consite dfinir comment les donnes seront cryptes.

3/7
Tout dabord on cre la mthode de cryptage (transform-set) que lon nomme VPNSET.

SITE1(config)# crypto ipsec transform-set VPNSET esp-aes esp-sha-


hmac

Esp-aes est la mthode de cryptage, esp-sha-hmac est la mthode dauthentification.

On dfini ensuite la dure de vie de la cl de cryptage

SITE1(config)# crypto ipsec security-association lifetime kilobytes


4096

La dure de vie est ici limite par un volume en kilobytes (4096), on peut galement dfinir une dure de vie en
secondes (ex:crypto ipsec security-association lifetime seconds 3600).

Il faut maintenant crer une accs-list qui servira identifier le traffic traiter par le tunnel VPN. Pour SITE1, ce
sera le traffic originaire de 192.168.0.0/24 destination de 172.16.0.0/24. (Ce sera linverse pour SITE2). On cre
donc une access-list tendue:

SITE1(config)# ip access-list extended VPN


SITE1(config-ext-nacl)# permit ip 192.168.0.0 0.0.0.255 172.16.0.0
0.0.0.255

Reste maintenant crer une Crypto-map dont le but est de rassembler les diffrents lments configurs pour
pouvoir les appliquer enfin une interface.

SITE1(config)# crypto map VPNMAP 10 ipsec-isakmp


SITE1(config-crypto-map)# match address VPN
SITE1(config-crypto-map)# set peer 80.2.0.2
SITE1(config-crypto-map)# set transform-set
VPNSET

On a donc cr ici une Crypto-map nomme VPNMAP dans laquelle on intgre une squence 10 (une seule crypto-
map par interface, mais on peut ajouter plusieurs maps en leur indiquant des numros de squence diffrents), avec
les paramtres suivants:

Active pour le trafic correspondant laccess-list VPN


Destination du tunnel 80.2.0.2
Cryptage selon le transform-set VPNSET

La dernire tape consiste appliquer cette crypto-map linterface WAN de SITE1.

SITE1(config)# interface serial


0/0
SITE1(config-if)# crypto map
VPNMAP

4/7
Et voil. SITE est prt. Reste faire lquivalent sur SITE2.

Configuration sur SITE2:

Parmi les points important, SITE2 soit avoir une stratgie isakmp identique celle de SITE1 et laccess-list qui
identifie le trafic traiter par le tunnel VPN est inverse dun point de vue de la source et de la destination.

SITE2(config)# crypto isakmp policy 10


SITE2(config-isakmp)# encryption aes
SITE2(config-isakmp)# authentication pre-share
SITE2(config-isakmp)# hash sha
SITE2(config)# crypto isakmp SITE2(config-isakmp)# group 2
enable SITE2(config-isakmp)# lifetime 86400

SITE2(config)# crypto isakmp identity


address

SITE2(config)# crypto isakmp key 0 CiscoLab address


80.1.0.2

SITE2(config)# crypto ipsec transform-set VPNSET esp-aes esp-sha-


hmac

SITE2(config)# crypto ipsec security-association lifetime kilobytes


4096

SITE2(config)# ip access-list extended VPN


SITE2(config-ext-nacl)# permit ip 172.16.0.0 0.0.0.255 192.168.0.0
0.0.0.255

SITE2(config)# crypto map VPNMAP 10 ipsec-isakmp


SITE2(config-crypto-map)# match address VPN
SITE2(config-crypto-map)# set peer 80.1.0.2
SITE2(config-crypto-map)# set transform-set
VPNSET

SITE2(config)# interface serial


0/0
SITE2(config-if)# crypto map
VPNMAP

Vrification du tunnel VPN


Une fois le tunnel configur, deux commandes permettent de vrifier si le tunnel fonctionne:

# show crypto isakmp sa


# show crypto ipsec sa

Toutefois, pour que lon pusse vrifier le fonctionnement il faut que le VPN soit tabli, et pour cela il faut que du trafic
5/7
soit envoy au travers de ce tunnel. Ici le test est effectu laide dun ping tendu:

SITE1#ping
Protocol [ip]:
Target IP address: 172.16.0.1
Repeat count [5]:
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]: y
Source address or interface: 192.168.0.1
Type of service [0]:
Validate reply data? [no]:
Data pattern [0xABCD]:
Sending 5, 100-byte ICMP Echos to 172.16.0.1, timeout is 2 seconds:
Packet sent with a source address of 192.168.0.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 144/156/176
ms
SITE1#

On peut maintenant vrifier si le tunnel bien fonctionn

SITE1#sh crypto isakmp sa


IPv4 Crypto ISAKMP SA
dst src state conn-id slot
status
80.2.0.2 80.1.0.2 QM_IDLE 1001 0
ACTIVE
IPv6 Crypto ISAKMP SA
SITE1#

SITE1#sh crypto ipsec sa


interface: Serial0/0
Crypto map tag: VPNMAP, local addr 80.1.0.2
protected vrf: (none)
local ident (addr/mask/prot/port):
(192.168.0.0/255.255.255.0/0/0)
remote ident (addr/mask/prot/port): (172.16.0.0/255.255.255.0/0/0)
current_peer 80.2.0.2 port 500
PERMIT, flags={origin_is_acl,}
#pkts encaps: 19, #pkts encrypt: 19, #pkts digest: 19
#pkts decaps: 19, #pkts decrypt: 19, #pkts verify: 19
#pkts compressed: 0, #pkts decompressed: 0
#pkts not compressed: 0, #pkts compr. failed: 0
#pkts not decompressed: 0, #pkts decompress failed: 0
#send errors 1, #recv errors 0
local crypto endpt.: 80.1.0.2, remote crypto endpt.: 80.2.0.2
path mtu 1500, ip mtu 1500, ip mtu idb Serial0/0
current outbound spi: 0xE912A86D(3910314093)
...

Les deux lignes en bleu indiquent les paquets reus et envoys par le tunnel VPN

6/7
Pour conclure voici une capture ralise par WireShark sur la liaison entre SITE1 et VPN lors de lenvoi de requtes
ICP de 192.168.0.1 172.16.0.1:

Il est ici impossible de voir quil sagit de paquets ICMP, la seule chose visible cest quil y a un trafic crypt dun bout
lautre du tunnel.

VN:F [1.9.22_1171]
traitement en cours...
Rating: 9.3/10 (8 votes cast)
Site-to-Site IPsec VPN, 9.3 out of 10 based on 8 ratings
2017 Default copyright text

7/7