Newsgroup: it.comp.os.linux.sys
Titolo: VPN con IPSec tra Linux/FreeSWAN e Windows 2000

Salute a tutti.
Sto tentando di creare un tunnel IPSec tra un gateway Linux e una 
macchina Windows 2000.
La macchina Linux ha una Debian Testing con kernel 2.4.25 e FreeS/WAN 
2.05 con patch X.509, compilati a mano. Ha due schede di rete, una verso 
la rete interna e una su Internet (CDN).
La macchina Windows 2000 ha il Service Pack 4 e la patch per IPSec. È 
collegata ad Internet con un modem ADSL USB e IP fisso.
Per la configurazione ho seguito le istruzioni all'URL 
http://www.freeswan.ca/docs/WindowsInterop
Collegando il sistema Linux con un cavo cross con una altra macchina 
Windows 2000 in locale, tutto funziona correttamente.
Dopo aver ricreato i certificati in maniera più sicura (con password 
migliori) ed averli trasferiti sul Win 2000 "vero" non riesco più a far 
andare il tunnel.
/var/log/auth.log riporta:
---
Mar 11 17:01:13 localhost ipsec__plutorun: Starting Pluto subsystem...
Mar 11 17:01:13 localhost pluto[1105]: Starting Pluto (FreeS/WAN Version 
2.05 X.509-1.5.3 PLUTO_USES_KEYRR)
Mar 11 17:01:13 localhost pluto[1105]: Using KLIPS IPsec interface code
Mar 11 17:01:13 localhost pluto[1105]: Changing to directory 
'/etc/ipsec.d/cacerts'
Mar 11 17:01:13 localhost pluto[1105]:   loaded CA cert file 
'cacert.pem' (1403 bytes)
Mar 11 17:01:13 localhost pluto[1105]: Could not change to directory 
'/etc/ipsec.d/aacerts'
Mar 11 17:01:13 localhost pluto[1105]: Changing to directory 
'/etc/ipsec.d/ocspcerts'
Mar 11 17:01:13 localhost pluto[1105]: Changing to directory 
'/etc/ipsec.d/crls'
Mar 11 17:01:13 localhost pluto[1105]:   loaded crl file 'crl.pem' (617 
bytes)
Mar 11 17:01:13 localhost pluto[1105]:   loaded host cert file 
'/etc/ipsec.d/certs/freeswan-cert.pem' (4657 bytes)
Mar 11 17:01:13 localhost pluto[1105]:   loaded host cert file 
'/etc/ipsec.d/certs/client-cert.pem' (4634 bytes)
Mar 11 17:01:13 localhost pluto[1105]: added connection description 
"freeswan2windows"
Mar 11 17:01:13 localhost pluto[1105]: listening for IKE messages
Mar 11 17:01:13 localhost pluto[1105]: adding interface ipsec0/eth1 
xxx.xxx.xxx.xxx
Mar 11 17:01:13 localhost pluto[1105]: loading secrets from 
"/etc/ipsec.secrets"
Mar 11 17:01:13 localhost pluto[1105]:   loaded private key file 
'/etc/ipsec.d/private/freeswan-priv.pem' (2736 bytes)
Mar 11 17:02:09 localhost pluto[1105]: packet from yyy.yyy.yyy.yyy:500: 
received Vendor ID Payload; ASCII hash: \036+Qi\005\031\034}|\026|
?5\007da
Mar 11 17:02:09 localhost pluto[1105]: "freeswan2windows" #1: responding 
to Main Mode
Mar 11 17:02:10 localhost pluto[1105]: "freeswan2windows" #1: byte 2 of 
ISAKMP Hash Payload must be zero, but is not
Mar 11 17:02:10 localhost pluto[1105]: "freeswan2windows" #1: malformed 
payload in packet
Mar 11 17:02:10 localhost pluto[1105]: "freeswan2windows" #1: sending 
encrypted notification PAYLOAD_MALFORMED to yyy.yyy.yyy.yyy:500
Mar 11 17:03:19 localhost pluto[1105]: "freeswan2windows" #1: max number 
of retransmissions (2) reached STATE_MAIN_R2
Mar 11 17:03:51 localhost pluto[1105]: packet from yyy.yyy.yyy.yyy:500: 
Informational Exchange is for an unknown (expired?) SA
Mar 11 17:18:34 localhost pluto[1105]: packet from yyy.yyy.yyy.yyy:500: 
received Vendor ID Payload; ASCII hash: \036+Qi\005\031\034}|\026|
?5\007da
Mar 11 17:18:34 localhost pluto[1105]: "freeswan2windows" #2: responding 
to Main Mode
Mar 11 17:18:34 localhost pluto[1105]: "freeswan2windows" #2: next 
payload type of ISAKMP Hash Payload has an unknown value: 151
Mar 11 17:18:34 localhost pluto[1105]: "freeswan2windows" #2: malformed 
payload in packet
Mar 11 17:18:34 localhost pluto[1105]: "freeswan2windows" #2: sending 
encrypted notification PAYLOAD_MALFORMED to yyy.yyy.yyy.yyy:500
Mar 11 17:19:44 localhost pluto[1105]: "freeswan2windows" #2: max number 
of retransmissions (2) reached STATE_MAIN_R2
Mar 11 17:20:12 localhost pluto[1105]: packet from yyy.yyy.yyy.yyy:500: 
Informational Exchange is for an unknown (expired?) SA
Mar 11 17:39:41 localhost pluto[1105]: shutting down
Mar 11 17:39:41 localhost pluto[1105]: forgetting secrets
Mar 11 17:39:41 localhost pluto[1105]: "freeswan2windows": deleting 
connection
Mar 11 17:39:41 localhost pluto[1105]: shutting down interface 
ipsec0/eth1 xxx.xxx.xxx.xxx
---
/etc/ipsec.conf :
---
version 2.0     # conforms to second version of ipsec.conf specification
# basic configuration
config setup
         interfaces="ipsec0=eth1"
