Domande? Problemi?

Iscriviti al Google group:

VPN - collegamento fra sedi con vtun

Scopo

Lo scopo di questa esperienza è di imparare a creare la configurazione per collegare due sedi fra loro via un tunnel ottenuto con vtun.

Setup

il setup di questa esperienza è il seguente:

  • due firewall che usano una connessione tap che via l’host principale (la vostra macchina) vi permette la connessione ad internet.
  • due client che servono per testare la configurazione

Il file principale su cui dovete concentrarvi è /etc/argo/vtun.conf che contiene la configurazione del tunnel vtun

vtun

il tunnel fra le sedi può essere ottenuto almeno in 3 modi differenti:

  • vtun: oggetto del presente esercizio
  • openvpn: ottimo per collegare anche client remoti
  • ipsec: più complesso in generale

In particolare in questo esercizio mostro la configurazione fatta con vtun in quanto Argo ha uno strumento che permette di creare configurazioni semplici in pochi minuti.

Il comando che si usa per creare i file di configurazione è make_vpn. Siccome l’esercizio se avessi messo i file di configurazione si sarebbe ridotto ad una banale verifica del funzionamento, nell’esperimento non trovere nulla di prefabbricato (a parte gli ip).

server e client

vtun è sia un server che un client, a seconda di come lo configurate, scegiete dove volete lasciare in ascolto il server (sul firewall che ha ip pubblico...) e su questo abilitate la possibilità di arrivare sulla porta di default (5000).

Client e server sono configurati all’interno di shared.startup con password isi

Esercizio

  1. scaricate vtun su entrambe i firewall (potrebbe essere già installato):

    apt-get install vtun
  2. generate le configurazioni (su fw) e copiatele nel posto giusto, non confondete client e server, il comando da usare è:

    fw:~# make_vpn -c 192.168.11.254/24 -s 192.168.10.254/24 -n fw-plesso-sede
    generating vtund-fw-plesso-sede-cli.conf
    generating vtund-fw-plesso-sede-srv.conf

che genera du file di configurazione che vanno messi in /etc/vtun.conf del plesso o della sede rispettivamente:

cp vtund-fw-plesso-sede-srv.conf /etc/vtund.conf
scp vtund-fw-plesso-sede-cli.conf fw2:/etc/vtund.conf
  1. su fw configurate /etc/default/vtun

    RUN_SERVER=yes
    SERVER_ARGS="-P 5000"
    

    fate partire il server:

    fw:~# /etc/init.d/vtun start
  2. aprite la porta 5000 del firewal fw (TCP_DPORTS di /etc/argo/fw.conf e riavvio pyrewall, maggiori info in Firewall base)

  3. verificate che dal client si raggiunga un server sulla porta 5000 della macchina fw:

    fw2:~# telnet fw 5000
    Trying 10.16.0.2...
    Connected to fw.
    Escape character is '^]'.
    VTUN server ver 3.X 01/14/2009

    Ci siamo, il server è in ascolto...

  4. su fw2 (il client) impostate nel file /etc/default/vtun le variabili corrette:

    CLIENT1_NAME=fw-plesso-sede
    CLIENT1_HOST=10.16.0.2

    poi avviate il servizio:

    fw2:~# /etc/init.d/vtun start
    Starting vtund client fw-plesso-sede to 10.16.0.2: vtund[c].

    il messaggio è rassicurante, controllate cosi:

    fw2:~# ipl
        lo:        127.0.0.1/8
      eth0:      10.16.0.10/24  ==> GW 10.16.0.1 - main
      tun0:   192.168.11.254 peer 192.168.10.254 fw-plesso-sede (2825)

    e verificate che anche il routing per la sede sia corretto:

    fw2:~# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    192.168.10.254  0.0.0.0         255.255.255.255 UH    0      0        0 tun0
    10.16.0.0       0.0.0.0         255.255.255.0   U     0      0        0 eth0
    192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 tun0
    0.0.0.0         10.16.0.1       0.0.0.0         UG    0      0        0 eth0

    questa ultima tabella significa che la destinazione della sede (192.168.10.0/24 ovvero 192.168.10.0 con netmask 255.255.255.0) viene raggiunta tramite l’interfaccia tun0 (quella del tunnel)

  5. verificate dalla macchina cli di potere raggiungere cli2:

    cli2:~# ping cli
    PING cli (192.168.10.1) 56(84) bytes of data.
    64 bytes from cli (192.168.10.1): icmp_seq=1 ttl=62 time=1.51 ms
    64 bytes from cli (192.168.10.1): icmp_seq=2 ttl=62 time=1.47 ms

Letture

il comando vtun ha una ricca pagina di manuale... in inglese.