Table of Contents

Tunnelling

Too many tunnels

keywords: ipsec, openvpn, bgp, quagga, gre, ipip, iptables, iproute2

Ici, je vais présenter un petit projet pédagogique juste pour placer quelques PoC en place, et montrer comment utiliser quelques tunnels, et du routage dynamique. Cela va inclure des tunnels chiffrés ipsec et openvpn, du routage dynamique avec bgp, des tunnels non-chiffrés ipip ou gre (juste pour pouvoir router correctement), et de la configuration de routage/firewall avec iptables/iproute2.

L'ensemble des explications qui suivent partent sur une base de Debian/squeeze (version stable a l'heure ou j'écris). L'opération a été réalisé sur des machines virtuelles (VM) Xen.

Les installations ont été faite a coup de xen-create-image, avec debootstrap, en y ajoutant les paquets confortable suivant :

apt-get install vim less tcpdump ethtool

Configuration de départ

La configuration de départ est la suivante :

    +---------+             +---------+             +---------+
    |         |             |         |             |         |
    |  vpn1   |             |  vpn2   |             |  nomad  |
    |         |             |         |             |         |
    +---------+             +---------+             +---------+
    ip | 1.2.1.2/24         ip | 1.2.2.2/24         ip | a.b.c.d/24
       |                       |                       |
       |                       |                       |
       |                       |                       |
    gw | 1.2.1.1            gw | 1.2.2.1            gw | a.b.c.1
   ____|_______________________|_______________________|____________
  (  )   (  )          (    (    )            (        (    (    )  )_
 (      (          )        )      (   (          (           )       )
(  (        )   (    )   )    (   NET        (        )   )      (  (  )
 (_   (       (    (    (   )           )   )      (          (      _)
   (   )  )     (  )     )            )         )      (    )     ( )
    ---+-----------------------+-----------------------+------------
    gw | 1.1.1.1            gw | 1.1.2.1            gw | 1.1.3.1
       |                       |                       |
       |                       |                       |
       |                       |                       |
    ip | 1.1.1.2/24         ip | 1.1.2.2/24         ip | 1.1.3.2/24
    +---------+             +---------+             +---------+
    |         |             |         |             |         |
    |  srv1   |             |  srv2   |             |  srv3   |
    |         |             |         |             |         |
    +---------+             +---------+             +---------+
       | 192.168.1.1/24     ip | 192.168.2.1/24
       |                       |
    =========== LAN1        =========== LAN2
            |                       |
192.168.1.2 | ip        192.168.2.2 | ip
    +---------+             +---------+
    |         |             |         |
    |   ws1   |             |   ws2   |
    |         |             |         |
    +---------+             +---------+

Pour le proptotype, une VM a été utilisé pour le net, le routage activé (ip_forward) sur les serveurs (srv1, srv2, srv3) ainsi que du masquerading vers le réseau public. La configuration des firewall peux être trouvé ici.

mise en place des pleins de tunnels

Au final, nomad pourra se connecter a srv1. Les serveurs seront connecter entre eux en IPsec,

Liens