Openvpn: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
m
 
(14 versioni intermedie di uno stesso utente non sono mostrate)
Riga 327: Riga 327:


Normalmente i fornitori VPN non lasciano porte aperte, quindi in teoria non vi sarebbe alcun bisogno di configurare un firewall sulla propria macchina, tuttavia fidarsi bene e non fidarsi è meglio ed è dunque opportuno configurare delle regole anche per l'interfaccia <code>tun0</code>. Si veda per esempio [http://guide.debianizzati.org/index.php/Debian_e_iptables#Uso_di_una_VPN_commerciale questa guida].
Normalmente i fornitori VPN non lasciano porte aperte, quindi in teoria non vi sarebbe alcun bisogno di configurare un firewall sulla propria macchina, tuttavia fidarsi bene e non fidarsi è meglio ed è dunque opportuno configurare delle regole anche per l'interfaccia <code>tun0</code>. Si veda per esempio [http://guide.debianizzati.org/index.php/Debian_e_iptables#Uso_di_una_VPN_commerciale questa guida].
==== Avvio automatico ====
Per avviare automaticamente la connessione VPN all'avvio del computer è sufficiente usare l'apposito comando di <code>systemd</code>:
<pre># systemctl enable openvpn-client@nome_file_configurazione</pre>
dove <code>nome_file_configurazione</code> è il file di configurazione <code>/etc/openvpn/client/nome_file_configurazione.conf</code> del proprio client.
Di converso per disabilartne l'avvio automatico è sufficiente impartire:
<pre># systemctl disable openvpn-client@nome_file_configurazione</pre>


==== Scenario misto ====
==== Scenario misto ====
Riga 332: Riga 340:
Nel caso si abbia necessità di rendere un servizio, come un webserver, accessibile direttamente senza passare dal tunnel VPN è possibile procedere come segue.
Nel caso si abbia necessità di rendere un servizio, come un webserver, accessibile direttamente senza passare dal tunnel VPN è possibile procedere come segue.
{{Suggerimento|Prima di procedere si consiglia la lettura delle guide dedicate a [[Iproute2]] e [[Debian e iptables | IPtables]].}}
{{Suggerimento|Prima di procedere si consiglia la lettura delle guide dedicate a [[Iproute2]] e [[Debian e iptables | IPtables]].}}
1 - Creare una nuova tabella di routing, che sarà chiamata per semplicità "tab1".<br>
1 - Creare una nuova tabella di routing, che sarà chiamata per semplicità "tab1" (come descritto per esempio nella sezione ''Aggiungere tabelle di routing'' della guida di [[Iproute2]]).<br>
2 - Aggiungere le rotte standard del proprio computer a "tab1", ovvero le rotte definite in automatico dalla propria macchina quando non è in esecuzione alcun servizio VPN. Per esempio nel caso di macchina che funge da gateway sfruttando [[pppoeconf]] potrebbero essere sufficienti i seguenti due comandi:
2 - Aggiungere le rotte standard del proprio computer a "tab1", ovvero le rotte definite in automatico dalla propria macchina quando non è in esecuzione alcun servizio VPN. Per esempio nel caso di macchina che funge da gateway sfruttando [[pppoeconf]] potrebbero essere sufficienti i seguenti due comandi:
<pre>
<pre>
Riga 345: Riga 353:


