OpenVPN Routing

scritto da admin il 28 Ottobre 2008

Tempo fa ho voluto testare la config di OpenVpn in router mode, prima di continuare vediamo le differenze tra i due modi:

La modalità bridging ha i seguenti Vantaggi:

* Propaga il traffico trasmesso via Broadcast attraverso la VPN.

* Semplifica la configurazione giacché non è necessario avere alcuna conoscenza sui principi di routing e rotte varie.

* Lavora molto bene con protocolli diversi dal TCP/IP come per esempio IPX/SPX, AppleTalk etc.

Svantaggi:

* Consuma molta banda è quindi poco adatta a reti poco veloci o a consumo.

* Bisogna per forza fare un bridge dell’interfaccia fisica con quella virtuale.

La routing ha i seguenti Vantaggi:

* Sostanzialmente permette un’ottimizzazione del traffico attraverso internet.

* Fornisce una maggior capacità di controllare selettivamente i diritti di accesso sulla base dello specifico utente.

Svantaggi:

* Nel caso di una connessione LAN to LAN i client remoti devono necessariamente impostare l’utilizzo di un server WINS per riuscire a fare un browser della rete.

* Devono essere configurate tutte le rotte di comunicazione necessarie.

* Non sono instradate le comunicazioni broadcast.

Ecco un esempio del server in modalità routing:

port 1194

dev tun0

proto udp

ca ca.crt

cert server.crt

key server.key

dh dh1024.pem

client-to-client (Qui permette il dialogo tra i client)

server 192.168.10.0 255.255.255.0 (Qui indica il pool d’indirizzi assegnato ai client)

push “route 192.168.1.0 255.255.255.0″ (Qui fa passare la classe ip dietro la vpn nel tunnell istaurato dai client.)

user nobody

group nogroup

comp-lzo

keepalive 15 45

ping-timer-rem

persist-key

persist-tun

status /var/log/openvpn-status.log

verb 3

Sul server bisogna abilitare l’ip-forwarding e l’ ip-masquerading :

vim /etc/network/interface

Aggiungiamo

up echo “1″ > /proc/sys/net/ipv4/ip_forward
up iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Qui invece la parte client:

client

dev tun

proto udp

remote 88.xx.xx 1194

resolv-retry infinite

nobind

ca ca.crt

cert client1.crt

key client1.key

comp-lzo

route-delay

ping 15

ping-restart 45

ping-timer-rem

persist-tun

persist-key

mute-replay-warnings

verb 3

La procedura per generare le chiavi è identica a quella descritta nel mio precedente post.

Salutoni

Frank

Per espandere un disco virtuale di vmware è sufficiente digitare da console i seguenti comandi (naturalmente dopo aver stoppato la macchina virtuale e averne fatto un backup).

vmware-vdiskmanager -x 20GB virtual_disk.vmdk (Vmware Server)
vmkfstools -X 20g
virtual_disk.vmdk (Vmware Esx)

Al termine è necessario eseguire il resize delle partizioni con tool tipo Partition Magic.
Io consiglio il software open source gparted http://gparted.sourceforge.net/

OpenVPN Bridging

scritto da admin il 7 Ottobre 2008

Tempo fa mi è capitato di dover configurare openvpn in bridge mode, questo modo.
a differenza della classica assegna ai client lo stesso indirizzo ip della rete locale.
È utilizzata per configurazioni particolari, dove il modo routing ha dato qualche problema.

Procediamo con l’installazione:
apt-get install openvpn bridge-utils iproute

Configuriamo il bridge tra la scheda di rete virtuale (tap0) e quella vera (eth0):
vi /etc/network/interfaces
auto br0
iface br0 inet static
address 192.168.10.2
netmask 255.255.255.0
gateway 192.168.10.254
pre-up /usr/sbin/openvpn –mktun –dev tap0
pre-up /sbin/ip link set tap0 up
pre-up /sbin/ip link set eth0 up
pre-up /usr/sbin/brctl addbr br0
pre-up /usr/sbin/brctl addif br0 eth0
pre-up /usr/sbin/brctl addif br0 tap0
post-up /etc/init.d/openvpn start
pre-down /etc/init.d/openvpn stop
pre-down /usr/sbin/brctl delif br0 eth0
pre-down /sbin/ip link set eth0 down
pre-down /usr/sbin/brctl delif br0 tap0
pre-down /sbin/ip link set tap0 down
post-down /usr/sbin/brctl delbr br0
post-down /usr/sbin/openvpn –rmtun –dev tap0

Generiamo le chiavi rsa:
cd /usr/share/doc/openvpn/examples/easy-rsa/2.0

Modifichiamo il file vars mettendo i dati che servono.
export KEY_COUNTRY=IT
export KEY_PROVINCE=CZ
export KEY_CITY=Lamezia Terme
export KEY_ORG=Catanzaro
export KEY_EMAIL=francesco.gabriele@

Creiamo la sottodirectory keys se non esiste.
Mkdir key

