7.3. tunnels IPSec

Jusqu'ici, nous n'avons seulement considéré IPSec dans le mode appelé 'transport' où les points terminaux comprennent directement IPSec. Comme ceci n'est pas souvent le cas, il peut être nécessaire d'avoir des routeurs qui, eux seuls, comprennent IPSec et qui réalisent le travail pour les hôtes se trouvant derrière eux. Ceci est appelé le mode tunnel.

Configurer ceci est très rapide. Pour tunneler tout le trafic vers 130.161.0.0/16 à partir de 10.0.0.216 via 10.0.0.11, nous éditons ce qui suit sur 10.0.0.216 :

#!/sbin/setkey -f
flush;
spdflush;

add 10.0.0.216 10.0.0.11 esp 34501
        -m tunnel
        -E 3des-cbc "123456789012123456789012";

spdadd 10.0.0.0/24 130.161.0.0/16 any -P out ipsec
           esp/tunnel/10.0.0.216-10.0.0.11/require;

Notez que l'option '-m tunnel' est vitale ! Ceci configure tout d'abord une Association de Sécurité ESP entre les points terminaux de notre tunnel, à savoir 10.0.0.216 et 10.0.0.11.

Nous allons ensuite réellement configurer le tunnel. On doit indiquer au noyau de chiffrer tout le trafic de 10.0.0.0/24 vers 130.161.0.0. De plus, ce trafic doit être envoyé vers 10.0.0.11.

10.0.0.11 a également besoin d'être configuré :

#!/sbin/setkey -f
flush;
spdflush;

add 10.0.0.216 10.0.0.11 esp 34501
        -m tunnel
        -E 3des-cbc "123456789012123456789012";

spdadd 10.0.0.0/24 130.161.0.0/16 any -P in ipsec
           esp/tunnel/10.0.0.216-10.0.0.11/require;

Notez que ceci est exactement identique, à l'exception du changement de '-P out' en '-P in'. Les exemples précédents n'ont configuré le trafic que dans un seul sens. Il est laissé comme exercice au lecteur le soin de compléter l'autre moitié du tunnel.

Le nom de 'proxy ESP' est également donné pour cette configuration, ce qui est un peu plus clair.

[Note] Note

Le tunnel IPSec a besoin d'avoir la transmission IP activée dans le noyau !