PI come router VPN per macchine locali


18

Vorrei abilitare un paio delle mie macchine per accedere a Internet tramite una connessione VPN. La mia idea è che il PI possa semplicemente comporre un collegamento e quindi instradare le richieste dalle altre macchine attraverso di esso.

Sto pensando che l'installazione di un router predefinito del dispositivo per l'IP del PI.

Mentre in qualche modo ho esperienza con la configurazione della riga di comando di una moltitudine di cose, potresti indicarmi indicazioni su quali pacchetti / servizi ho bisogno?

Riepilogo della configurazione:

  • PI che si connette a Internet direttamente tramite il router predefinito
  • PI crea una connessione VPN (OpenVPN) e ascolta la sua interfaccia locale per il traffico
  • L'IP ripristina la connessione in caso di errori
  • altri dispositivi di rete hanno un gateway predefinito impostato sull'IP del PI e tutto il loro traffico passa attraverso la VPN, a condizione che sia attivo (e nessuna connessione Internet se la VPN è inattiva).

Non ho bisogno di servizi NAT o DHCP (il DNS può anche passare attraverso la VPN).


qual e il punto? se usi il tuo Pi sulla tua rete locale per creare una connessione in uscita, perché non usi gli altri tuoi computer per creare direttamente una simile connessione in uscita, risparmiando il costo di Pi e il mal di testa dell'installazione e della configurazione del software? la configurazione VPN convenzionale è il computer sulla rete locale, che ascolta le connessioni in entrata e controlla le password, quindi consente al computer remoto di utilizzare direttamente la rete locale, non viceversa.
Lenik,

1
@lenik il punto è che ho una moltitudine di macchine che usano la stessa connessione VPN. Inoltre, è molto più semplice configurare una singola macchina piuttosto che continuare a modificare la configurazione di più macchine assicurandone la ricomposizione, ecc. E hai ragione: non è una configurazione standard, se lo fosse, probabilmente avrei cercato tutorial e non chiedevo
petr

1
Per non parlare del fatto che l'utilizzo di un altro dispositivo per eseguire il routing consente di garantire che TUTTO il traffico passa attraverso la VPN molto più semplice
petr

3
Alcuni dispositivi non sono inoltre in grado di connettersi alle VPN. Questi dispositivi includono molte console di gioco e altri dispositivi che non eseguono sistemi operativi standard che possono essere facilmente configurati per connettersi a una VPN.
Kibbee,

@lenik Questa configurazione è comune nelle apparecchiature di rete a livello aziendale. È integrato nei router a partire da circa $ 300 in su. L'OP sta cercando una soluzione per circa un decimo del prezzo ... come lo sono io.
Philip Couling,

Risposte:


15

Ho la tua stessa configurazione:

Cable modem -> Router (192.168.1.1) +-> Raspberry Pi (192.168.1.11)
                                    |-> iPad (DHCP)
                                    |-> PC (DHCP)
                                    `-> AppleTV (DHCP)

Innanzitutto, ho modificato le impostazioni di rete ( /etc/network/interfaces) su RPi in un indirizzo statico

iface eth0 inet static
address 192.168.1.11
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1

Successivamente, è necessario configurare OpenVPN su RPi:

sudo apt-get install openvpn

Successivamente, devi impostare il file di configurazione per la VPN /etc/openvpn/server.conf. Ho usato l'esempio fornito dal mio servizio VPN (Witopia) e cambio dev tuna dev tun0e ha aggiunto redirect-gatewayalla fine.

Passaggio successivo, modifica iptables per consentire NAT

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Per renderlo permanente, salvalo in questo modo

sudo bash
iptables-save > /etc/iptables.up.rules
nano /etc/network/if-pre-up.d/iptables

Aggiungi questo al nuovo file:

#!/bin/bash
/sbin/iptables-restore < /etc/iptables.up.rules

Salva e rendilo eseguibile con chmod +x /etc/network/if-pre-up.d/iptables. Ora è necessario abilitare l'inoltro IP modificando /etc/sysctl.confe decommentando la lineanet.ipv4.ip_forward = 1

Riavvia e l'RPi dovrebbe essere connesso alla tua VPN ed essere pronto a ricevere il traffico in entrata. Ho aggiunto una nuova opzione al mio servizio dhcp sul mio router (con OpenWrt) per specificare il gateway inviato al client. Ho aggiunto la linea list 'dhcp_option' '3,192.168.1.11'al file /etc/config/dhcpe riavviato il router. Il mio iPad, PC e AppleTV ora si collegano tramite RPi per accedere a URL esterni.

fonti:


1
Ho appena finito di configurare una configurazione simile lo scorso fine settimana. Ho anche dovuto aggiungere "net.ipv4.tcp_ecn = 0" al file /etc/sysctl.conf. Non sono sicuro di cosa faccia, ma il gateway non funzionerebbe correttamente senza di esso.
Kibbee,

Questo ha funzionato per me, con una modifica: la regola NAT dovrebbe essereiptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
Regan Walsh,


0

Provare

https://help.ubuntu.com/community/OpenVPN

Raspbian dovrebbe essere abbastanza vicino a Ubuntu perché l'installazione sia la stessa e ho appena verificato che il pacchetto OpenVPN sia disponibile nel repository Raspbian.

Tuttavia, tieni presente che la maggior parte delle istruzioni VPN ti spiegherà come creare un server per aprire la tua LAN ai client VPN su Internet anziché viceversa, quindi potresti dover sperimentare un po 'con le impostazioni di routing.


Grazie, quel po 'capisco un po' meglio - di cosa non sono sicuro è come fare in modo che il PI ascolti le connessioni e le inoltri attraverso la VPN?
petr

1
@petr Devi solo eseguire sysctl -w net.ipv4.ip_forward = 1 e fare in modo che le altre tue macchine utilizzino l'RPI come gateway predefinito e l'RPI si instraderà felicemente.
nn.

0

Non so se questo sia utile, ma sto usando VPN su Raspberry Pi da un provider VPN quando viaggio dagli Stati Uniti alla Cina , hanno uno script dd-wrt che ho installato e ha funzionato dalla prima volta. Quindi potresti essere tu stesso a salvarti un sacco di problemi se cerchi un provider con script dd-wrt già fatto. Se qualcuno è curioso della sceneggiatura, posso pubblicarla qui.



0

Ecco la mia configurazione che è molto simile alle tue necessità; l'unica cosa di cui hai bisogno, installare il client OpenVPN e fare alcune configurazioni su Raspbian. inserisci qui la descrizione dell'immagine

L'ho descritto nel mio blog; Configurazione del gateway VPN con Raspberry PI


Ciao e Benvenuto! In questo momento non penso che la domanda "potresti indicarmi indicazioni su quali pacchetti / servizi ho bisogno? Potresti indicarmi indicazioni su quali pacchetti / servizi ho bisogno?" è indirizzato nella risposta. Potresti per favore elaborare un po 'di più senza richiedere alle persone di seguire il link (che in realtà è solo la figura di nuovo)?
Ghanima

@Ghanima, grazie per il tuo commento. Ho cambiato la mia risposta.
afelaho,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.