vpn, ipsec, racoon

Gianmarco gmarco a giovannelli.it
Lun 20 Set 2004 10:58:20 CEST


On Monday 20 September 2004 10:08, Giulio Ferro wrote:
> Ho il seguente scenario:
> 2 macchine fb 5.3beta4 compilate come firewall di rete privata
> (IPFIREWALL, IPFIREWALL_VERBOSE,  IPDIVERT) e come
> potenziali nodi di vpn crittata (device gif, IPSEC, IPSEC_ESP).  Le due
> macchine hanno rispettivamente indirizzo pubblico I1, I2 e dietro
> di esse ci sono due reti private /24 su un'altra scheda di rete. I loro
> indirizzi sulle reti private sono rispettivamente P1, P2.
> L'intenzione è quella di far comunicare tra loro le due reti private, in
> modo che pingando P2 sulla macchina 1 risponda, e
> viceversa sulla macchina 2.
> Ho seguito quanto scritto sull'handbook, ho configurato l'interfaccia
> gif con gli indirizzi giusti, impostato le rotte statiche, e come
> risultato funziona tutto, riesco cioè a fare comunicare le due sottoreti
> tramite pacchetti ip incapsulati scambiati tra le due macchine.
>
> Il passo successivo è ovviamente quello di crittare questi pacchetti
> incapsulati, e qui ho dei problemi.
>
> Ho installato racoon dai port, ho copiato i file psk.txt e racoon.conf
> dai rispettivi dist, ho messo in psk.txt solo la riga:
> I2   chiave
> sulla macchina 1 e
> I1   chiave
> sulla macchina 2.
> Ho dato infine permesso 600 a questo file. Non ho toccato il racoon.conf.
> Ho messo ipsec_enable="yes" e ipsec_file="/etc/ipsec.conf" in rc.conf e
> in /etc/ipsec.conf
>
> spdadd I1/32 I2/32 ipencap -P out ipsec esp/tunnel/I1-I2/require;
> spdadd I2/32 I1/32 ipencap -P in ipsec esp/tunnel/I2-I1/require;
>
> sulla macchina 1 e
>
> spdadd I2/32 I1/32 ipencap -P out ipsec esp/tunnel/I2-I1/require;
> spdadd I1/32 I2/32 ipencap -P in ipsec esp/tunnel/I1-I1/require;
>
> sulla macchina 2.
>
> Per sicurezza imposto sui 2 firewalll un bel
> allow all from any to any
> così da eliminare una variabile del problema...


Il tuo raccon.cfg andrebbe personalizzato ?

Hai provato ad utilizzare anche sainfo anonymous ?


esempio :

sainfo anonymous
{
        pfs_group 1;
        lifetime time 3600 sec;
        encryption_algorithm des ;
        authentication_algorithm hmac_sha1;
        compression_algorithm deflate ;
}


Alla fine ti ritrovi con qualcosa del genere:

--> begin <--
path include "/usr/local/etc/racoon" ;
path pre_shared_key "/usr/local/etc/racoon/psk.txt" ;
path certificate "/usr/local/etc/cert" ;

padding
{
        maximum_length 20;      # maximum padding length.
        randomize off;          # enable randomize length.
        strict_check off;       # enable strict check.
        exclusive_tail off;     # extract last one octet.
}

listen
{
        isakmp MY_PUBBLIC_IP  [500];
}

timer
{
        # These value can be changed per remote node.
        counter 5;              # maximum trying count to send.
        interval 20 sec;        # maximum interval to resend.
        persend 1;              # the number of packets per a send.

        # timer for waiting to complete each phase.
        phase1 30 sec;
        phase2 15 sec;
}

remote HIS_PUBBLIC_IP
{
        exchange_mode aggressive,main;
        doi ipsec_doi;
        situation identity_only;

        my_identifier address "MY_PUBBLIC_IP";
        send_cert off;
        send_cr off;
        verify_cert off;

        nonce_size 16;
        lifetime time 23 hour;  # sec,min,hour
        initial_contact on;
        support_proxy on;
        proposal_check obey;    # obey, strict or claim

        proposal {
                encryption_algorithm des;
                hash_algorithm sha1;
                authentication_method pre_shared_key ;
                dh_group 1 ;
        }
}

sainfo anonymous
{
        pfs_group 1;
        lifetime time 3600 sec;
        encryption_algorithm des ;
        authentication_algorithm hmac_sha1;
        compression_algorithm deflate ;
}




Maggiori informazioni sulla lista esperti