Vincenzo Ingrosso Weblog
  • System Admin
  • Random Post
  • Authors
  • Become an Author
  • Messages Box
  • Crumbs!
  • Privacy Policy
  • About me
  • Contact
Facebook Page
  • Authors
  • Become an Author
  • Messages Box
  • Crumbs!
  • Privacy Policy
3 Likes
0 Followers
28 Followers
Iscriviti
Vincenzo Ingrosso Weblog
Vincenzo Ingrosso Weblog
  • System Admin
    • Debian & Sysadmin
    • Server
    • Bash
    • Ispconfig
    • Mac OSX
  • Random Post
  • About me
  • Contact
  • Bash
  • Debian & Sysadmin
  • Server

OpenVPN: setup guide on Debian (routed and bridged VPN)

  • 22 Luglio 2015
  • Vincenzo Ingrosso
Total
0
Shares
0
0
0

Argomento assai delicato e al tempo stesso molto affascinante! La soluzione che vi propongo vi permette di collegare ad un server centrale sia altre macchine sfruttando il bridging di rete (TAP), sia dispositivi mobili utilizzando il routing di rete (TUN).

Presupposto principale è quello di conoscere il concetto di Virtual Private Network (VPN) e di conseguenza buona parte del mondo che vi è dietro. Una lettura iniziale e interessante su cos’è una VPN la trovate seguendo il relativo link su wikipedia.

Riassumendo molto il concetto credo si possa affermare che:

“…una VPN è l’estensione di una rete locale privata che collega tra loro server e client variamente dislocati su un ampio territorio sfruttando una connessione pubblica ad Internet per realizzare di fatto una rete LAN, detta appunto virtuale e privata, del tutto equivalente a un’infrastruttura fisica di rete (ossia con collegamenti fisici) appositamente dedicata.”

A dire il vero non poche sono state le difficoltà che ho incontrato nel realizzare la mia personale VPN. Sulla rete prolificano decine di migliaia di guide. Se non trovate qualcosa che vi server in questa non vi resta che cercare.

Disclaimer: Fate attenzione a quanto stiamo per realizzare. Eventuali errori possono esporre la vostra rete interna a qualche malintenzionato, quindi procedete con cautela! Una VPN ha nella sicurezza della trasmissione dei dati la sua ragione di esistere, ma ricordate che il primo baluardo in fatto di sicurezza siete voi!

Vi dico subito che l’autenticazione verso la nostra VPN avverrà attraverso l’emissione di certificati digitali. Se qualche certificato dovessero andare perso o rubato vi basterà revocarlo per impedire l’accesso alla rete. Si possono facilmente implementare altre tipologie di autenticazione ma non saranno oggetto di questa guida.

CREATE A BRIDGE

OpenVPN sarà il software che ci permetterà di creare la nostra rete privata. Prima occupiamoci di creare un bridge di rete (br0).

apt-get install uml-utilities bridge-utils

Attiviamo il relativo modulo nel kernel

modprobe tun

Il seguente comando serve a rendere permanente la creazione dello speciale device di loopback tap0 assegnandolo ad uno specifico utente: ad esempio all’utente nobody

/usr/sbin/tunctl -t tap0 -u nobody

Adesso è arrivato ill momento di eliminare ogni pregressa configurazione delle interfacce di rete che entreranno a far parte del bridge di rete

ifconfig eth0 0.0.0.0 promisc up
ifconfig tap0 0.0.0.0 promisc up

Creiamo il nostro bridge e aggiungiamoci i device di rete

brctl addbr br0
brctl addif br0 tap0
brctl addif br0 eth0

Verificate con il comando brctl show che tutto sia in ordine

bridge name  bridge id    STP enabled  interfaces  
br0    8000.1c6f653460a7  no           eth0  
                                       tap0

È arrivato il momento di tirare su lo speciale device assegnando un IP

ifconfig br0 up
ifconfig br0 10.105.1.150/24
route add default gw 10.105.1.1

se il route è impostato correttamente il comando /sbin/route -n dovrebbe restituire qualcosa del genere

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.105.1.1      0.0.0.0         UG    0      0        0 br0
10.105.1.0      0.0.0.0         255.255.255.0   U     0      0        0 br0

