9.3. Montage d'un tunnel point-à-point

Il y a 3 possibilités pour ajouter ou ôter un tunnel point-à-point.

Une bonne source d'information additionnelle à propos de l'installation de tunnel grâce à ”ip” est configurer les tunnels avec iproute2 (article) (miroir).

9.3.1. Ajouter un tunnel point-à-point

9.3.1.1. Utiliser "ip"

La méthode la plus commune actuellement pour une petite quantité de tunnels.

Usage en vue de créer un périphérique de tunnelage (mais il n'est pas monté pour autant, une TTL doit également être spécifiée, car la valeur par défaut est 0)

# /sbin/ip tunnel add <périphérique> mode sit ttl <ttlpardéfaut> remote
¬ <adresseipv4dutunnelétranger> local <adresseipv4locale>

Usage (exemple générique pour trois tunnels):

# /sbin/ip tunnel add sit1 mode sit ttl <ttlpardéfaut> remote
¬ <adresseipv4dutunnelétranger1> local <adresseipv4locale>
# /sbin/ip link set dev sit1 up
# /sbin/ip -6 route add <préfixepourlaroute1> dev sit1 metric 1

# /sbin/ip tunnel add sit2 mode sit ttl <ttlpardéfaut>
¬ <adresseipv4dutunnelétranger2> local <adresseipv4locale>
# /sbin/ip link set dev sit2 up
# /sbin/ip -6 route add <préfixepourlaroute2> dev sit2 metric 1

# /sbin/ip tunnel add sit3 mode sit ttl <ttlpardéfaut>
¬ <adresseipv4dutunnelétranger3> local <adresseipv4locale>
# /sbin/ip link set dev sit3 up
# /sbin/ip -6 route add <préfixepourlaroute3> dev sit3 metric 1

9.3.1.2. Utiliser "ifconfig" et "route" (méthode dépréciée)

Ce n'est véritablement pas une méthode recommandée pour ajouter un tunnel, car elle est plutôt étrange. Pas de problème lors de l'ajout d'un seul tunnel, mais si vous en montez plus d'un, il ne vous est pas possible facilement de démonter le premier tout en laissant les autres fonctionner.

Usage (exemple générique pour trois tunnels):

# /sbin/ifconfig sit0 up

# /sbin/ifconfig sit0 tunnel <adresseipv4dutunnelétranger1>
# /sbin/ifconfig sit1 up
# /sbin/route -A inet6 add <préfixepourlaroute1> dev sit1

# /sbin/ifconfig sit0 tunnel <adresseipv4dutunnelétranger2>
# /sbin/ifconfig sit2 up
# /sbin/route -A inet6 add <préfixepourlaroute2> dev sit2

# /sbin/ifconfig sit0 tunnel <adresseipv4dutunnelétranger3>
# /sbin/ifconfig sit3 up
# /sbin/route -A inet6 add <préfixepourlaroute3> dev sit3

Important: NE JAMAIS FAIRE DE LA SORTE, car cette façon de faire rend implicitement disponible le "tunnelage automatique" à partir de n'importe où dans l'Internet, c'est un risque, et cela ne devrait jamais être préconisé.

9.3.1.3. Utiliser seulement "route"

Il est aussi possible d'installer des tunnels dans le style Accès Multiple Sans Diffusion (Non Broadcast Multiple Access, ou NBMA), c'est un moyen facile d'ajouter de nombreux tunnels en une fois.

Usage (exemple générique pour trois tunnels):

# /sbin/ifconfig sit0 up

# /sbin/route -A inet6 add <préfixepourlaroute1> gw
¬ ::<adresseipv4dutunnelétranger1> dev sit0
# /sbin/route -A inet6 add <préfixepourlaroute2> gw
¬ ::<adresseipv4dutunnelétranger2> dev sit0
# /sbin/route -A inet6 add <préfixepourlaroute3> gw
¬ ::<adresseipv4dutunnelétranger3> dev sit0

Important: NE JAMAIS FAIRE DE LA SORTE, car cette façon de faire rend implicitement disponible le "tunnelage automatique" à partir de n'importe où dans l'Internet, c'est un risque, et cela ne devrait jamais être préconisé.

9.3.2. Ôter des tunnels point-à-point

Rarement réalisé manuellement, mais utilisé par les scripts pour une extinction propre ou un redémarrage de la configuration IPv6.

9.3.2.1. Utiliser "ip"

Pour ôter un périphérique de tunnelage:

# /sbin/ip tunnel del <périphérique>

Usage (exemple générique pour trois tunnels):

# /sbin/ip -6 route del <préfixepourlaroute1> dev sit1
# /sbin/ip link set sit1 down
# /sbin/ip tunnel del sit1

# /sbin/ip -6 route del <préfixepourlaroute2> dev sit2
# /sbin/ip link set sit2 down
# /sbin/ip tunnel del sit2

# /sbin/ip -6 route del <préfixepourlaroute3> dev sit3
# /sbin/ip link set sit3 down
# /sbin/ip tunnel del sit3

9.3.2.2. Utiliser "ifconfig" et "route" (méthode dépréciée parce qu'elle n'est pas très drôle)

Ce n'est pas seulement la création qui est étrange, mais l'extinction aussi... vous devez ôter les tunnels dans l'ordre inverse, ce qui signifie que le premier créé doit être le dernier ôté.

Usage (exemple générique pour trois tunnels):

# /sbin/route -A inet6 del <préfixepourlaroute3> dev sit3
# /sbin/ifconfig sit3 down

# /sbin/route -A inet6 del <préfixepourlaroute2> dev sit2
# /sbin/ifconfig sit2 down

# /sbin/route -A inet6 add <préfixepourlaroute1> dev sit1
# /sbin/ifconfig sit1 down

# /sbin/ifconfig sit0 down

9.3.2.3. Utiliser "route"

Comme pour ôter des routes IPv6 courantes

Usage (exemple générique pour trois tunnels):

# /sbin/route -A inet6 del <préfixepourlaroute1> gw
¬ ::<adresseipv4dutunnelétranger1> dev sit0
# /sbin/route -A inet6 del <préfixepourlaroute2> gw
¬ ::<adresseipv4dutunnelétranger2> dev sit0
# /sbin/route -A inet6 del <préfixepourlaroute3> gw
¬ ::<adresseipv4dutunnelétranger3> dev sit0

# /sbin/ifconfig sit0 down

9.3.3. Attribution d'une adresse (numbered) à un tunnel point-à-point

Il est parfois nécessaire de configurer un tunnel point-à-point avec des adresses IPv6 comme pour IPv4 aujourd'hui. C'est seulement possible avec la première méthode (ifconfig+route - dépréciée) et la troisième méthode (ip+route) d'installation de tunnel. Dans de tels cas, vous pouvez ajouter l'adresse IPv6 à l'interface de tunnelage comme montré dans la configuration d'interface.