Arrivati a questo punto il servizio prescelto dovrebbe essere normalmente raggiungibile attraverso la nostra interfaccia internet, tuttavia è importante sottolineare quanto segue:
Arrivati a questo punto il servizio prescelto dovrebbe essere normalmente raggiungibile attraverso la nostra interfaccia internet, tuttavia è importante sottolineare quanto segue:
# Le rotte e le regole create non sono permanenti, ovvero andranno perse al momento di un eventuale riavvio, quindi in tale caso l'utente dovrà nuovamente ripetere la procedura qui descritta. Il problema dovrebbe essere ovviabile dichiarando opportunamente i precedenti comandi nel file <code>/etc/network/interfaces</code>, come riportato nel seguente esempio che contiene una configurazione sia per l'interfaccia <code>ppp0</code> che <code>eth0</code>
* Le rotte e le regole create non sono permanenti, ovvero andranno perse al momento di un eventuale riavvio, quindi in tale caso l'utente dovrà nuovamente ripetere la procedura qui descritta. Il problema dovrebbe essere ovviabile dichiarando opportunamente i precedenti comandi nel file <code>/etc/network/interfaces</code>, come riportato nel seguente esempio che contiene una configurazione sia per l'interfaccia <code>ppp0</code> che <code>eth0</code>
<pre>
<pre>
auto dsl-provider
auto dsl-provider
Riga 360: Riga 368:
         netmask 255.255.255.0
         netmask 255.255.255.0
         network 192.168.1.0
         network 192.168.1.0
         broadcast 192.168.0.255
         broadcast 192.168.1.255
         post-up /bin/ip route add 192.168.1.0/24 dev eth0 src 192.168.1.172 table 1
         post-up /bin/ip route add 192.168.1.0/24 dev eth0 src 192.168.1.172 table 1
</pre>
</pre>
# Se non si dispone di un IP pubblico statico, ma solo dinamico, sarà necessario eliminare e dichiarare nuovamente il comando descritto al punto 3 ogni volta che detto IP pubblico cambia. A tale fastidio si può ovviare sostituendo alla regola del punto 3 una dichiarazione basata sull'uso dell'opzione <code>fwmark</code> e del target <code>mark</code> di IPtables, oppure creando uno script che ad intervalli regolari verifica il proprio IP pubblico attuale ed eventualmente aggiorna rotte e regole come necessario. A puro titolo esemplificativo si mostra lo script usato da chi scrive (e quindi ritagliato sulla propria specifica configurazione macchina):
* Se non si dispone di un IP pubblico statico, ma solo dinamico, sarà necessario eliminare e dichiarare nuovamente il comando descritto al punto 3 ogni volta che detto IP pubblico cambia. A tale fastidio si può ovviare sostituendo alla regola del punto 3 una dichiarazione basata sull'uso dell'opzione <code>fwmark</code> e del target <code>mark</code> di IPtables, oppure creando uno script che ad intervalli regolari verifica il proprio IP pubblico attuale ed eventualmente aggiorna rotte e regole come necessario. A puro titolo esemplificativo si mostra lo script usato da chi scrive (e quindi ritagliato sulla propria specifica configurazione macchina):
<pre>
<pre>
#!/bin/bash
#!/bin/bash
Riga 410: Riga 418:


