Installazione OpenVPN su Debian: Difference between revisions

From RVM Wiki
Jump to navigation Jump to search
No edit summary
mNo edit summary
Line 4: Line 4:
<pre>
<pre>
apt-get install openvpn
apt-get install openvpn
</pre>
Creare il device di rete:


<pre>
Debian Configuration
Debian Configuration


  ???????????????????????????? Configuring openvpn ????????????????????????????
  ???????????????????????????? Configuring openvpn ????????????????????????????
Line 23: Line 23:
  ?                                                                          ?
  ?                                                                          ?
  ?????????????????????????????????????????????????????????????????????????????
  ?????????????????????????????????????????????????????????????????????????????
</pre>


Rispondere "si"


 
<pre>
 
 
 
-
 
Debian Configuration
Debian Configuration


Line 52: Line 49:
  ?                                                                          ?
  ?                                                                          ?
  ?????????????????????????????????????????????????????????????????????????????
  ?????????????????????????????????????????????????????????????????????????????
</pre>
Creare il certificato DH:
<pre>
cd /etc/openvpn
mkdir certs
cd certs
openssl dhparam -out dh1024.pem 1024
</pre>
== Vpn Lan to Lan ==
== Configurazione Server ==
Impostare le seguenti variabili per creare il file di configurazione.
Ipotizziamo che il server si in una
export SERVER_LAN=192.168.0.0
che si voglia connettere ad una
export CLIENT_LAN=192.168.21.0


Si userà una rete di trasferimento con indirizzi point-to-point:


export SERVER_VPN_IP=10.0.21.254
export CLIENT_VPN_IP=10.0.21.253


-
E le interfacce VPN saranno:
 
export SERVER_VPN_IF=tun21
export CLIENT_VPN_IF=tun0
 
Le interfaccia che si connettono ad internet hanno indirizzi:
 
export SERVER_WAN_IP=217.141.88.34
export CLIENT_WAN_IF=192.168.21.129
 
La VPN utilizzera la seguente porta UDP, che andrà quindi sbloccta sul firewall o port-mappata sui router:
 
export OVPN_PORT=21000
 
La vpn verrà chiamata per convenzione
 
export gsspa
 
<pre>
export SERVER_LAN=192.168.0.0
export CLIENT_LAN=192.168.21.0
export SERVER_VPN_IP=10.0.21.254
export CLIENT_VPN_IP=10.0.21.253
export SERVER_VPN_IF=tun21
export CLIENT_VPN_IF=tun0
export SERVER_WAN_IP=217.141.88.34
export CLIENT_WAN_IP=81.117.165.252
export OVPN_PORT=21000
export OVPN_NAME=gsspa
</pre>
Creare la chiave statica:
 
<pre>
cd /etc/openvpn/certs
openvpn --genkey --secret $OVPN_NAME.key
</pre>
 
Verificarla:
<pre>
ls $OVPN_NAME.key
total 12
drwxr-xr-x    2 root    root        4096 Sep  6 16:46 .
drwxr-xr-x  53 root    root        4096 Sep  6 16:35 ..
-rw-------    1 root    root          636 Sep  6 16:46 static.key
 
cat $OVPN_NAME.key
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
3777eeb99dff2557521c942ebcf58878
6c916f933ad37a43bcfd666f977a07ff
e25a317aef9a33850f3fe52bb9c12160
30784c6bba57054808b6881ec9162750
581de01677e991973470e7c7906e33b3
f1bb36288e2d829600c112ced5278cf0
2b339cc90e2a5383ea1c50457b2657c1
4b1081e6221eadba695529e823cf3eb7
e388986cb96317e70d1b0472a6a38585
4d7535a896a184126460700fb85fbf89
a8c5ea6d98c2fd78dda84f8d9fae6795
a8233df61259278f27fc82b133437097
eb7cdc112b8ea147439230039ebdbba3
b7438d162b6e5db992d97d3f8d1016dd
53f1b59513029de73e85b8eccd930c3d
51fc22c534aef5c6f96b210fdc11dbad
-----END OpenVPN Static key V1-----
</pre>
</pre>
Creare il certificato DH:
 
