GNU/Linux >> Linux Esercitazione >  >> Linux

OpenVPN da client a client

Soluzione 1:

Se client-to-client è abilitato , il server VPN inoltra internamente i pacchetti da client a client senza inviarli al livello IP dell'host (ovvero al kernel). Lo stack di rete dell'host non vede affatto quei pacchetti.

           .-------------------.
           | IP Layer          |
           '-------------------'


           .-------------------.
           | TUN device (tun0) |
           '-------------------'


           .-------------------.
           | OpenVPN server    |
           '-------------------'
             ^           |
          1  |           |  2   
             |           v
 .----------------.  .----------------.
 | Client a       |  | Client b       |
 '----------------'  '----------------'

Se client-to-client è disattivato , i pacchetti da un client a un altro client passano attraverso il livello IP dell'host (iptables, tabella di instradamento, ecc.) della macchina che ospita il server VPN:se l'inoltro IP è abilitato , l'host potrebbe inoltrare nuovamente il pacchetto (utilizzando la sua tabella di routing) all'interfaccia TUN e il demone VPN inoltrerà il pacchetto al client corretto all'interno del tunnel.

           .-------------------.
           | IP Layer          |  (4) routing, firewall, NAT, etc.
           '-------------------'      (iptables, nftables, conntrack, tc, etc.)
              ^          |
          3   |          |  5
              |          v
           .-------------------.
           | TUN device (tun0) |
           '-------------------'
             ^           |
          2  |           |  6  
             |           v
           .-------------------.
           | OpenVPN server    |
           '-------------------'
             ^           |
          1  |           |  7  
             |           v
 .----------------.  .----------------.
 | Client a       |  | Client b       |
 '----------------'  '----------------'

In questo caso (client-to-client disabilitato), puoi bloccare i pacchetti da client a client usando iptables:

 iptables -A FORWARD -i tun0 -o tun0 -j DROP

dove tun0 è la tua interfaccia VPN.

Soluzione 2:

Devi fare di più che commentare la direttiva come dice qui:

Rimuovere il commento da questa direttiva per consentire a diversi client di "vedersi" l'un l'altro. Per impostazione predefinita, i client vedranno solo il server. interfaccia.

Pertanto è possibile configurare criteri di indirizzi IP separati per ciascun client. Consulta la sezione Configurazione di regole e criteri di accesso specifici del client qui:https://openvpn.net/index.php/open-source/documentation/howto.html.e qui:https://www.sbarjatiya.com/notes_wiki/index.php/Configuring_separate_IP_and_firewall_rule_for_each_openvpn_client.

Soluzione 3:

Il prossimo paragrafo della pagina man per openvpn risponde a questa domanda, anche se non è necessariamente chiaro in prima lettura:

Poiché la modalità server OpenVPN gestisce più client tramite un'unica interfaccia tun o tap, è effettivamente un router. Il --client-to-client indica a OpenVPN di instradare internamente il traffico client-to-client anziché inviare tutto il traffico originato dal client all'interfaccia TUN/TAP.

Quando viene utilizzata questa opzione, ogni client "vedrà" gli altri client attualmente connessi. Altrimenti, ogni client vedrà solo il server. Non utilizzare questa opzione se desideri proteggere il traffico del tunnel utilizzando regole personalizzate per client.

Il client-to-client l'opzione cortocircuita le normali tabelle di instradamento sul server. La sua rimozione non impedisce ai client di utilizzare le tabelle di routing del server. Se quelle tabelle di instradamento e la configurazione del firewall del server consentono ai client di vedersi, allora saranno in grado di farlo.


Linux
  1. CLIENT OPENVPN Per Windows e Linux

  2. Proteggi OpenVPN con l'autenticazione a due fattori da WiKID su Centos 7

  3. Installa il server OpenVPN su Debian 10/11

  4. Installa e configura il client OpenVPN su CentOS 8/Ubuntu 18.04

  5. Bypass OpenVPN su alcune porte

Cliente ADSL

Client dialup PPP

Come installare il client OpenVPN su Debian 11 Bullseye

Come installare il server OpenVPN su AlmaLinux 8

Come connettersi a una VPN con OpenVPN

Come configurare il server e il client VPN Linux utilizzando OpenVPN