Sfortunatamente alcuni servizi di streaming rendono impossibile la fruzione dei loro contenuti a chi usa una VPN per ragioni legate allo sfruttamento dei diritti commerciali (che nella stragrande maggioranza dei casi sono ripartiti per aree geografiche).
Sfortunatamente alcuni servizi di streaming rendono impossibile la fruzione dei loro contenuti a chi usa una VPN per ragioni legate allo sfruttamento dei diritti commerciali (che nella stragrande maggioranza dei casi sono ripartiti per aree geografiche).
In tali situazioni c'è poco da fare, l'unica soluzione è non usare temporaneamente la VPN per il traffico web. Non è infatti è possibile, per la complessità di tali servizi, instradare il traffico semplicemente sulla base del dominio web.
In tali situazioni c'è poco da fare, l'unica soluzione è non usare temporaneamente la VPN per il traffico web. Non è infatti è possibile, per la complessità di tali servizi, instradare il traffico semplicemente sulla base del dominio web.<br>
Un semplice palliativo, che richiede solo un minimo di disciplina personale, è quello di crearsi una seconda configurazione per l'interfaccia di rete in uso sul proprio PC (e '''NON''' sul gateway della LAN), in modo da poter specificare un diverso indirizzo privato. In questo modo a livello di gateway sarà possibile aggiungere una regola tale per cui si dichiara che il traffico dati proveniente da questo nuovo IP non dovrà essere gestito dalla tabella di routing principale, ma da una alternativa.
Un semplice palliativo, che richiede solo un minimo di disciplina personale, è quello di crearsi una seconda configurazione per l'interfaccia di rete in uso sul proprio PC (e '''NON''' sul gateway della LAN), in modo da poter specificare un diverso indirizzo privato. In questo modo a livello di gateway sarà possibile aggiungere una regola tale per cui si dichiara che il traffico dati proveniente da questo nuovo IP non dovrà essere gestito dalla tabella di routing principale, ma da una alternativa.<br>
La procedura per creare tale tabella è identica a quella descritta nella sezione precedente "''Scenario misto''", pertanto se già si sono seguite le relative istruzioni non è necessario configurare una terza tabella, viceversa andrà appunto creata. Il punto è che serve una tabella alternativa a quella principale in modo da ignorare le rotte imposte dal prioprio servizio VPN.
La procedura per creare tale tabella è identica a quella descritta nella sezione precedente "''Scenario misto''", pertanto se già si sono seguite le relative istruzioni non è necessario configurare una terza tabella, viceversa andrà appunto creata. Il punto è che serve una tabella alternativa a quella principale in modo da ignorare le rotte imposte dal prioprio servizio VPN.<br>
In sintesi quando si vuole usare un servizio che blocca le VPN si cambia la configurazione di rete in uso.
In sintesi quando si vuole usare un servizio che blocca le VPN si cambia la configurazione di rete in uso.<br>
Ipotizzando che l'indirizzo IP della configurazione di rete alternativa sia <code>192.168.1.107</code> allora sarà sufficiente dare il seguente comando sul proprio PC gateway:
Ipotizzando che l'indirizzo IP della configurazione di rete alternativa sia <code>192.168.1.107</code> allora sarà sufficiente dare il seguente comando sul proprio PC gateway:
<pre># ip rule add from 192.168.1.107 table 1</pre>
<pre># ip rule add from 192.168.1.107 table 1</pre>
Riga 425: Riga 433:
         netmask 255.255.255.0
         netmask 255.255.255.0
         network 192.168.1.0
         network 192.168.1.0
         broadcast 192.168.0.255
         broadcast 192.168.1.255
         post-up /bin/ip route add 192.168.1.0/24 dev br0 src 192.168.1.172 table 1
         post-up /bin/ip route add 192.168.1.0/24 dev eth0 src 192.168.1.172 table 1
         post-up /bin/ip rule add from 192.168.1.107 table 1
         post-up /bin/ip rule add from 192.168.1.107 table 1
</pre>
===== Script ausiliario =====
Poiché è scontato che prima o poi si finisca per dimenticarsi di ritornare alla configurazione di rete standard una volta finito di usare il servizio di streaming è possibile organizzarsi nel seguente modo per ridurre al minimo tale evenienza:
# usare un browser dedicato diverso da quello solito per usufruire dei servizi di streaming;
# evitare di avviare direttamente il suddetto browser, ma usare uno script apposito che si occupi anche di cambiare automaticamente il profilo di rete da usare.
Lo script indicato qui sotto, estremamente semplice, sfrutta il browser "Vivaldi" e <code>nmcli</code> (lo strumento a riga di comando per gestire network manager) per cambiare/ripristinare le configurazioni di rete:
<pre>
#!/bin/bash
# È necessario aver già creato entrambe le reti in Network Manager.
# Si suppone che l'IP di "NOVPN" sia 192.168.1.107
nmcli con down CONVPN
nmcli con up NOVPN
vivaldi indirizzo_web
nmcli con down NOVPN
nmcli con up CONVPN
</pre>
</pre>


2 853

contributi

Menu di navigazione