[gl-como] OpenVPN

Incubus theincubus@gmail.com
Mer 8 Apr 2009 21:49:57 CEST


Hola GL-Como :)

Ogni tanto mi rifaccio vivo con qualche strana richiesta/domanda,
spero che anche questa volta riusciate a colmare i miei dubbi ^_^
Allora, ecco la situazione: sto facendo esperimenti con openvpn perchè
io (che ho una connessione alice) vorrei poter accedere/vedere al/la
server/lan di un amico che però ha fastweb( ip privato).
Sto facendo dei test a casa mia usando 2 macchine virtuali fedora core
10 virtualizzate in vmware server 2.0 chiamate rispettivamente mx01
(ip: 192.168.1.50) e mx02 (ip: 192.168.1.51): mx01 è il server (io),
mx02 è il client (il mio amico). Quello che vorrei fare è:
- attivare la vpn sul server usando una interfaccia TUN, dare a tale
interfaccia ip 10.0.0.1 (o un altro ip che sia cmq .1)
- attivare la vpn sul client usando (ovviamente) un'altra interfaccia
TUN,  dare a tale interfaccia ip 10.0.0.2 (o un altro che sia cmq .2)
- [successivamente] riuscire a pingare/vedere gli host della sua
sottorete (192.168.0.0/24) dagli host della mia sottorete
(192.168.1.0/24)
- fare si che la configurazione lato server sia compatibile per
espansioni future ovvero che permetta ad una terza/quarta/quinta
persona di potersi collegare e vedere le altre sottoreti associando al
suo client openvpn rispettivamente ip .3, .4 ecc a mi scelta (voglio
essere io a dire che nodo ha un certo ip: no dhcp per intenderci)

Al momento il file di configurazione sul server è questo:
===
dev tun0
proto udp
port 1194

server 10.0.0.0 255.255.255.0
client-to-client

comp-lzo
user nobody

tls-server
dh /etc/openvpn/srvTLS/dh.pem
ca /etc/openvpn/srvTLS/ca.cert
cert /etc/openvpn/srvTLS/ser.cert
key /etc/openvpn/srvTLS/server.key
cipher DES-EDE3-CBC

verb 3
===
Dopo aver avviato la vpn (openvpn --config /etc/openvpn/srvTLS.conf
--log-append /tmp/vpnTLS.log --daemon) sul server, l'interfaccia tun0
appare configurata in questo modo:
tun0      Link encap:UNSPEC  HWaddr
00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.0.0.1  P-t-P:10.0.0.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
e già c'è una cosa che non mi torna ovvero la netmask: 255.255.255.255
anche se io ho specificato 255.255.255.0, ma andiamo avanti: il
routing:
[root@vm-mx01 openvpn]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.0.2        *               255.255.255.255 UH    0      0        0 tun0
10.0.0.0        10.0.0.2        255.255.255.0   UG    0      0        0 tun0
192.168.1.0     *               255.255.255.0   U     1      0        0 eth1
default         gateway.valhall 0.0.0.0         UG    0      0        0 eth1
[root@vm-mx01 openvpn]#

Domanda: non basterebbe
10.0.0.0        10.0.0.2        255.255.255.0   UG    0      0        0 tun0
per eseguire correttamente routing? Come mai openvpn aggiunge anche la
prima riga? Si/no? Perchè?

Il file di configurazione sul client è questo (mx01.valhalla.lan è
risolto correttamente in 192.168.50.1 dal mio dns interno):
===
client

dev tun0
proto udp
port 5000
nobind

ifconfig 10.0.0.2 255.255.255.0
remote mx01.valhalla.lan
resolv-retry infinite

comp-lzo
user nobody

tls-client
ca /etc/openvpn/TLS/ca.cert
cert /etc/openvpn/TLS/cli.cert
key /etc/openvpn/TLS/client.key
cipher DES-EDE3-CBC

verb 3
===
Dopo aver avviato la vpn (openvpn --config /etc/openvpn/inc0TLS.conf
--log-append /tmp/vpnTLS.log --daemon) sul client, l'interfaccia tun0
appare configurata in questo modo:
tun0      Link encap:UNSPEC  HWaddr
00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.0.0.6  P-t-P:10.0.0.5  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:12 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:1008 (1008.0 b)  TX bytes:1008 (1008.0 b)
e anche qua c'è una cosa che non mi torna ovvero la netmask:
255.255.255.255 anche se io ho specificato 255.255.255.0, ma andiamo
avanti: l'ip! Perchè 10.0.0.6 se io ho specificato 10.0.0.2?
Qui, la tabella di routing è:
[root@vm-mx02 openvpn]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.0.5        *               255.255.255.255 UH    0      0        0 tun0
10.0.0.1        10.0.0.5        255.255.255.255 UGH   0      0        0 tun0
192.168.1.0     *               255.255.255.0   U     1      0        0 eth0
default         gateway.valhall 0.0.0.0         UG    0      0        0 eth0
[root@vm-mx02 openvpn]#
qua nn ho assolutamente idea del perchè il routing per la 10.0.0.0 sia così :S

Qualcuno sa delucidarmi?

Si, su google ho già letto ed anche sul sito ufficiale nonchè ho letto
il libro ufficiale che, IMHO è una ciofeca.

Pls help.


Inc0

-- 
KNOWLEDGE IS POWER
http://incubus.homelinux.net
http://www.gl-como.it


Maggiori informazioni sulla lista gl-como