Iniziamo con le chiavi del server.
. ./vars
./clean-all
./build-ca
./build-key-server server
./build-dh
openvpn –genkey –secret ta.key

Copiamo le chiavi generate nel path corretto.
cd /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys
cp ca.crt /etc/openvpn
cp server.crt /etc/openvpn
cp server.key /etc/openvpn
cp dh1024.pem /etc/openvpn
cd ..
cp ta.key /etc/openvpn

Ora generiamo quelle del primo client.
Mkdir /etc/openvpn/client1
cd /usr/share/doc/openvpn/examples/easy-rsa/2.0/
./build-key client1
cd /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys
cp ca.crt /etc/openvpn/client1
cp client1.crt /etc/openvpn/client1
cp client1.key /etc/openvpn/client1
cd ..
cp ta.key /etc/openvpn/client1

Queste chiavi vanno copiate sul client

Creiamo il file di configurazione del Server.
vi /etc/openvpn/server.conf
port 1194
proto tcp
dev tap0
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
client-to-client
local 192.168.10.254
server-bridge 192.168.10.254 255.255.255.0 192.168.10.16 192.168.10.19
comp-lzo
keepalive 15 45
ping-timer-rem
persist-tun
persist-key
status openvpn-status.log
verb 3

Ora creiamo quello del Client.
client
dev tap
proto tcp
remote 87.53.101.XX 1194
resolv-retry infinite
nobind
ca ca.crt
cert client1.crt
key client1.key
comp-lzo
ping 15
ping-restart 45
ping-timer-rem
persist-tun
persist-key
mute-replay-warnings
route-method exe
route-delay 2
verb 3

Per qualsiasi problema potete consultare la guida ufficiale http://www.openvpn.net/index.php/documentation/howto.html

Frank :-)

Rinetd - Portforwarding senza iptables

scritto da admin il 6 Ottobre 2008

Ciao,

oggi mi è capitato di dover migrare un server ftp, e siccome per una questione di tempo non sono riuscito a comunicare a tutti il nuovo indirizzo ip, ho pensato di utilizzare questa fantastica utility e di reindirizzare le connessioni del vecchio server sul nuovo.

  • apt-get install rinetd (Installiamo il pacchetto tramite apt)
  • vim /etc/rinetd.conf (procediamo con la configurazione)

La configurazione è molto semplice di seguito un esempio:

bindadress bindport connectaddress connect port

10.144.2.243 21 10.144.2.222 21

Possiamo abilitare i log delle connessioni de commentando la seguente linea:

logfile /var/log/rinetd.log

Riavvio del servizio e pronti partenza via :)

/etc/init.d/rinetd restart

Spero sia utile a molti :)

Frank

Ciao a tutti,
Qualche giorno fa mi è capitato di dover condividere dei file tra un sistema Unix tru64 e una macchina con Ubuntu server, poiché sono due sistemi unix ho preferito il mitico protocollo nfs che nella mia esperienza informatica non avevo mai provato.

Ho iniziato con la parte server sulla macchina ubuntu (NFS SERVER):
sudo apt-get install nfs-common nfs-kernel-server portmap
(installiamo i pacchetti necessari)

sudo vim /etc/exports
/directory/condivisa 192.168.10.0/24(rw,no_root_squash,async,no_subtree_check)
(Qui specifichiamo le cartelle da condividere e gli ip che posso accedere)
sudo exportfs -ra (con questo comando confermiamo le modifiche al file exports)

sudo vim /etc/hosts.allow
portmap mountd nfsd statd lockd rquotad : 192.168.10.12 192.168.10.190
(qui specifichiamo più nel dettaglio gli ip che potranno accedere alla condivisione)

sudo vim /etc/hosts.deny
portmap mountd nfsd statd lockd rquotad : ALL
(qui diciamo che a gli ip rimanenti deve negare l’accesso)

/etc/init.d/nfs-kernel-server restart
/etc/init.d/portmap restart
(riavviamo i servizi e rendiamo definitive le modifiche)

Dopo è passato alla parte client sulla macchina Unix (NFS CLIENT):
mkdir /files
mount -t nfs 192.168.10.100:/directory/condivisa /files
(In questo modo montiamo la cartella remota in /files)

Per l’auto mount al riavvio, vi consiglio di utilizzare l’utility asemgr.

Se invece volete installare il client su una macchina Linux i passaggi sono questi:
apt-get install nfs-common portmap (installiamo i pacchetti necessari)
mkdir /files
mount -t nfs 192.168.10.100:/directory/condivisa /files
(In questo modo montiamo la cartella remota in /files)

Per l’automount al riavvio configuriamo il file fstab:
vim /etc/fstab
192.168.10.100:/directory/condivisa /files nfs rw,auto,hard 0 0

Spero sia utile a molti :-)
Frank

Ciao a Tutti

scritto da admin il 5 Ottobre 2008

Benvenuti nel mio Blog :)

in questo mio spazio voglio raccontare le mie esperienze informatiche da condividere con tutti voi.

Spero siano utili a molti

Frank :)