Creare il seguente file di configurazione:
 
<pre>
cat > /etc/openvpn/$OVPN_NAME.conf <<EOFile
 
dev $SERVER_VPN_IF
#usa il tun device
 
ifconfig $SERVER_VPN_IP $CLIENT_VPN_IP
# ifconfig virtual_local_ip virtual_remote_ip
 
route $CLIENT_LAN 255.255.255.0 $SERVER_VPN_IP
 
port $OVPN_PORT
# porta udp usata
 
verb 3
#livello di logging 1-9, per il debug, consigliato 5
 
local $SERVER_VPN_IF_IP
# real_local_ip dell'interfaccia su cui ascolta openvpn. L'ip della Ethernet
# collegata la nat router che forwarda la porta udp, o l'eventuale ip pubblico
 
remote $CLIENT_WAN_IP
 
#user nobody
# for enhanced security
#group nogroup
# for enhanced security
 
secret /etc/openvpn/certs/$OVPN_NAME.key
#la chiave statica creata
 
tun-mtu 1500
#opzione di compatibilità con v 2.x
#tun-mtu-extra 32
#eventualmente aggiungere anche questa
#ATTENZIONE: devono coincidere su client e server.
 
daemon
#forka in background
 
# logging
status /var/log/openvpn/$OVPN_NAME-status.log
log-append  /var/log/openvpn/$OVPN_NAME.log
EOFile
</pre>
 
Far partire la VPN:
<pre>
/etc/init.d/openvpn start $OVPN_NAME
</pre>
 
Verificare la corretta configurazione dell'interfaccia tun:
<pre>
ifconfig | grep -A1 $SERVER_VPN_IF
tun21    Link encap:UNSPEC  HWaddr 00-00-FF-FF-FF-FF-00-00-00-00-00-00-00-00-00-00
          inet addr:10.0.21.254  P-t-P:10.0.21.253  Mask:255.255.255.255
          inet addr:192.168.5.6  P-t-P:192.168.5.5  Mask:255.255.255.255
</pre>
 
e del routing:
<pre>
route -n | grep  $SERVER_VPN_IF
10.0.21.253    0.0.0.0        255.255.255.255 UH    0      0        0 tun21
192.168.21.0    10.0.21.254    255.255.255.0  UG    0      0        0 tun21
</pre>
 
 
 
Aggiungere nel file di configurazione ''/etc/default/openvpn'' il nome $OVPN_NAME nella riga AUTOSTART:
 
AUTOSTART="roadwarriors como elma gsspa"
 
In questo modo verranno avviate solo le vpn specificate.
 
== Configurazione Client ==
 
Procedere con l'installazione e l'esportazione delle variabili come dai punti precedenti.
 
<pre>
export SERVER_LAN=192.168.0.0
export CLIENT_LAN=192.168.21.0
export SERVER_VPN_IP=10.0.21.254
export CLIENT_VPN_IP=10.0.21.253
export SERVER_VPN_IF=tun21
export CLIENT_VPN_IF=tun0
export SERVER_WAN_IP=217.141.88.34
export CLIENT_WAN_IP=81.117.165.252
export OVPN_PORT=21000
export OVPN_NAME=gsspa
</pre>
 
Copiare la chiave precedentemente generata sul server


<pre>
<pre>
Line 63: Line 247:
mkdir certs
mkdir certs
cd certs
cd certs
openssl dhparam -out dh1024.pem 1024
scp root@$SERVER_WAN_IP:/etc/openvpn/certs/$OVPN_NAME.key .
</pre>
 
Creare il file di configurazione:
 
Creare il seguente file di configurazione:
 
<pre>
cat > /etc/openvpn/$OVPN_NAME.conf <<EOFile
 
dev $CLIENT_VPN_IF
#usa il tun device
 
ifconfig $CLIENT_VPN_IP $SERVER_VPN_IP
# ifconfig virtual_local_ip virtual_remote_ip
 