conn %default
         rightrsasigkey=%cert
         leftrsasigkey=%cert
conn block
         auto=ignore
conn clear
         auto=ignore
conn private
         auto=ignore
conn private-or-clear
         auto=ignore
conn clear-or-private
         auto=ignore
conn packetdefault
         auto=ignore
conn freeswan2windows
  auto=add
  authby=rsasig
  left=xxx.xxx.xxx.xxx
  leftsubnet=
192.168.2.0/24
  leftnexthop=xxx.xxx.xxx.254
  leftcert=freeswan-cert.pem
  right=yyy.yyy.yyy.yyy
  rightnexthop=zzz.zzz.zzz.zzz
  rightcert=client-cert.pem
  pfs=yes
  keyingtries=%forever
---
/etc/ipsec.secrets
---
xxx.xxx.xxx.xxx yyy.yyy.yyy.yyy: RSA freeswan-priv.pem "********"
---
Ho cercato ovunque su internet, ma non ho trovato nessun altro che abbia 
avuto lo stesso problema
L'unico dubbio nella configurazione è che non è chiaro quale sia il 
gateway della macchina Windows: Win 2000 riporta lo stesso IP della 
macchina, tracert ne dà un altro, mentre traceroute dal gateway Linux ne 
dà un altro ancora! Ho comunque provato con tutti nel nexthop: il primo 
caso proprio non va, gli altri due danno lo stesso risultato di cui sopra.
Spero proprio che qualcuno sappia darmi una dritta, perché non so più 
dove sbattere la testa...
--
A risentirci
   Davide G. Borin
(Filtro anti-spam: togliere le x e "cancellami" dall'indirizzo)

 '/etc/ipsec.d/aacerts'
Non e` che l'inghippo sia qui?
Che permessi, grupppo e  ownership ha questa directory?
Andrea

 Che permessi, grupppo e  ownership ha questa directory?
Non esiste, ma non credo c'entri, perché qui non c'è nessun certificato 
utile e comunque in locale funzionava anche senza...
Grazie comunque.
