27.2.6.3. Automatická výměna klíčů

Pro tento účel jsem již použil démona racoon. Jeho konfigurace, uložená v souboru /etc/racoon/racoon.conf je stejná pro oba stroje:

# /etc/racoon/racoon.conf

log debug2;
path pre_shared_key "/etc/racoon/psk.txt";

remote anonymous
{
        exchange_mode main;
        doi ipsec_doi;
        situation identity_only;

        my_identifier address;

        lifetime time 2 min;
        initial_contact on;
        proposal_check obey;
        
        proposal {
                encryption_algorithm 3des;
                hash_algorithm md5;
                authentication_method pre_shared_key;
                dh_group 2;
        }
}

sainfo anonymous
{
        pfs_group 1;
        lifetime time 2 min;
        encryption_algorithm 3des;
        authentication_algorithm hmac_md5;
        compression_algorithm deflate;
}

Dále jsem definoval sdílené tajemství. Tím bylo heslo tajneheslo. Na „serverupikachu je uloženo v souboru /etc/racoon/psk.txt

# IPv4/v6 addresses
212.96.165.121  tajneheslo
# USER_FQDN
# FQDN

Na straně klienta je pak ve stejném souboru uvedeno

# IPv4/v6 addresses
212.96.165.122  tajneheslo
# USER_FQDN
# FQDN

Tato konfigurace není úplná, ještě bylo třeba doplnit skripty spd.conf. Na Serveru:

#!/usr/sbin/setkey -f

flush;
spdflush;

spdadd 212.96.165.122 212.96.165.121 any -P out ipsec
        esp/transport//require
        ah/transport//require;
spdadd 212.96.165.121 212.96.165.122 any -P in ipsec
        esp/transport//require
        ah/transport//require;

a na klientovi

#!/usr/sbin/setkey -f

flush;
spdflush;

spdadd 212.96.165.121 212.96.165.122 any -P out ipsec
        esp/transport//require
        ah/transport//require;
spdadd 212.96.165.122 212.96.165.121 any -P in ipsec
        esp/transport//require
        ah/transport//require;

Tyto skripty se spustí na obou stranách ještě před startem démona racoon.