Visualizzazione post con etichetta Zeroshell. Mostra tutti i post
Visualizzazione post con etichetta Zeroshell. Mostra tutti i post

venerdì 23 gennaio 2015

VPN Host to Lan con Zeroshell e VirtualBox


In questo post viene mostrato come configurare una VPN Host to Lan mediante l'uso di Zeroshell (il  tutto virtualizzato per comodita' su VirtualBox)

Lo scenario e' il seguente:
1) un server su rete interna con indirizzi 10.0.0.x su cui gira un server SSH. Lo scopo e' di collegarsi via VPN a questo server (per la cronaca e' una installazione minimale di Debian)

2) una macchina router cui gira Zeroshell, una distribuzione firewall/router che ha integrata un server VPN basato su OpenVPN. Questa macchina ha due schede di rete: una WAN con indirizzo 150.217.xx.xx ed una scheda interna che collega la LAN 10.0.0.x

3) una macchina esterna, in particolare una Ubuntu, che deve accedere come client alla VPN




Per la virtualizzazione un paio di indicazioni:
1) Tutte le macchine virtuali devono avere le schede di rete virtuali in modalita' Bridge
2) La macchina Zeroshell deve avere due interfacce di rete in quanto lavora come router. Facendo le prove su un portatile ho montato una scheda di rete USB

Questa e' la configurazione degli indirizzi di rete. L'interfaccia VPN99 e' virtuale ed e' ovviamente quella della VPN



Si aggiunge un utente (username/password) che dovra' accedere alla VPN


si imposta poi la VPN (modalita' Host to Lan, primo tab). Da notare che e' stata reimpostata la porta di ascolto di default di OpenVPN (spostata su 8080/TCP). Il pool di indirizzi della VPN e' del tipo 192.168.250.x ma non interessa molto perche' saranno trasparenti. Da ricordarsi di spuntare NAT

A questo punto e' bene salvarsi il file del certificato del server (sara' poi installato sul client). Si deve entrare su Trusted CAs ed esportare il file TrustedCas.pem


Per avvisare Zeroshell come instradare verso la rete interna il traffico VPN si deve cliccare il pulsante Net nella schermata precedente e settare il pool di indirizzi della rete interna


La parte Zeroshell e' terminata, passiamo a configurare il client. Su Ubuntu e' particolarmente immediato. Dal menu della configurazione delle interfacce di rete si puo' impostare anche un nuovo client VPN. In questo caso si deve selezionare OpenVPN come tipologia di connessione
Si seleziona l'indirizzo WAN di Zeroshell e si inseriscono le credenziali dell'utente ed il certificato del server (TrustedCa.pem)


Si va quindi in configurazione avanzate e si modifica la porta di ascolto (8080) e si spunta la compressione LZO e TAP (questo e' importante, altrimenti la connessione va in TUN e ci si collega alla VPN ma non si arriva sulla rete interna)



a connessione avvenuta deve comparire l'interfaccia virtuale


a questo punto si si puo' collegare da qualunque rete alla rete interna sul server ssh (sempre che la rete da cui ci si connette non filtra la porta 8080 ma cio' e' improbabile perche' sulla stessa porta girano spesso servizi web)






giovedì 19 dicembre 2013

Nexgate NSA 1041 con ZeroShell

Questa network appliance del 2005 giaceva inutilizzata perche' era stata da tempo sostituita da un modello Cisco come VPN



Era quindi tempo di ridarle una nuova vita. Una volta riaccesa il sistema non e' partito (forse uno dei motivi per cui all'epoca fu dismessa) con il boot di FreeBsd fermo ai primi passi
Una volta aperto il case la prima sorpresa



Non si tratta di hardware proprietario ma di una comune motherboard (seppur del formato piu' piccolo) che monta una normale memoria RAM  da 256 Mb, una CF da 128 Mb ed un Pentium III da 600 MHz. C'e' spazio per un disco fisso sulla sinistra


Dalla scheda tecnica della scheda madre si vede che questa configurazione puo' essere considerata una antesignana della Raspberry in quanto sono disponibili porte GPIO ed un canale I2C
Ho cercato su Internet ma sembra che oramai nessun software per network appliance riesca piu' ad entrare in una CF da 128Mb ed invece di comprarne una nuova da 1Giga ho preferito montare un vetusto HD da 40 Giga parcheggiato come fermaporta

Con l'hard disk e senza CF

Come software ho deciso di montare Zeroshell perche' e' una soluzione piu' moderna e piu' completa rispetto ad IPCop. L'installazione non e' proprio banalissima, piu' che altro per la mancanza del CDRom

Si parte scaricando ZeroShell-2.0.RC3-IDE-USB-SATA-Disk-2GB.img.gz per creare una chiavetta USB di avvio. Per copiare i file sulla chiave non si usa dd ma il seguente comando

gunzip -c  ZeroShell-2.0.RC3-IDE-USB-SATA-Disk-2GB.img.gz > /dev/sdb

finito si vede che nella chiavetta sono presenti tre partizioni. Si deve quindi copiare il file ZeroShell-2.0.RC3-IDE-USB-SATA-Disk-2GB.img.gz su una delle partizioni della chiavetta (per me la migliore era /dev/sdb3 dove e' presente solo lo swap e c'e' spazio per l'immagine)

si fa quindi partire l'appliance da USB (il Bios e' quello di un normale computer quindi non ci sono problemi).
Quando il sistema e' partito si preme il tasto S per entrare in shell
si monta la chiavetta in loop

mount /dev/sdb3 /mnt/loop1

ci si sposta in /mnt/loop1 e si digita il comando per copiare l'immagine sul disco fisso
gunzip -c  ZeroShell-2.0.RC3-IDE-USB-SATA-Disk-2GB.img.gz > /dev/sda

si smonta il tutto e si fa reboot

In linea di principio e' possibile usare questo sistema anche per farci girare Debian ma si precisa che l'appliance non ha il tasto on/off ma solo quello di reset sul retro e quindi sarebbe piuttosto scomodo come computer. Peraltro il sistema e' piuttosto rumoroso pur essendo una appliance a causa delle due ventole.

Ed adesso di nuovo dentro al rack a fare un nuovo lavoro



Debugger integrato ESP32S3

Aggiornamento In realta' il Jtag USB funziona anche sui moduli cinesi Il problema risiede  nell'ID USB della porta Jtag. Nel modulo...