Installazione OpenVPN su Debian: Difference between revisions
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 | |||
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 | ||
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