route $SERVER_LAN 255.255.255.0 $CLIENT_VPN_IP
 
port $OVPN_PORT
# porta udp usata
 
verb 3
#livello di logging 1-9, per il debug, consigliato 5
 
local $CLIENT_WAN_IP
# real_local_ip dell'interfaccia su cui ascolta openvpn. L'ip della Ethernet
# collegata la nat router che forwarda la porta udp, o l'eventuale ip pubblico
 
remote $SERVER_WAN_IP
# Indirizzi IP pubblico del server
 
#user nobody
# for enhanced security
#group nogroup
# for enhanced security
 
secret /etc/openvpn/certs/$OVPN_NAME.key
#la chiave statica creata
 
tun-mtu 1500
#opzione di compatibilità con v 2.x
#tun-mtu-extra 32
#eventualmente aggiungere anche questa
#ATTENZIONE: devono coincidere su client e server.
 
daemon
#forka in background
 
# logging
status /var/log/openvpn/$OVPN_NAME-status.log
log-append  /var/log/openvpn/$OVPN_NAME.log
EOFile
</pre>
 
 
=== Configurazione Client Windows ===
 
Scaricare il client windows da http://www.nilings.se/openvpn/download.html
 
Installarlo
 
Copiare /etc/openvpn/static.key in C:\Programmi\OpenVPN\config
 
Creare il file di configiraione C:\Programmi\OpenVPN\config\nome_vpn.ovpn:
 
<pre>
dev tun0
#uguale al server
 
ifconfig 192.168.5.5 192.168.5.6
# ifconfig virtual_local_ip virtual_remote_ip
 
route 192.168.1.0 255.255.255.0 192.168.5.6
# setta automaticamente la route alla connessione:
# route net_destination netmask gateway
 
port 12345
#stessa udp port del server
 
ip-win32 dynamic
# metodo di settaggio dell'ip
# se lo si vuole mettere in "manual", occorre settare la scheda di rete Tap come
# "always connected" e mettergli un ip statico
 
verb 1
# livello di debug
 
remote fire.mannesmann.it
# ip del server remoto
 
secret static.key
# chiave
 
tun-mtu 1500
# uguale a quella del server
 
ping 30
#tiene attivala connessione con un ping ogni 30 secondi
</pre>
</pre>
A questo punto lanciare Start/OpenVPN/OpenVPN GUI
Nella Tray icon, fare tasto destro/Connetti nome_vpn, ed attendere il messaggio "Coonection established to nome_vpn"
Verificare lo stato tcp/ip con "ipconfig" e "route print".
---
== VPN Client to Lan (Roadwarrior) ==


Creare i certificati con Xca, e copiarli nella stessa directory.
Creare i certificati con Xca, e copiarli nella stessa directory.

Revision as of 13:14, 19 October 2005

Configurazione Server Linux

Installare il pacchetto:

apt-get install openvpn

Creare il device di rete:

Debian Configuration

 ???????????????????????????? Configuring openvpn ????????????????????????????
 ?                                                                           ?
 ? If you accept here, the package will make a special device called         ?
 ? /dev/net/tun for openvpn's use. If you refuse, the device won't be made   ?
 ? now. Read README.Debian for details on how to make it. If you are using   ?
 ? devfs refuse here.                                                        ?
 ?                                                                           ?
 ? Would you like a TUN/TAP device to be created?                            ?
 ?                                                                           ?
 ?                    <Yes>                                                  ?
 ?                                                                           ?
 ?????????????????????????????????????????????????????????????????????????????

Rispondere "si"

Debian Configuration

 ???????????????????????????? Configuring openvpn ????????????????????????????
 ?                                                                           ?
 ? In some cases you may be upgrading openvpn in a remote server using a     ?
 ? VPN to do so. The upgrade process stops the running daemon before         ?
 ? installing the new version, in that case you may lose your connection,    ?
 ? the upgrade may be interrupted, and you may not be able to reconnect to   ?
 ? the remote host.                                                          ?
 ?                                                                           ?
 ? Unless you do your upgrades locally, it is advised NOT to stop openvpn    ?
 ? before it gets upgraded. The installation process will restart it once    ?
 ? it's done.                                                                ?
 ?                                                                           ?
 ? This option will take effect in your next upgrade.                        ?
 ?                                                                           ?
 ? Would you like to stop openvpn before it gets upgraded?                   ?
 ?                                                                           ?
 ?                    <Yes>                                                  ?
 ?                                                                           ?
 ?????????????????????????????????????????????????????????????????????????????

