Semplice VPN client-server con OpenVPN

Ricetta quick’n dirty per creare una VPN tra un client remoto ed un server, entrambi con sistema operativo Windows. Destinata a cuochi mediamente abili. Versione routed(*).

Ingredienti:

  • Un host che faccia da server, con IP privato statico (es: 192.168.1.2/24), collegato ad internet, acceso 24/7 e a cui il router inoltri almeno una porta TCP(**) (Es: TCP/11900). Windows 2000 o successivi, non necessariamente Server.
  • Un client con connessione ad internet con IP privato di classe diversa dal server (es: 192.168.254.0/24).
  • OpenVPN.

Esecuzione:

  • Generare una chiave simmetrica key.txt tramite l’apposita utility e copiarla nelle cartelle “config” di OpenVPN di entrambi gli host.
  • Scegliere una terza subnet diversa da entrambe le subnet degli host coinvolti. Es: 172.30.0.0/16.
  • Aggiungere sul default gateway (tipicamente il router) della rete del server una rotta statica che inoltri tutto il traffico destinato alla rete 172.30.0.0/16 verso l’IP privato del server (192.168.1.2).
  • Registrarsi su DynDNS e creare un hostname per il server (es: mioserver.dnsalias.net).
  • Installare sul server il client DynDNS (versione per 200x Server in fondo alla pagina) e configurarlo per usare l’hostname appena creato. Accertarsi che il relativo servizio parta automaticamente.
  • Installare OpenVPN su entrambi gli host, e inserire nelle cartelle “config” di OpenVPN i ripettivi file di configurazione, con estensione .ovpn.

File: client.ovpn
remote mioserver.dnsalias.net
dev tap
proto tcp-client
rport 11900
ifconfig 172.30.1.2 255.255.0.0
route 192.168.2.0 255.255.255.0 172.30.1.1
secret key.txt
verb 3

File: server.ovpn
dev tap
proto tcp-server
lport 11900
ifconfig 172.30.1.1 255.255.0.0
secret key.txt
verb 3

  • Sul server avviare il servizio “OpenVPN Server” e impostarne l’avvio automatico.
  • Sul client, collegato ad internet con una connessione internet diversa dal server,  eseguire “OpenVPN GUI” in modalità amministratore, cliccare col tasto destro sull’icona nella systray e scegliere “connect”.
  • Effettuare dei test di connettività. In caso di problemi, i log di OpenVPN sono molto esplicativi già a verb 3.

Guarnire con quanta più banda possibile e servire con due righe di istruzioni per l’utente. Continua a leggere

Router e UPnP

Universal Plug and Play, secondo Wikipedia, è un insieme di protocolli di rete che permette ai dispositivi che lo implementano di semplificare drasticamente la loro integrazione all’interno di una rete. Il nome è mutuato da Plug-and-play, una tecnologia che permette di collegare un dispositivo ad un computer e averlo immediatamente pronto all’uso. La similitudine si riferisce alla possibilità di alcuni dispositivi di collegarsi, autoconfigurarsi e annunciare i propri servizi alla rete senza necessità di configurazione preventiva. Per tutti i particolari più tecnici, vi rimando alla voce di Wikipedia che ho linkato qui sopra. Continua a leggere

C’è sempre qualcosa che ci si dimentica di fare.

Scenario: un firewall con due interfacce WAN collegate a due router ADSL e configurate in failover. Cade la linea principale e la rete perde connettività: cosa è successo?

Ad una prima indagine mi accorgo che tutti gli host accedono regolarmente ad internet via linea di backup ma non funziona la risoluzione dei nomi, quindi è praticamente tutto fermo. La rete è servita da un Windows 2003 server che, tra gli altri, ha i ruoli di DNS server, mail server e webmail server.

La causa della risoluzione  non funzionante è il server che, scopro, non ha connessione ad internet. Come è possibile che tutta la rete acceda ad internet tranne il server? Verificato che il firewall non abbia policy restrittive e spulciati i log relativi, mi concentro sulla sua tabella di NAT. Continua a leggere

JPerf, un frontend per Iperf

Iperf èjperf-2.0.2 uno strumento per misurare l’ampiezza di banda di cui avevo già accennato qui. Il sito originale nel frattempo è sparito ma si trovano parecchi tutorial, dei quali vi segnalo questo. Per fortuna il progetto non è stato del tutto abbandonato e sebbene il codice originale sia sempre lo stesso, Google Code ospita JPerf.

Si tratta di un frontend grafico pensato per semplificare l’utilizzo di Iperf e aggiungere dei grafici abbastanza gradevoli. Permette di salvare risultati e configurazione mentre per i grafici ci si deve arrangiare con uno screenshot, almeno al momento. Si basa su Java ed è quindi multipiattaforma. Continua a leggere

IBM AS/400 e default gateway

Quasi ogni volta che mi imbatto in un IBM AS/400 ho sempre lo stesso problema: il server è irraggiungibile dall’esterno della sua subnet. Anche se firewall, router, NAT, frizzi lazzi e mazzi sono perfettamente configurati, non si riesce ad accedere dall’esterno, fosse anche la subnet a fianco, la WLAN o la DMZ.

Ormai vado a colpo sicuro e chiamo il sistemista AS: so già che manca il default gateway nella configurazione di rete dell’AS che, in queste condizioni, non è in grado di indirizzare i pacchetti dove potranno essere adeguatamente ruotati instradati. Continua a leggere