Ora dovremmo avere connettività di rete su entrambe le interfacce di rete. Per rendere permanente quanto fatto sino ad ora sarà necessario modificare opportunamente il file /etc/network/interfaces. Segue un esempio basta sul mio. L’indirizzo IP del bridge e di conseguenza dell’interfaccia di rete dovrà essere corretto in base alla vostra subnet.

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

auto br0
#iface br0 inet dhcp
iface br0 inet static
        bridge-ports eth0 tap0
        bridge_stp on
	bridge_hello 2
	bridge_maxage 12
	bridge_prio 1000
	bridge_maxwait 0
	address 10.105.1.150
	netmask 255.255.255.0
	gateway 10.105.1.1
	
# The primary network interface
auto eth0
iface eth0 inet manual
	up ip link set $IFACE up
	down ip link set $IFACE down
	up ip link set $IFACE promisc on
	down ip link set $IFACE promisc off
	up brctl addif br0 $IFACE || true
	down brctl delif br0 $IFACE || true

auto tap0
iface tap0 inet manual
	pre-up /usr/bin/tunctl -t tap0 -u nobody
	up ip link set $IFACE up
	up ip link set $IFACE promisc on
	down ip link set $IFACE promisc off
	down ip link set $IFACE down
	up brctl addif br0 $IFACE || true
	down brctl delif br0 $IFACE || true
1 2 3 4Pagina successiva
Total
0
Shares
Share 0
Tweet 0
Pin it 0
Related Topics
  • bash
  • openvpn
  • server
  • setup
  • shell
  • vpn
Vincenzo Ingrosso

Sono un lavoratore in-dipendente. Non ho titoli di studio che possano testimoniare le mie conoscenze in ambito informatico, ma sono dietro una tastiera dal '95. La mia prima distribuzione linux è stata RedHat, per passare nel giro di tre mesi a Slackware con la quale ho convissuto per circa 13 anni. Ad un certo punto ho realizzato Sflack, vale a dire Slackware Linux a 64bit puri, senza quindi utilizzo di multi-lib. Successivamente per mancanza di tempo e per comodità sono passato a Debian. Oggi lavoro davanti ad un iMac, ho una famiglia e mi occupo di tutt'altro.

Articolo Precedente
  • Bash
  • Debian & Sysadmin
  • Server

Debian: from Wheezy (7.0) to Jessie (8.0)

  • 14 Luglio 2015
  • Vincenzo Ingrosso
Visualizza Post
Articolo Successivo
  • Bash
  • Debian & Sysadmin
  • Server

Initramfs: install sshd to remote access

  • 17 Luglio 2017
  • Vincenzo Ingrosso
Visualizza Post
You May Also Like
Visualizza Post
  • Bash
  • Debian & Sysadmin
  • Server

Initramfs: install sshd to remote access

  • Vincenzo Ingrosso
  • 17 Luglio 2017
Visualizza Post
  • Bash
  • Debian & Sysadmin
  • Server

Debian: from Wheezy (7.0) to Jessie (8.0)

  • Vincenzo Ingrosso
  • 14 Luglio 2015
Visualizza Post
  • Bash
  • Debian & Sysadmin
  • Server

Intrusion Detection System: Setup Arno’s Iptables Firewall, Port Scan Attack Detector, Firewall Snort

  • Vincenzo Ingrosso
  • 11 Luglio 2015
Visualizza Post
  • Bash
  • Debian & Sysadmin

WordPress: Disable or Enable All Plugins

  • Vincenzo Ingrosso
  • 9 Luglio 2015
Visualizza Post
  • Debian & Sysadmin
  • Ispconfig

Snippets: ISPConfig directive for nginx

  • Vincenzo Ingrosso
  • 8 Luglio 2015
Visualizza Post
  • Bash
  • Debian & Sysadmin

uTorrent®: howto install and setup utserver in Debian Wheezy

  • Vincenzo Ingrosso
  • 1 Luglio 2015
Visualizza Post
  • Bash
  • Debian & Sysadmin
  • Ispconfig

Ispconfig : how to migrate from Apache to nginx

  • Vincenzo Ingrosso
  • 17 Ottobre 2014
Visualizza Post
  • Bash
  • Debian & Sysadmin