Creare il certificato DH:

cd /etc/openvpn
mkdir certs
cd certs
openssl dhparam -out dh1024.pem 1024

Vpn Lan to Lan

Configurazione Server

Impostare le seguenti variabili per creare il file di configurazione.

Ipotizziamo che il server si in una

export SERVER_LAN=192.168.0.0

che si voglia connettere ad una

export CLIENT_LAN=192.168.21.0

Si userà una rete di trasferimento con indirizzi point-to-point:

export SERVER_VPN_IP=10.0.21.254
export CLIENT_VPN_IP=10.0.21.253

E le interfacce VPN saranno:

export SERVER_VPN_IF=tun21
export CLIENT_VPN_IF=tun0

Le interfaccia che si connettono ad internet hanno indirizzi:

export SERVER_WAN_IP=217.141.88.34
export CLIENT_WAN_IF=192.168.21.129

La VPN utilizzera la seguente porta UDP, che andrà quindi sbloccta sul firewall o port-mappata sui router:

export OVPN_PORT=21000

La vpn verrà chiamata per convenzione

export gsspa
export SERVER_LAN=192.168.0.0
export CLIENT_LAN=192.168.21.0
export SERVER_VPN_IP=10.0.21.254
export CLIENT_VPN_IP=10.0.21.253
export SERVER_VPN_IF=tun21
export CLIENT_VPN_IF=tun0
export SERVER_WAN_IP=217.141.88.34
export CLIENT_WAN_IP=81.117.165.252
export OVPN_PORT=21000
export OVPN_NAME=gsspa

Creare la chiave statica:

cd /etc/openvpn/certs
openvpn --genkey --secret $OVPN_NAME.key

Verificarla:

ls $OVPN_NAME.key
total 12
drwxr-xr-x    2 root     root         4096 Sep  6 16:46 .
drwxr-xr-x   53 root     root         4096 Sep  6 16:35 ..
-rw-------    1 root     root          636 Sep  6 16:46 static.key

cat $OVPN_NAME.key
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
3777eeb99dff2557521c942ebcf58878
6c916f933ad37a43bcfd666f977a07ff
e25a317aef9a33850f3fe52bb9c12160
30784c6bba57054808b6881ec9162750
581de01677e991973470e7c7906e33b3
f1bb36288e2d829600c112ced5278cf0
2b339cc90e2a5383ea1c50457b2657c1
4b1081e6221eadba695529e823cf3eb7
e388986cb96317e70d1b0472a6a38585
4d7535a896a184126460700fb85fbf89
a8c5ea6d98c2fd78dda84f8d9fae6795
a8233df61259278f27fc82b133437097
eb7cdc112b8ea147439230039ebdbba3
b7438d162b6e5db992d97d3f8d1016dd
53f1b59513029de73e85b8eccd930c3d
51fc22c534aef5c6f96b210fdc11dbad
-----END OpenVPN Static key V1-----

Creare il seguente file di configurazione:

cat > /etc/openvpn/$OVPN_NAME.conf <<EOFile

dev $SERVER_VPN_IF
#usa il tun device

ifconfig $SERVER_VPN_IP $CLIENT_VPN_IP
# ifconfig virtual_local_ip virtual_remote_ip

route $CLIENT_LAN 255.255.255.0 $SERVER_VPN_IP

port $OVPN_PORT
# porta udp usata

verb 3
#livello di logging 1-9, per il debug, consigliato 5

local $SERVER_VPN_IF_IP
# real_local_ip dell'interfaccia su cui ascolta openvpn. L'ip della Ethernet
# collegata la nat router che forwarda la porta udp, o l'eventuale ip pubblico

