Newsgroup: it.comp.os.linux.sys
Titolo: Vpn tra Zywall e Linux via Ipsec

Ciao a tutti,
come da oggetto gestisco diversi Zywall 5 o 35, server VPN su cui ho
implementato alcuni tipi di VPN con OpenVPN o pptpd. Voleco sapere se
era possibile instaurare una VPN di tipo Lan-to-Lan in maniera ibrida,
usando da un lato uno zywall e da un altro un server linux tramite
ipsec. Sapetr se c'è qualche limitazione dettata dalla Zyxel, o
documentazione in giro?
Grazie mille
Alessio

 documentazione in giro?
Non ho mai provato quello che dici tu, ma considerando che uso lo stesso 
client (TheGreenBow) sia con un router VPN Zywall (5 o 10 non ricordo), sia 
con un Linux con OpenSWAN (quindi IPSEC) senza modifiche grosse alla 
configurazione direi che dovrebbero essere compatibili tra di loro senza 
grossi problemi.

Alessio ha scritto:

Urca, è la stessa cosa che ho fatto io proprio ieri, solo con un 
prestige 662H invece dello zywall, ma dovrebbero usare la stessa 
implementazione di ipsec. La cosa funziona (ho usato racoon su linux 
2.6), l'unica limitazione che ho incontrato è che il tunnel riesco a 
farlo inizializzare solo alla linux box, mentre non funziona se è lo 
zyxel a far partire la fase 1, ma questo è probabilmente dovuto al fatto 
che la linux box è dietro nat. Se hai problemi ti recupero le config.
-- 
sengo ducalfista, potere ai bassi!
Monster 800ie & Alfa 147 1.6 TS
cavati UN OCCHIO per scrivermi.

 che la linux box è dietro nat. Se hai problemi ti recupero le config.
Grazie a tutti per l'interessamento!
Mi interessa alla grande!! Ho un prestige 652, se riesco a falro
funzionare con quello con lo zywall credo di poterlo adattare.
Hai usato racoon? Non ho mai provato, mi fai vedere i file di
configurazione?
Per quanto riguarda il NAT, posso provarla anche mettendo la linux box
direttamente su IP pubblico.. e vediamo se ho lo stesso problema
Fammi sapere!
Ale

 Ale
E' stata la prima volta che ho toccato ipsec, quindi se ci sono delle 
stronzate galattiche abbi pazienza:
Background:
lan1
192.168.1.0/24
       |
  192.168.1.1
zyxel 662H-d1
    1.2.3.4
       |
       |
    5.6.7.8
zyxel qualcosa
  192.168.6.220
       |nat
  192.168.6.254
    linux box
  192.168.5.220
       |
      lan2
192.168.5.0/24
lato zyxel:
Active: Y
Keep Alive: Y
Nat-T: N
Ipsec Key Mode: IKE
Negotiation: Main
Encapsulation: Tunnel
Local Address Type: subnet
 
192.168.1.0/255.255.255.0
Remote Address Type: subnet
 
192.168.5.0/255.255.255.0
Local ID Type: IP=1.2.3.4
My IP: 1.2.3.4
Peer ID Type: IP=192.168.6.254 <-ocio
Secure Gateway Address: 5.6.7.8
Enable Replay Detection:Y
-Phase1
Negotiation Mode: Main
Pre-Shared Key: miakey
Encryption ALgorithm: DES
Authentication Algorithm: SHA1
SA Life Time: 28800
Key Group: DH2
-Phase2
Active Protocol: ESP
Encryption Algorithm: DES
Authentication Algorithm: SHA1
SA Life Time: 28800 Encapsulation: Tunnel
Perfect Forward Secrecy: DH2
lato linux:
/etc/ipsec-tools.conf:
#!/usr/sbin/setkey -f
#
flush;
spdflush;
spdadd 
192.168.5.0/24
 
192.168.1.0/24
  any -P out ipsec
esp/tunnel/192.168.6.254-1.2.3.4/require;
spdadd 
192.168.1.0/24
 
192.168.5.0/24
 any -P in ipsec
esp/tunnel/1.2.3.4-192.168.6.254/require;
/etc/racoon/psk.txt:
1.2.3.4 miakey
/etc/racoon/racoon.conf:
path include "/etc";
path pre_shared_key "/etc/racoon/psk.txt";
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 ::1 [7000];
     isakmp 192.168.6.254 [500];
     #admin [7002];        # administrative's port by kmpstat.
     #strict_address;     # required all addresses must be bound.
}
# Specification of default various timer.
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 90 sec;
     phase2 90 sec;
}
# here begins the configuration of the Remote Office - Main Office VPN
remote 1.2.3.4 {
         my_identifier address 192.168.6.254;
         exchange_mode main;
         initial_contact on;
         proposal {
                 encryption_algorithm des;
                 hash_algorithm sha1;
                 authentication_method pre_shared_key;
                 dh_group 2;
         }
}
sainfo anonymous
{
         pfs_group 2;
         encryption_algorithm des;
         authentication_algorithm hmac_sha1;
         compression_algorithm deflate;
         lifetime time 28800 sec;
}
Poi ho messo in crontab sulla linux box questa roba per tenere il tunnel 
su e restartarlo se l'altro peer non risponde:
*/5 * * * * ping -I eth0 -c3 192.168.1.1 &>/dev/null #keepalive ipsec
8,18,28,38,48,58 * * * * if [ -z "`ping -I eth0 192.168.1.1 -c 3|grep \ 
"64 bytes from"`" ]; then /etc/init.d/racoon restart;fi #check ipsec
HTH =)