Fail2Ban: how-to setup with Blocklist reporting

  • Vincenzo Ingrosso
  • 23 Luglio 2014
  • Initramfs: install sshd to remote access

    Visualizza Post
  • OpenVPN: setup guide on Debian (routed and bridged VPN)

    Visualizza Post
  • Debian: from Wheezy (7.0) to Jessie (8.0)

    Visualizza Post
  • Intrusion Detection System: Setup Arno’s Iptables Firewall, Port Scan Attack Detector, Firewall Snort

    Visualizza Post
  • WordPress: Disable or Enable All Plugins

    Visualizza Post
Facebook Page
Instagram
#yamaha #moto #motorcycle #motogp #honda #motorbike #bike #ducati #suzuki #kawasaki #italy #ktm #bikelife #biker #instamoto #racing #bikeporn #photooftheday #instagood #46 #motocross #ride #picoftheday #love #photography #scorpionsports #fabioquartararo #yamahar1 #yamahar1m
#r1 #yamahar1 #r1m #superbike #sbk
#r1m #yamahar1 #yamaha #wer1 #riderich #sportbike #sportbikes #bikersofinstagram #bikerboysofinstagram #sportbikelife #fastbikes #sportbikesaddicts #bikefam
#sportbike #superbikes #yamaharacing #motor #yamahayzfr #kawasakininja #ninja #sportbike #superbikes #yamaharacing #cc #indonesia #motor #yamahayzfr #kawasakininja #ninja
#sportbike #superbikes #yamaharacing #motor #yamahayzfr #kawasakininja #ninja #sportbike #superbikes #yamaharacing #cc #indonesia #motor #yamahayzfr #kawasakininja #ninja #superbikesgram #bmws #motorcycles #panigale #bikers #duke #yamahamotogp #suzukigsxr #riders #vr #bikeporn #rider #ktmduke #racing #italy #agv #instamoto #bikes
Segui
TRENDING POSTS
  • Initramfs: install sshd to remote access
    • 17 Luglio 2017
  • OpenVPN: setup guide on Debian (routed and bridged VPN)
    • 22 Luglio 2015
  • Debian: from Wheezy (7.0) to Jessie (8.0)
    • 14 Luglio 2015
  • Intrusion Detection System: Setup Arno’s Iptables Firewall, Port Scan Attack Detector, Firewall Snort
    • 11 Luglio 2015
  • WordPress: Disable or Enable All Plugins
    • 9 Luglio 2015
Legalese
Licenza Creative Commons

Questo Blog di Vincenzo Ingrosso è distribuito con Licenza Creative Commons Attribuzione - Non commerciale - Condividi allo stesso modo 4.0 Internazionale.
Debian
FOLLOW ME
Facebook 3 Likes
Instagram 0 Followers
Twitter 28 Followers
#yamaha #moto #motorcycle #motogp #honda #motorbike #bike #ducati #suzuki #kawasaki #italy #ktm #bikelife #biker #instamoto #racing #bikeporn #photooftheday #instagood #46 #motocross #ride #picoftheday #love #photography #scorpionsports #fabioquartararo #yamahar1 #yamahar1m
#r1 #yamahar1 #r1m #superbike #sbk
#r1m #yamahar1 #yamaha #wer1 #riderich #sportbike #sportbikes #bikersofinstagram #bikerboysofinstagram #sportbikelife #fastbikes #sportbikesaddicts #bikefam

Let's keep in touch

Subscribe now to my newsletter

about
Vincenzo Ingrosso

About the site

Sono un lavoratore in-dipendente. Non ho titoli di studio che possano testimoniare le mie conoscenze in ambito informatico, ma sono dietro una tastiera dal '95. La mia prima distribuzione linux è stata RedHat, per passare nel giro di tre mesi a Slackware con la quale ho convissuto per circa 13 anni. Ad un certo punto ho realizzato Sflack, vale a dire Slackware Linux a 64bit puri, senza quindi utilizzo di multi-lib. Successivamente per mancanza di tempo e per comodità sono passato a Debian. Oggi lavoro davanti ad un iMac, ho una famiglia e mi occupo di tutt'altro.
Victoria’s Secret

Recent Posts
  • Initramfs: install sshd to remote access
    • 17 Luglio 2017
  • OpenVPN: setup guide on Debian (routed and bridged VPN)
    • 22 Luglio 2015
  • Debian: from Wheezy (7.0) to Jessie (8.0)
    • 14 Luglio 2015
Vincenzo Ingrosso Weblog
  • System Admin
  • Random Post
  • About me
  • Contact
... I follow my passion ...

Inserisci la chiave di ricerca e premi invio.