remote $CLIENT_WAN_IP

#user nobody
# for enhanced security
#group nogroup
# for enhanced security

secret /etc/openvpn/certs/$OVPN_NAME.key
#la chiave statica creata

tun-mtu 1500
#opzione di compatibilità con v 2.x
#tun-mtu-extra 32
#eventualmente aggiungere anche questa
#ATTENZIONE: devono coincidere su client e server.

daemon
#forka in background

# logging
status /var/log/openvpn/$OVPN_NAME-status.log
log-append  /var/log/openvpn/$OVPN_NAME.log
EOFile

Far partire la VPN:

/etc/init.d/openvpn start $OVPN_NAME

Verificare la corretta configurazione dell'interfaccia tun:

ifconfig | grep -A1 $SERVER_VPN_IF
tun21     Link encap:UNSPEC  HWaddr 00-00-FF-FF-FF-FF-00-00-00-00-00-00-00-00-00-00
          inet addr:10.0.21.254  P-t-P:10.0.21.253  Mask:255.255.255.255
          inet addr:192.168.5.6  P-t-P:192.168.5.5  Mask:255.255.255.255

e del routing:

route -n | grep  $SERVER_VPN_IF
10.0.21.253     0.0.0.0         255.255.255.255 UH    0      0        0 tun21
192.168.21.0    10.0.21.254     255.255.255.0   UG    0      0        0 tun21


Aggiungere nel file di configurazione /etc/default/openvpn il nome $OVPN_NAME nella riga AUTOSTART:

AUTOSTART="roadwarriors como elma gsspa"

In questo modo verranno avviate solo le vpn specificate.

Configurazione Client

Procedere con l'installazione e l'esportazione delle variabili come dai punti precedenti.

export SERVER_LAN=192.168.0.0
export CLIENT_LAN=192.168.21.0
export SERVER_VPN_IP=10.0.21.254
export CLIENT_VPN_IP=10.0.21.253
export SERVER_VPN_IF=tun21
export CLIENT_VPN_IF=tun0
export SERVER_WAN_IP=217.141.88.34
export CLIENT_WAN_IP=81.117.165.252
export OVPN_PORT=21000
export OVPN_NAME=gsspa

Copiare la chiave precedentemente generata sul server

cd /etc/openvpn
mkdir certs
cd certs
scp root@$SERVER_WAN_IP:/etc/openvpn/certs/$OVPN_NAME.key .

Creare il file di configurazione:

Creare il seguente file di configurazione:

cat > /etc/openvpn/$OVPN_NAME.conf <<EOFile

dev $CLIENT_VPN_IF
#usa il tun device

ifconfig $CLIENT_VPN_IP $SERVER_VPN_IP
# ifconfig virtual_local_ip virtual_remote_ip

route $SERVER_LAN 255.255.255.0 $CLIENT_VPN_IP

port $OVPN_PORT
# porta udp usata

verb 3
#livello di logging 1-9, per il debug, consigliato 5

local $CLIENT_WAN_IP
# real_local_ip dell'interfaccia su cui ascolta openvpn. L'ip della Ethernet
# collegata la nat router che forwarda la porta udp, o l'eventuale ip pubblico

remote $SERVER_WAN_IP
# Indirizzi IP pubblico del server

#user nobody
# for enhanced security
#group nogroup
# for enhanced security

secret /etc/openvpn/certs/$OVPN_NAME.key
#la chiave statica creata

tun-mtu 1500
#opzione di compatibilità con v 2.x
#tun-mtu-extra 32
#eventualmente aggiungere anche questa
#ATTENZIONE: devono coincidere su client e server.

daemon
#forka in background

# logging
status /var/log/openvpn/$OVPN_NAME-status.log
log-append  /var/log/openvpn/$OVPN_NAME.log
EOFile


Configurazione Client Windows

Scaricare il client windows da http://www.nilings.se/openvpn/download.html

Installarlo

Copiare /etc/openvpn/static.key in C:\Programmi\OpenVPN\config

