[Pluto-security] VPN FreeS/WAN

Marco Sarain marco.sarain at tin.it
Tue Mar 25 14:45:36 CET 2003


Ciao a tutti,

sto tentando di mettere in piedi una VPN tra due uffici con IPSEC.
Mi si è presentata una serie di "problemini" che vi vorrei sottoporre (ho
già cercato in giro per le varie mailing, siti, ecc. con scarsi risultati).

Consideriamo che le due sedi abbiano un IP statico.

Sede (1)
IP = 111.111.111.111
modem ADSL
firewall = 192.168.50.100/IP
rete interna = 192.168.50.0

Sede (2)
IP = 222.222.222.222
router ADSL (192.168.10.1)
firewall = 192.168.20.100/192.168.10.2
rete interna = 192.168.20.0
il router (è lo Zyxel della settimana scorsa) passa tutto al firewall
(192.168.10.2/192.168.20.100)

quindi:

(rete1)192.168.50.0 --- (firewall+modem)192.168.50.100/111.111.111.111 ===
222.222.222.222/192.168.10.1(router) ---
192.168.10.2/192.168.20.100(firewall) --- 192.168.20.0 (rete2)

IPSEC l'ho configurato così:

-----------------------------------------------------------------------
# /etc/ipsec.conf - FreeS/WAN IPsec configuration file

config setup
        interfaces="ipsec0=eth1"
        klipsdebug=none
        plutodebug=all
        plutoload=%search
        plutostart=%search
        uniqueids=yes

conn %default
        keyingtries=0
        #disablearrivalcheck=no
        authby=rsasig
        auto=add
        #leftrsasigkey=%cert
        #rightrsasigkey=%cert

conn U1-U2
        #----------U1------------
        leftsubnet=192.168.50.0/24
        left=111.111.111.111
        #leftnexthop=
        #----------U2------------
        rightsubnet=192.168.10.0/24
        right=222.222.222.222
        #rightnexthop=
        #--------CHIAVI----------
        leftrsasigkey=0sAQOvN3FFb...
        rightrsasigkey=0sAQOvN3FFbAlv...
-----------------------------------------------------------------------

Nel file ipsec.secrets ci sono le chiavi e quelle pubbliche sono state
riportate uguali nei ipsec.conf delle due sedi.

Faccio partire IPSEC con "ipsec setup --start" nelle due sedi e poi la
connessione con "ipsec auto --up U1-U2"; con "tail -f /var/log/messages"
controllo cosa succede (ho messo "plutodebug=all" in ipsec.conf, che mi dice
qualcosa in più).

Nella sede 1 "ipsec setup --start" inizia con
    104 "U1-U2" #1: STATE_MAIN_I1: initiate
che provoca nella sede 2 un
    Pluto[24939]: packet from 111.111.111.111:500: initial Main Mode message
received on 192.168.10.2:500 but no connection has been authorized

Nella sede 2, invece, "ipsec setup --start" dà un
    022 "U1-U2": we have no ipsecN interface for either end of this
connection

e ovviamente non funziona nulla. Non capisco perchè nella sede 2 dà questo
errore quando, come si vede più sotto nei log (3), l'interfaccia l'ha
trovata.



Dai log di "tail -f /var/log/messages", con "ipsec setup --start",  vedo
questo:

1) in entrambe le sedi:

    Pluto[2111]: Starting Pluto (FreeS/WAN Version 1.95)
    Pluto[2111]:   including X.509 patch (Version 0.9.8)
    [...]
    Pluto[2111]: Changing to directory '/etc/ipsec.d/cacerts'
    Pluto[2111]:   Warning: empty directory
    Pluto[2111]: Changing to directory '/etc/ipsec.d/crls'
    Pluto[2111]:   Warning: empty directory
    Pluto[2111]:   could not open my X.509 cert file '/etc/x509cert.der'
    Pluto[2111]: OpenPGP certificate file '/etc/pgpcert.pgp' not found
    [...]
perchè non trova X.509 ? Non dovrebbe partire con ipsec ? mah...

2) crea la connessione:
    Pluto[2111]: added connection description "U1-U2"
    Pluto[2111]: |
192.168.50.0/24===111.111.111.111...222.222.222.222===192.168.10.0/24
   che dovrebbe essere giusta

3) trova le interfacce
nella sede 1
Pluto[2111]: | found lo with address 127.0.0.1
Pluto[2111]: | found eth0 with address 192.168.50.254
Pluto[2111]: | found eth1 with address 111.111.111.111
Pluto[2111]: | found ipsec0 with address 111.111.111.111
Pluto[2111]: adding interface ipsec0/eth1 111.111.111.111

nella sede 2
Pluto[25397]: | found lo with address 127.0.0.1
Pluto[25397]: | found eth0 with address 192.168.20.254
Pluto[25397]: | found eth1 with address 192.168.10.2
Pluto[25397]: | found ipsec0 with address 192.168.10.2     <-----
Pluto[25397]: adding interface ipsec0/eth1 192.168.10.2


Ho provato tutte le idee che mi sono venute in mente, ma sono ad un punto
morto. Ora vorrei provare le vostre (che probabilmente sono migliori delle
mie).
Se poi esiste qualcosa di scritto in modo chiaro, non a mozziconi, fatemelo
sapere (finora non l'ho trovato).

Ciao & grazie a tutti
Marco




More information about the pluto-security mailing list