Creare il file di configiraione C:\Programmi\OpenVPN\config\nome_vpn.ovpn:

dev tun0
#uguale al server

ifconfig 192.168.5.5 192.168.5.6
# ifconfig virtual_local_ip virtual_remote_ip

route 192.168.1.0 255.255.255.0 192.168.5.6
# setta automaticamente la route alla connessione:
# route net_destination netmask gateway

port 12345
#stessa udp port del server

ip-win32 dynamic
# metodo di settaggio dell'ip
# se lo si vuole mettere in "manual", occorre settare la scheda di rete Tap come
# "always connected" e mettergli un ip statico

verb 1
# livello di debug

remote fire.mannesmann.it
# ip del server remoto

secret static.key
# chiave

tun-mtu 1500
# uguale a quella del server

ping 30
#tiene attivala connessione con un ping ogni 30 secondi

A questo punto lanciare Start/OpenVPN/OpenVPN GUI Nella Tray icon, fare tasto destro/Connetti nome_vpn, ed attendere il messaggio "Coonection established to nome_vpn"

Verificare lo stato tcp/ip con "ipconfig" e "route print".


---

VPN Client to Lan (Roadwarrior)

Creare i certificati con Xca, e copiarli nella stessa directory.

fire.leman.it.crt
fire.leman.it.pem
ca.fire.leman.it.crl
ca.fire.leman.it.crt

customizzare i seguenti valori e settarli in una shell:

export LOCAL_NET=192.168.150
export LOCAL_IP=$LOCAL_NET.100
export NAMESERVER=$LOCAL_NET.100
export VPN_NET=10.0.150
export VPN_IP=$VPN_NET.254
export SERVERNAME=fire.leman.it
export PORT=40000
export DEVICE=tap0


Creare il file di configurazione dalla stessa shell precedente:

cd /etc/openvpn
cat > /etc/openvpn/roadwarriors.conf <<EOFile
# local networking settings
dev $DEVICE
port $PORT
local $LOCAL_IP

# vpn networking settings
mode server
client-to-client        #permette a due client vpn di vedersi
ifconfig $VPN_IP 255.255.255.0
ifconfig-pool $VPN_NET.1 $VPN_NET.253 255.255.255.0
push "route-gateway $VPN_NET.254"
push "route $LOCAL_NET.0 255.255.255.0"
push "dhcp-option DNS $NAMESERVER"
push "dhcp-option WINS $NAMESERVER"

# logging
status /var/log/openvpn-status.log
log-append  /var/log/openvpn.log
ifconfig-pool-persist /var/log/openvpn-ip.log
mute 3

# tewaks
comp-lzo
tun-mtu 1500
keepalive 10 120

#authentications
tls-server
dh /etc/openvpn/certs/dh1024.pem
ca /etc/openvpn/certs/ca.$SERVERNAME.crt
cert /etc/openvpn/certs/$SERVERNAME.crt
key /etc/openvpn/certs/$SERVERNAME.pem
crl-verify /etc/openvpn/certs/ca.$SERVERNAME.crl
EOFile

Verificare che parta openvpn:

/etc/init.d/openvpn start
Stopping virtual private network daemon:.
Starting virtual private network daemon: roadwarriors.

netstat -anp | grep openvpn
udp        0      0 192.168.150.100:40000   0.0.0.0:*                          3719/openvpn

Se non dovesse funzionare, vedere il log /var/log/openvpn.log


Configurazione Client Windows

Installare OpenVPN Gui

Creare il file di configurazione come da template e copiare file e cartella coi certificati sul client.

Caso di server VPN NON default gateway

Se il server VPN NON è il default gateway della LAN, occorre impostare la route statica verso la netwok vpn sul router defualt gateway.

Nel caso di Eicon DIVA 2440:

-->LAN
LAN>ADD IP ROUTE 10.0.150.0 255.255.255.0 192.168.150.100
LAN>SAVE
LAN>EXIT

Controllare anche che l'IP Forwarding sia attivato sul server vpn Attivazione_ip_forward